Issue No.12 - December (2008 vol.57)
Xiaogang Qiu , NVIDIA Corporation, Santa Clara
Michel Dubois , University of Southern California, Los Angeles
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2008.108
To support dynamic address translation in today's microprocessors, the first-level cache is accessed in parallel with a Translation Lookaside Buffer (TLB). However, this current approach faces mounting problems. This paper introduces new ideas to enable the use of virtual addresses in the cache hierarchy. The major idea is the replacement of the on-chip TLB by a Synonym Lookaside Buffer (SLB). The SLB translates synonyms into a primary virtual address, which is a unique identifier resolving all ambiguities due to synonyms in the memory system. We introduce various system configurations with SLBs and discuss all functional issues associated with them. An SLB is much more scalable than a regular TLB. It scales with memory data set sizes, physical memory sizes and number of cores in a multiprocessor. Moreover SLB entry flushes and shootdowns due to physical memory management are eliminated. We show performance data resulting from the simulation of several applications as diverse as scientific computing, database, and JAVA virtual machines. These evaluations target SLB miss rates and flushes as well as the impact of the SLB on cache miss rates. They show that small SLBs of 8-16 entries are sufficient to solve the synonym problem in virtual caches and that their performance overhead is negligible.
Pipeline processors, Cache memories, Virtual memory, Simulation, Primary memory, Shared memory
Xiaogang Qiu, Michel Dubois, "The Synonym Lookaside Buffer: A Solution to the Synonym Problem in Virtual Caches", IEEE Transactions on Computers, vol.57, no. 12, pp. 1585-1599, December 2008, doi:10.1109/TC.2008.108