| CPC G06F 9/30047 (2013.01) | 20 Claims |

|
1. An apparatus, comprising:
a processor circuit configured to execute an instruction stream, the processor circuit including:
an instruction cache;
a call stack having entries configured to store an indication of functions that are called within the instruction stream; and
a correlation prefetcher circuit configured to:
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;
select a trigger point based on the determined depth;
select a training signature based on the selected trigger point; and
in response to subsequently detecting the training signature, generate a prefetch request to prefetch instructions into the instruction cache.
|