Architectural and compiler techniques for energy reduction in high-performance microprocessors
- 1 June 2000
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Very Large Scale Integration (VLSI) Systems
- Vol. 8 (3) , 317-326
- https://doi.org/10.1109/92.845897
Abstract
In this paper, we focus on low-power design techniques for high-performance processors at the architectural and compiler levels. We focus mainly on developing methods for reducing the energy dissipated in the on-chip caches. Energy dissipated in caches represents a substantial portion in the energy budget of today's processors. Extrapolating current trends, this portion is likely to increase in the near future, since the devices devoted to the caches occupy an increasingly larger percentage of the total area of the chip. We propose a method that uses an additional minicache located between the I-Cache and the central processing unit (CPU) core and buffers instructions that are nested within loops and are continuously otherwise fetched from the I-Cache. This mechanism is combined with code modifications, through the compiler, that greatly simplify the required hardware, eliminate unnecessary instruction fetching, and consequently reduce signal switching activity and the dissipated energy. We show that the additional cache, dubbed L-Cache, is much smaller and simpler than the I-Cache when the compiler assumes the role of allocating instructions to it. Through simulation, we show that for the SPECfp95 benchmarks, the I-Cache remains disabled most of the time, and the "cheaper" extra cache is used instead. We also propose different techniques that are better adapted to nonnumeric nonloop-intensive code.Keywords
This publication has 12 references indexed in Scilit:
- Assigning confidence to conditional branch predictionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Compilation techniques for low energy: an overviewPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- MINT: a front end for efficient simulation of shared-memory multiprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Pipeline gating: speculation control for energy reductionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The filter cache: an energy efficient memory structurePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Instruction buffering to reduce power in processors for signal processingIEEE Transactions on Very Large Scale Integration (VLSI) Systems, 1997
- Techniques for low energy softwarePublished by Association for Computing Machinery (ACM) ,1997
- Formalized methodology for data reuse exploration in hierarchical memory mappingsPublished by Association for Computing Machinery (ACM) ,1997
- Power analysis of embedded software: a first step towards software power minimizationIEEE Transactions on Very Large Scale Integration (VLSI) Systems, 1994
- A 32b microprocessor with on-chip 2Kbyte instruction cachePublished by Institute of Electrical and Electronics Engineers (IEEE) ,1987