Title :
Improving data access efficiency by using a tagless access buffer (TAB)
Author :
Bardizbanyan, A. ; Gavin, P. ; Whalley, David ; Sjalander, M. ; Larsson-Edefors, Per ; McKee, S. ; Stenstrom, Per
Abstract :
The need for energy efficiency continues to grow for many classes of processors, including those for which performance remains vital. Data cache is crucial for good performance, but it also represents a significant portion of the processor´s energy expenditure. We describe the implementation and use of a tagless access buffer (TAB) that greatly improves data access energy efficiency while slightly improving performance. The compiler recognizes memory reference patterns within loops and allocates these references to a TAB. This combined hardware/software approach reduces energy usage by (1) replacing many level-one data cache (L1D) accesses with accesses to the smaller, more power-efficient TAB; (2) removing the need to perform tag checks or data translation lookaside buffer (DTLB) lookups for TAB accesses; and (3) reducing DTLB lookups when transferring data between the L1D and the TAB. Accesses to the TAB occur earlier in the pipeline, and data lines are prefetched from lower memory levels, which result in a small performance improvement. In addition, we can avoid many unnecessary block transfers between other memory hierarchy levels by characterizing how data in the TAB are used. With a combined size equal to that of a conventional 32-entry register file, a four-entry TAB eliminates 40% of L1D accesses and 42% of DTLB accesses, on average. This configuration reduces data-access related energy by 35% while simultane-ously decreasing execution time by 3%.
Keywords :
cache storage; energy conservation; hardware-software codesign; information retrieval; program compilers; DTLB lookup; L1D access; TAB; block transfers; compiler; data access energy efficiency; data translation lookaside buffer lookup; energy usage reduction; entry register file; hardware-software approach; level-one data cache access; memory hierarchy levels; memory reference patterns; processor energy expenditure; tag checks; tagless access buffer; Arrays; Educational institutions; Hardware; Indexes; Prefetching; Registers; Resource management; energy; memory hierarchy; strided access;
Conference_Titel :
Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
Conference_Location :
Shenzhen
Print_ISBN :
978-1-4673-5524-7
DOI :
10.1109/CGO.2013.6495003