Tracking and eliminating bad prefetches generated by a stride prefetcher
AssigneeAdvanced Micro Devices, Inc.
InventorsAlok Garg, Sharad Bade, John Kalamatianos
Life of this patent
Estimating the term…
Abstract
A method, an apparatus, and a non-transitory computer readable medium for tracking prefetches generated by a stride prefetcher are presented. Responsive to a prefetcher table entry for an address stream locking on a stride, prefetch suppression logic is updated and prefetches from the prefetcher table entry are suppressed when suppression is enabled for that prefetcher table entry. A stride is a difference between consecutive addresses in the address stream. A prefetch request is issued from the prefetcher table entry when suppression is not enabled for that prefetcher table entry.
Claims23
A method for tracking prefetches generated by a stride prefetcher, comprising:
- responsive to a prefetcher table entry for an address stream locking on a stride,
- updating prefetch suppression logic;
- and
- suppressing prefetches from the prefetcher table entry when suppression is enabled for the prefetcher table entry.
An apparatus for tracking prefetches generated by a stride prefetcher, comprising:
- a monitor unit configured to monitor an address stream to determine that a new address from the address stream is directed to a prefetcher table;
- a prefetcher in communication with the monitor unit, the prefetcher configured to:
- prefetch addresses from the address stream;
- and
- determine whether a prefetcher table entry for the address stream has locked on a stride;
- a suppression unit in communication with the monitor unit and the prefetcher, the suppression unit configured to suppress prefetches from the prefetcher table entry when suppression is enabled for the prefetcher table entry.
A non-transitory computer-readable storage medium storing a set of instructions for execution by a general purpose computer to track prefetches generated by a stride prefetcher, the set of instructions comprising:
- an updating code segment for updating prefetch suppression logic responsive to a prefetcher table entry for an address stream locking on a stride;
- and
- a suppressing code segment for suppressing prefetches from the prefetcher table entry when suppression is enabled for the prefetcher table entry.
Dependencies are inferred from the claim text.