A Non-Traditional Approach to Assisting Data Address Translation
Shyam Murthy, Gurindar S Sohi
TL;DR
The paper addresses data address translation bottlenecks caused by DTLB misses by introducing PC-Indexed Data Address Translation (PCAX), which uses the PC of a load to fetch PTEs from PCATs rather than from the data address. PCAX employs a two-level PCAT structure tightly coupled to the instruction path to provide translations ahead of data address calculation, augmenting but not replacing conventional DTLBs. Empirical results on ARM server traces show substantial reductions in effective CDTLB misses (roughly 2–3×) and decreases in STLB misses, with corresponding improvements in CPI and dynamic energy, while keeping storage overhead modest. The approach is designed as a no-ISA-change microarchitectural augmentation, with selective applicability to problem loads and periodic PCAT invalidation to manage freshness and activity.
Abstract
This paper proposes a novel way to assist conventional data address translation. The approach, PC-Indexed Data Address Translation (PCAX), uses the PC of a load instruction, and not a data virtual address, to obtain the page table entry (PTE) for the data accessed by a load instruction. PCAX is intended to be used for a small subset of the static loads in a program. We observe that: (i) a small subset of static loads is responsible for most of the misses in a data translation lookaside buffer (DTLB), and (ii) often a dynamic instance of a static load instruction accesses the same PTE as the last dynamic instance, and consider PCAX for this subset. With PCAX the effective miss rate of a conventional DTLB can be cut down by a factor of 2-3X in many cases, and even more in some cases. PCAX is also beneficial in reducing the number of secondary TLB (STLB) misses. Since the tables used for PCAX can be accessed alongside instruction fetch, they can be slow, yet frequently provide a valid PTE even before the data address calculation. This results in a performance improvement, and reduced data address translation energy, in most cases.
