Affiliation:
1. Carnegie Mellon University
2. Intel Pittsburgh
Abstract
On-chip caches maintain multiple pieces of metadata about each cached block---e.g., dirty bit, coherence information, ECC. Traditionally, such metadata for each block is stored in the corresponding tag entry in the tag store. While this approach is simple to implement and scalable, it necessitates a full tag store lookup for any metadata query---resulting in high latency and energy consumption. We find that this approach is inefficient and inhibits several cache optimizations.
In this work, we propose a new way of organizing the dirty bit information that enables simpler and more efficient implementations of several optimizations. In our proposed approach, we remove the dirty bits from the tag store and organize it differently in a separate structure, which we call the Dirty-Block Index (DBI). The organization of DBI is simple: it consists of multiple entries, each corresponding to some row in DRAM. A bit vector in each entry tracks whether or not each block in the corresponding DRAM row is dirty
We demonstrate the benfits of DBI by using it to simultaneously and efficiently implement three optimizations proposed by prior work: 1) Aggressive DRAM-aware writeback, 2) Bypassing cache lookups, and 3) Heterogeneous ECC for clean/dirty blocks. DBI, with all three optimizations enabled, improves performance by 31% compared to the baseline (by 6% compared to the best previous mechanism) while reducing overall cache area cost by 8% compared to prior approaches.
Funder
Division of Computing and Communication Foundations
Division of Computer and Network Systems
Publisher
Association for Computing Machinery (ACM)
Reference58 articles.
1. CACTI 6.0. http://www.cs.utah.edu/~rajeev/cacti6/. CACTI 6.0. http://www.cs.utah.edu/~rajeev/cacti6/.
2. Micron Technologies Inc. DDR3 SDRAM system-power calculator. http://www.micron.com/products/support/power-calc/. Micron Technologies Inc. DDR3 SDRAM system-power calculator. http://www.micron.com/products/support/power-calc/.
3. STREAM Benchmark. http://www.streambench.org/. STREAM Benchmark. http://www.streambench.org/.
4. Intel 64 and IA-32 Architectures Software Developer's Manual volume 3A chapter 11 page 12. April 2012. Intel 64 and IA-32 Architectures Software Developer's Manual volume 3A chapter 11 page 12. April 2012.
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. SISA: Set-Centric Instruction Set Architecture for Graph Mining on Processing-in-Memory Systems;MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture;2021-10-17
2. Viyojit;ACM SIGARCH Computer Architecture News;2017-09-14
3. Viyojit;Proceedings of the 44th Annual International Symposium on Computer Architecture;2017-06-24