Decoupling address generation from loads and stores to improve data access energy efficiency
- 19 June 2018
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 53 (6), 65-75
- https://doi.org/10.1145/3299710.3211340
Abstract
Level-one data cache (L1 DC) accesses impact energy usage as they frequently occur and use significantly more energy than register file accesses. A memory access instruction consists of an address generation operation calculating the location where the data item resides in memory and the data access operation that loads/stores a value from/to that location. We propose to decouple these two operations into separate machine instructions to reduce energy usage. By associating the data translation lookaside buffer (DTLB) access and level-one data cache (L1 DC) tag check with an address generation instruction, only a single data array in a set-associative L1 DC needs to be accessed during a load instruction when the result of the tag check is known at that point. In addition, many DTLB accesses and L1 DC tag checks are avoided by memoizing the DTLB way and L1 DC way with the register that holds the memory address to be dereferenced. Finally, we are able to often coalesce an ALU operation with a load or store data access using our technique to reduce the number of instructions executed.Keywords
Funding Information
- National Science Foundation (CCF-1533846)
This publication has 11 references indexed in Scilit:
- Practical Way Halting by Speculatively Accessing Halt TagsPublished by Research Publishing Services ,2016
- Improving Data Access Efficiency by Using Context-Aware Loads and StoresACM SIGPLAN Notices, 2015
- Tag check elisionPublished by Association for Computing Machinery (ACM) ,2014
- Reducing set-associative L1 data cache energy by early load data dependence detection (ELD3)Published by EDAA ,2014
- Speculative tag access for reduced energy dissipation in set-associative L1 data cachesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2013
- Fast Speculative Address Generation and Way Caching for Reducing L1 Data Cache Energy2006 International Conference on Computer Design, 2006
- A way-halting cache for low-energy high-performance systemsACM Transactions on Architecture and Code Optimization, 2005
- Way-predicting set-associative cache for high performance and low energy consumptionPublished by Association for Computing Machinery (ACM) ,1999
- Cache design trade-offs for power and performance optimizationPublished by Association for Computing Machinery (ACM) ,1995
- A portable global optimizer and linkerPublished by Association for Computing Machinery (ACM) ,1988