Title :
Memory energy minimization by data compression: algorithms, architectures and implementation
Author :
Benini, Luca ; Bruni, Davide ; Macii, Alberto ; Macii, Enrico
Author_Institution :
Dipartamento di Elettronica, Informatica e Sistemistica, Univ. di Bologna, Italy
fDate :
3/1/2004 12:00:00 AM
Abstract :
Storing data in compressed form is becoming common practice in high-performance systems, where memory bandwidth constitutes a serious bottleneck to program execution speed. In this paper, we suggest hardware-assisted data compression as a tool for reducing energy consumption of processor-based systems. We propose a novel and efficient architecture for on-the-fly data compression and decompression whose field of operation is the cache-to-memory path. Uncompressed cache lines are compressed before they are written back to main memory, and decompressed when cache refills take place. We explore two classes of table-based compression schemes. The first, based on offline data profiling, is particularly suitable to embedded systems, where predictability of the data set is usually higher than in general-purpose systems. The second solution we introduce is adaptive, that is, it takes decisions on whether data words should be compressed according to the data statistics of the program being executed. We describe in details the architecture of the compression/decompression unit and we provide an insight about its implementation as a hardware (HW) block. We present experimental results concerning memory traffic and energy consumption in the cache-to-memory path of a core-based system running standard benchmark programs. The obtained energy savings range from 8%-39% when profile-driven compression is adopted, and from 7%-26% when the adaptive scheme is used. Performance improvements are also achieved as a by-product, showing the practical applicability of the proposed approach.
Keywords :
cache storage; data compression; low-power electronics; memory architecture; microprocessor chips; minimisation; benchmark programs; cache lines; cache refills; cache-to-memory path; compression/decompression unit; core based system; data statistics; embedded systems; energy consumption reduction; general purpose systems; hardware assisted data compression; hardware implementation; high performance systems; memory bandwidth; memory energy minimization; offline data profiling; on-the-fly data compression; on-the-fly data decompression; processor based systems; profile driven compression; program execution speed; table based compression; Analytical models; Associate members; Bandwidth; Data compression; Design optimization; Embedded system; Energy consumption; Hardware; Minimization methods; Statistics;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
DOI :
10.1109/TVLSI.2004.824304