SELECTIVE VICTIMIZATION IN A MULTI-LEVEL CACHE HIERARCHY
First Claim
1. A system comprising:
- a first cache, wherein the first cache is set associative with a plurality of sets; and
a second cache, wherein the second cache is at a lower level of a cache hierarchy than the first cache;
wherein the first cache is configured to;
maintain a counter for each set of the plurality of sets, wherein each counter tracks a number of accesses made to a corresponding set;
responsive to evicting a clean victim from a first set;
drop the clean victim responsive to detecting a first counter corresponding to the first set is less than a first threshold; and
write back the clean victim to the second cache responsive to detecting the first counter is greater than the first threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and apparatuses for implementing selective victimization to reduce power and utilized bandwidth in a multi-level cache hierarchy. Each set of an upper-level cache includes a counter that keeps track of the number of times the set was accessed. These counters are periodically decremented by another counter that tracks the total number of accesses to the cache. If a given set counter is below a certain threshold value, clean victims are dropped from this given set instead of being sent to a lower-level cache. Also, a separate counter is used to track the total number of outstanding requests for the cache as a proxy for bus-bandwidth in order to gauge the total amount of traffic in the system. The cache will implement selective victimization whenever there is a large amount of traffic in the system.
26 Citations
20 Claims
-
1. A system comprising:
-
a first cache, wherein the first cache is set associative with a plurality of sets; and a second cache, wherein the second cache is at a lower level of a cache hierarchy than the first cache; wherein the first cache is configured to; maintain a counter for each set of the plurality of sets, wherein each counter tracks a number of accesses made to a corresponding set; responsive to evicting a clean victim from a first set; drop the clean victim responsive to detecting a first counter corresponding to the first set is less than a first threshold; and write back the clean victim to the second cache responsive to detecting the first counter is greater than the first threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A cache comprising:
-
a cache memory arranged as a set associative memory having a plurality of sets and a plurality of ways; and a cache control unit coupled to the cache memory, wherein the cache control unit is configured to; maintain a first counter, wherein the first counter tracks a number of accesses made to a first set; responsive to evicting a first clean victim from the first set; drop the first clean victim responsive to detecting the first counter is less than a first threshold; and write back the first clean victim to a lower-level cache responsive to detecting the first counter is greater than the first threshold. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
determining whether a thrash condition is present for a first set of a set associative cache responsive to evicting a first clean victim from the first set; dropping the first clean victim responsive to determining the thrash condition is present for the first set; and writing back the first clean victim to a lower-level cache responsive to determining the thrash condition is not present for the first set. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification