This paper introduces a tagless cache architecture for large in-package DRAM caches. The conventional die-stacked DRAM cache has both a TLB and a cache tag array, which are responsible for virtual-to-physical and physical-to-cache address translation, respectively. We propose to align the granularity of caching with OS page size and take a unified approach to address translation and cache tag management. To this end, we introduce cache-map TLB (cTLB), which stores virtual-to-cache, instead of virtual-to-physical, address mappings. At a TLB miss, the TLB miss handler allocates the requested block into the cache if it is not cached yet, and updates both the page table and cTLB with the virtual-to-cache address mapping. Assuming the availability of large in-package DRAM caches, this ensures that an access to the memory region within the TLB reach always hits in the cache with low hit latency since a TLB access immediately returns the exact location of the requested block in the cache, hence saving a tag-checking operation. The remaining cache space is used as victim cache for memory pages that are recently evicted from cTLB. By completely eliminating data structures for cache tag management, from either on-die SRAM or in-package DRAM, the proposed DRAM cache achieves best scalability and hit latency, while maintaining high hit rate of a fully associative cache. Our evaluation with 3D Through-Silicon Via (TSV)-based in-package DRAM demonstrates that the proposed cache improves the IPC and energy efficiency by 30.9% and 39.5%, respectively, compared to the baseline with no DRAM cache. These numbers translate to 4.3% and 23.8% improvements over an impractical SRAM-tag cache requiring megabytes of on-die SRAM storage, due to low hit latency and zero energy waste for cache tags.
|Title of host publication||ISCA 2015 - 42nd Annual International Symposium on Computer Architecture, Conference Proceedings|
|Publisher||Institute of Electrical and Electronics Engineers Inc.|
|Number of pages||12|
|Publication status||Published - 2015 Jun 13|
|Event||42nd Annual International Symposium on Computer Architecture, ISCA 2015 - Portland, United States|
Duration: 2015 Jun 13 → 2015 Jun 17
|Name||Proceedings - International Symposium on Computer Architecture|
|Other||42nd Annual International Symposium on Computer Architecture, ISCA 2015|
|Period||15/6/13 → 15/6/17|
Bibliographical notePublisher Copyright:
© 2015 ACM.
All Science Journal Classification (ASJC) codes
- Hardware and Architecture