K. Rajan, R. Govindarajan, and A. Bharadwaj
Due to the tight coupling between processor cycle time and L1 access time, L1 caches are typically small and have low associativities. As a consequence they incur a higher percentage of conflict misses than lower level caches. The extent of conflict depends on the memory access pattern exhibited by the program, and can vary from program to program. By using a fixed set of bits to index the cache, conventional mapping enforces the same rigid mapping from address to cache set for all programs. This results in a nonuniform distribution of addresses among cache sets causing unnecessary conflict misses. Such conflicts could be avoided if some flexibility in mapping is exercised. We propose a mechanism to dynamically adapt the placement function based on the memory access patterns exhibited by the program. Performance evaluation reveals that we reduce about 35% misses for conflict miss intensive benchmarks.
In Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007)
Publisher IEEE Computer Society
Copyright © 2007 IEEE. Reprinted from IEEE Computer Society. This material is posted here with permission of the IEEE. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to firstname.lastname@example.org. By choosing to view this document, you agree to all provisions of the copyright laws protecting it.