0% found this document useful (0 votes)
137 views2 pages

6.823 Computer System Architecture: Victim Cache

Victim caching is a technique that can be used to reduce conflict misses in direct-mapped caches. It involves adding a small, fully-associative victim cache to hold cache lines recently evicted from the direct-mapped L1 cache. When there is a miss in the L1 cache, the victim cache is checked. If a hit occurs, the data is moved to the L1 cache and returned. Evicted lines from the L1 are stored in the victim cache. The victim cache uses a FIFO replacement policy. Data can only reside in either the L1 cache or victim cache, not both, keeping them exclusive.

Uploaded by

gdeepthi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
137 views2 pages

6.823 Computer System Architecture: Victim Cache

Victim caching is a technique that can be used to reduce conflict misses in direct-mapped caches. It involves adding a small, fully-associative victim cache to hold cache lines recently evicted from the direct-mapped L1 cache. When there is a miss in the L1 cache, the victim cache is checked. If a hit occurs, the data is moved to the L1 cache and returned. Evicted lines from the L1 are stored in the victim cache. The victim cache uses a FIFO replacement policy. Data can only reside in either the L1 cache or victim cache, not both, keeping them exclusive.

Uploaded by

gdeepthi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

6.

823 Fall 2009 Handout #7

6.823 Computer System Architecture


Victim Cache
http://csg.csail.mit.edu/6.823/

Although direct-mapped caches have an advantage of smaller access time than set-associative caches, they have more conflict misses due to their lack of associativity. In order to reduce these conflict misses, N. Jouppi proposed the victim caching where a small fully-associative back up cache, called victim cache, is added to a direct-mapped L1 cache to hold recently evicted cache lines. (Interested readers are referred to Section 3 of Jouppis original paper whose link is available on our website.) The following diagram shows how a victim cache can be added to a direct-mapped L1 data cache. Upon a data access, the following chain of events takes place:

CPU
RF L1 Data Cache

(or L2 cache)

Main Memory

Evicted data from L1 Hit data from VC (miss in L1)


Victim FA Cache 4 blocks

Evicted data From VC

Figure H7-A: A Victim Cache Organization 1. The L1 data cache is checked. If it holds the data requested, the data is returned. 2. If the data is not in the L1 cache, the victim cache is checked. If it holds the data requested, the data is moved into the L1 cache and sent back to the processor. The data evicted from the L1 cache is put in the victim cache, and put at the end of the FIFO replacement queue. 3. If neither of the caches holds the data, it is retrieved from memory, and put in the L1 cache. If the L1 cache needs to evict old data to make space for the new data, the old data is put in the victim cache and placed at the end of the FIFO replacement queue. Any data that needs to be evicted from the victim cache to make space is written back to memory or discarded, if unmodified. Note that the two caches are exclusive. That means that the same data cannot be stored in both L1 and victim caches at the same time.

6.823 Fall 2009 Handout #7

Reference
1. Norm Jouppi, Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers, in the Proceedings of the 17th International Symposium on Computer Architecture (ISCA), pages 364--373, Seattle, Washington, May 1990.

You might also like