Speculative memory prefetch
AssigneeGlobalfoundries Inc.
InventorsMichael K. Fertig, Patrick Conway, Kevin Michael Lepak, Cissy Xumin Yuan
Life of this patent
Estimating the term…
Abstract
A system and method for pre-fetching data from system memory. A multi-core processor accesses a cache hit predictor concurrently with sending a memory request to a cache subsystem. The predictor has two tables. The first table is indexed by a portion of a memory address and provides a hit prediction based on a first counter value. The second table is indexed by a core number and provides a hit prediction based on a second counter value. If neither table predicts a hit, a pre-fetch request is sent to memory. In response to detecting said hit prediction is incorrect, the pre-fetch is cancelled.
Claims20
A method comprising:
- issuing memory access requests to a cache subsystem;
- storing information corresponding to a memory block, said memory block comprising a first memory line previously stored in a cache subsystem;
- predicting whether or not a second memory line is in the cache subsystem;
- and
- issuing a pre-fetch request for the second memory line to the memory, in response to detecting said prediction is a miss prediction.
A computer system comprising:
- a processor;
- a cache subsystem coupled to the processor;
- a cache hit predictor;
- and
- a memory coupled to the processor;
- wherein the cache hit predictor is configured to:
- store information corresponding to a memory block, said memory block comprising a first memory line previously stored in the cache subsystem;
- and
- predict whether or not a second memory line is in the cache subsystem;
- wherein the processor is further configured to issue a pre-fetch request for the second memory line to the memory, in response to detecting said prediction is a miss prediction.
A cache hit predictor comprising:
- a first table comprising a first plurality of entries, wherein each of said entries is configured to store information corresponding to a memory block with a first memory line previously stored in a cache subsystem;
- a second table comprising a second plurality of entries;
- and
- a selector coupled to the first table and the second table, wherein the selector is configured to:
- provide a hit prediction responsive to a request for a second memory line, if either the first table or the second table provides a cache hit prediction;
- provide a miss prediction for the second memory line, if neither the first table nor the second table provides a cache hit prediction;
- and
- signal a pre-fetch request for the second memory line to memory, in response to detecting said prediction is a miss prediction.
Dependencies are inferred from the claim text.