Cache Replacement with Dynamic Exclusion
- 25 August 2005
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 191-200
- https://doi.org/10.1109/isca.1992.753316
Abstract
Most recent cache designs use direct-mapped caches to pro- vide the fast access time required by modern high speed CPU's. Unfortunately, direct-mapped caches have higher miss rates than set-associative caches, largely because direct mapped caches are more sensitive to conflicts between items needed frequently in the same phase of program execution. This paper presents a new technique for reducing direct-mapped cache misses caused by conflicts for a particular cache line. A small finite state machine recognizes the common instruction reference patterns where storing an instruction in the cache actually harms performance. Such instructions are dynamically excluded, that is they are passed directly through the cache without being stored. This reduces misses to the instructions that would have been replaced. The effectiveness of dynamic exclusion is dependent on the severity of cache conflicts and thus on the particular program and cache size of interest. However, across the SPEC benchmarks, simulation results show an average reduction in miss rate of 33% for a 32KB instruction cache with 16B lines. In addition, applying dynamic exclusion to one level of a cache hierarchy can improve the performance of the next level since instructions do not need to be stored on both levels. Finally, dynamic exclusion also improves combined instruction and data cache miss rates.Keywords
This publication has 11 references indexed in Scilit:
- Characteristics Of Performance-Optimal Multi-level Cache HierarchiesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Performance tradeoffs in cache designPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffersPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A data locality optimizing algorithmPublished by Association for Computing Machinery (ACM) ,1991
- Profile guided code positioningPublished by Association for Computing Machinery (ACM) ,1990
- Program optimization for instruction cachesPublished by Association for Computing Machinery (ACM) ,1989
- Achieving high instruction cache performance with an optimizing compilerPublished by Association for Computing Machinery (ACM) ,1989
- Instruction Cache Replacement Policies and OrganizationsIEEE Transactions on Computers, 1985
- Cache MemoriesACM Computing Surveys, 1982
- A study of replacement algorithms for a virtual-storage computerIBM Systems Journal, 1966