Decoupled Dynamic Cache Segmentation
The Least Recently Used (LRU) replacement policy performs poorly in the Last-Level Cache (LLC) because temporal locality of memory accesses is filtered by first and second level caches. The authors propose a cache segmentation technique that dynamically adapts to cache access patterns by predicting the best number of not-yet-referenced and already-referenced blocks in the cache. This technique is independent from the LRU policy so it can work with less expensive replacement policies. It can automatically detect when to bypass blocks to the CPU with no extra overhead. In a 2MB LLC single-core processor with a memory intensive subset of SPEC CPU 2006 benchmarks, it outperforms LRU replacement on average by 5.2% with Not-Recently-Used (NRU) replacement and on average by 2.2% with random replacement.