Prefetcher circuit with dynamic trigger point
Inventors
Miftakhutdinov, Rustam • Holman, Douglas C.
Assignees
Interested in licensing this patent?
MTEC can help explore whether this patent might be available for licensing for your application.
Abstract
A prefetcher circuit with dynamic, root function-based trigger point selection is disclosed. A processor includes an instruction cache and a call stack having entries that store indications of functions called in an instruction stream. A prefetcher is configured to, in response to detection of an instruction cache miss, determine, based on entries in the call stack, a depth of a deepest function of the sequence of functions that remains in the call stack over an interval preceding the instruction cache miss. The prefetcher is further configured to select a trigger point based on the determined depth, and select a training signature based on the selected trigger point. In response to subsequently detecting the training signature, the prefetcher is configured to generate a prefetch request to prefetch instructions into the instruction cache.
Core Innovation
A processor circuit configured to execute an instruction stream includes an instruction cache, a call stack having entries that store an indication of functions that are called within the instruction stream, and a correlation prefetcher circuit. When an instruction cache miss is detected at a particular point in the instruction stream, the correlation prefetcher circuit determines a depth of a deepest function, of a sequence of functions, that remains in the call stack over an interval preceding the instruction cache miss, with the depth measured based on a position of entries stored in the call stack.
A trigger point is selected based on the determined depth, and a training signature is selected based on the selected trigger point. After the trigger point and training signature are selected, the correlation prefetcher circuit subsequently detects the training signature and, in response, generates a prefetch request to prefetch instructions into the instruction cache.
The deepest function depth used for trigger point selection is supported by depths computed between defined instruction-stream points. The deepest function can be determined based on a first function depth between a baseline trigger point and a retire point, a second function depth between the retire point and a point of the instruction cache miss, and a third function depth at the baseline trigger point, with selection rules conditioned on relative depth relationships and on whether a baseline trigger point lies within the deepest function in the call stack over the interval before the instruction cache miss.
Claims Coverage
The partial content identifies three independent claims (apparatus, method, and system). Across these independent claims, the inventive core features are: using call-stack entries to determine a depth of a deepest remaining function over an interval preceding an instruction cache miss, selecting a trigger point based on that determined depth, selecting a corresponding training signature, and generating a prefetch request after subsequently detecting the training signature.
Call-stack depth determination preceding an instruction cache miss
In response to detection of an instruction cache miss at a particular point in the instruction stream, determine a depth of a deepest function, of a sequence of functions, that remains in the call stack over an interval preceding the instruction cache miss, the depth being measured based on a position of entries stored in the call stack.
Depth-based trigger point and training signature selection
Select a trigger point based on the determined depth and select a training signature based on the selected trigger point.
Training-signature detection to generate a prefetch request
In response to subsequently detecting the training signature, generate a prefetch request to prefetch instructions into the instruction cache.
Deepest function depth based on baseline trigger, retire, and cache-miss points
Determine the deepest function based on a first function depth between a baseline trigger point and a retire point, a second function depth between the retire point and a point of the instruction cache miss, and a third function depth at the baseline trigger point.
Deepest-function depth derived by function calls sequence correlation
Determine a depth of a deepest function, of a sequence of functions, that remains in the call stack over an interval preceding the instruction cache miss.
Across the independent claims, the claim coverage consistently centers on correlating an instruction-cache miss to a call-stack-derived deepest function depth over a preceding interval, then using that depth to select a trigger point and training signature, and finally generating a prefetch request when the training signature is detected.
Stated Advantages
Improved prefetch accuracy/coverage versus static baseline trigger selection.
Documented Applications
Processor device including a correlation prefetcher circuit that prefetches instructions into an instruction cache in response to detection of an instruction cache miss.
Interested in licensing this patent?