Callgraph signature prefetch
First Claim
Patent Images
1. An apparatus, comprising:
- a memory configured to store a table, wherein the table includes a plurality of entries; and
circuitry configured to;
receive a first instruction and a second instruction; and
in response to a determination that the first instruction initiates a transition between a first function or subroutine and a second function or subroutine, update a signature by performing a processing operation on previous call or return target addresses;
in response to a cache miss determination, generate a training signature using a previous signature that was valid at a time period before the cache miss;
store the training signature in a particular entry of the plurality of entries;
search the plurality of entries in response to a determination that the signature has been updated;
determine a candidate prefetch operation in response to a determination that the signature matches a given entry of the plurality of entries; and
initiate the candidate prefetch operation based on a predicted usefulness of the candidate prefetch operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for prefetching instructions is disclosed. A signature may be updated in response to determining that a received instruction initiates a transition in function. A plurality of entries stored in a memory may be searched in response to determining the signature has been updated and a prefetch operation may be initiated in response to determining that the signature matches a given entry of the plurality of entries.
21 Citations
20 Claims
-
1. An apparatus, comprising:
-
a memory configured to store a table, wherein the table includes a plurality of entries; and circuitry configured to; receive a first instruction and a second instruction; and in response to a determination that the first instruction initiates a transition between a first function or subroutine and a second function or subroutine, update a signature by performing a processing operation on previous call or return target addresses; in response to a cache miss determination, generate a training signature using a previous signature that was valid at a time period before the cache miss; store the training signature in a particular entry of the plurality of entries; search the plurality of entries in response to a determination that the signature has been updated; determine a candidate prefetch operation in response to a determination that the signature matches a given entry of the plurality of entries; and initiate the candidate prefetch operation based on a predicted usefulness of the candidate prefetch operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
receiving a first instruction and a second instruction; in response to determining that the first instruction initiates a transition between a first function or subroutine and a second function or subroutine, updating a signature by performing processing operation on previous call or return target addresses; in response to detecting a cache miss, generating a training signature using a previous signature that was valid at a time period before the cache miss; storing the training signature in a particular entry of a plurality of entries that are stored in a memory; searching the plurality of entries, in response to a determination that the signature has been updated; determining a candidate prefetch operation in response to determining that the signature matches a given entry of the plurality of entries; and initiating the candidate prefetch operation based on a predicted usefulness of the candidate prefetch operation. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
a memory; and a processor including an instruction cache, wherein the processor is configured to; fetch a first instruction and a second instruction from the instruction cache; in response to a determination that the first instruction initiates a transition between a first function or subroutine and second function or subroutine, update a signature by performing a processing operation on previous call or return target addresses; in response to a cache miss, generate a training signature using a previous signature valid at a time period before the cache miss; store the training signature in a particular entry of a plurality of entries that is stored in a table included in the memory; search the plurality of entries, in response to a determination that the signature has been updated; determine a candidate prefetch operation in response to a determination that the signature matches a given entry of the plurality of entries; and initiate the candidate prefetch operation based on a predicted usefulness of the candidate prefetch operation. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification