Microprocessor having a cache memory system using multi-level cache set prediction
First Claim
1. A cache memory system comprising:
- a plurality of entries;
a plurality of tags, each tag corresponding to one of said entries; and
a plurality of first set predictors each first set predictor corresponding to one of said entries each first set predictor identifying a set in a first cache memory where a predicted next entry to be accessed is predicted to be located; and
a plurality of second set predictors, each second set predictor corresponding to one of said entries, each second set predictor identifying a set in a second cache memory where a predicted next entry to be accessed is predicted to be located;
wherein each set in said second cache memory has a size less than or equal to the size of a page of memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A cache structure for a microprocessor which provides set-prediction information for a separate, second-level cache, and a method for improving cache accessing, are provided. In the event of a first-level cache miss, the second-level set-prediction information is used to select the set in an N-way off-chip set-associative cache. This allows a set-associative structure to be used in a second-level cache (on or off chip) without requiring a large number of traces and/or pins. Since set-prediction is used, the subsequent access time for a comparison to determine that the correct set was predicted is not in the critical timing path unless there is a mis-prediction or a miss in the second-level cache. Also, a cache memory can be partitioned into M sets, with M being chosen so that the set size is less than or equal to the page size, allowing a cache access before a TLB translation is done, further speeding the access.
90 Citations
16 Claims
-
1. A cache memory system comprising:
-
a plurality of entries; a plurality of tags, each tag corresponding to one of said entries; and a plurality of first set predictors each first set predictor corresponding to one of said entries each first set predictor identifying a set in a first cache memory where a predicted next entry to be accessed is predicted to be located; and a plurality of second set predictors, each second set predictor corresponding to one of said entries, each second set predictor identifying a set in a second cache memory where a predicted next entry to be accessed is predicted to be located; wherein each set in said second cache memory has a size less than or equal to the size of a page of memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
a system memory; a microprocessor including a level one cache memory; a level two cache memory coupled to said microprocessor; said level one cache memory including a plurality of entries, a plurality of tags, each tag corresponding to one of said entries, a plurality of first set predictors each first set predictor corresponding to one of said entries each first set predictor identifying a set in said level one cache memory where a predicted next entry to be accessed is predicted to be located; and a plurality of second set predictors, each second set predictor corresponding to one of said entries, each second set predictor identifying a set in said level two cache memory where a predicted next entry to be accessed is predicted to be located.
-
-
16. A method for improving the accessing of a cache memory system comprising the steps of:
-
storing a plurality of entries in a first cache memory; storing a plurality of tags, each tag corresponding to one of said entries in said first cache memory; storing a plurality of first set predictors in said first cache memory, each first set predictor corresponding to one of said entries each first set predictor identifying a set in said first cache memory where a predicted next entry to be accessed is predicted to be located; and storing a plurality of second set predictors in said first cache memory, each second set predictor corresponding to one of said entries, each second set predictor identifying a set in a second cache memory where a predicted next entry to be accessed is predicted to be located.
-
Specification