|
ABSTRACT
Memory is one of the most restricted resources in many modern embedded systems. Code compression can provide substantial savings in terms of size. In a compressed code CPU, a cache miss triggers the decompression of a main memory block, before it gets transferred to the cache. Because the code must be decompressible starting from any point (or at least at cache block boundaries), most file-oriented compression techniques cannot be used. We propose two algorithms to compress code in a space-efficient and simple to decompress way, one which is independent of the instruction set and another which depends on the instruction set. We perform experiments on two instruction sets, a typical RISC (MIPS) and a typical CISC (x86) and compare our results to existing file-oriented compression algorithms.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
| |
3
|
|
| |
4
|
D.Huffman. A method for the construction of minimum redundancy codes. In Proceedings of the IRE,volume Vol. 4D,pages pp 1098-1101, September 1952.
|
| |
5
|
|
| |
6
|
|
| |
7
|
A .Mayne and E. James. Information compression by factoring common strings. Computer Journal Vol.18(No2)-pp 157-160,1975
|
| |
8
|
A. Moffat. Word based text compression. Technical report, Department of Computer Science, University of Mcl bourne,Parkville,Victoria,Australia,1987.
|
| |
9
|
J. Rissanen and G.Landon Universal modeling and coding. ZEEE ,Transactions on Information Theory, Vol.27pp 12- 23, 1981.
|
| |
10
|
J. Storer. NP-completeness results concerning data compression. Technical Report No 234, Department of Electrical Engineering and Computer Science, Princeton University, Princeton, 1977.
|
| |
11
|
T. Welch. A technique for high performance data compression. IEEE Computer, pages pp 8-19, June 1984.
|
 |
12
|
|
 |
13
|
|
| |
14
|
J.Zie and A. Lempel. A universal algorithm for sequential data compression. IEEE on Information Theory, Vol.23(No3)pp. 337-343, May 1977.
|
CITED BY 27
|
|
Luca Benini , Alberto Macii , Enrico Macii , Massimo Poncino, Selective instruction compression for memory energy reduction in embedded systems, Proceedings of the 1999 international symposium on Low power electronics and design, p.206-211, August 16-17, 1999, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
Heidi Pan , Krste Asanović, Heads and tails: a variable-length instruction format supporting parallel fetch and decode, Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems, November 16-17, 2001, Atlanta, Georgia, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Guido Araujo , Paulo Centoducatte , Mario Cartes , Ricardo Pannain, Code compression based on operand factorization, Proceedings of the 31st annual ACM/IEEE international symposium on Microarchitecture, p.194-201, November 1998, Dallas, Texas, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rajiv A. Ravindran , Pracheeti D. Nagarkar , Ganesh S. Dasika , Eric D. Marsman , Robert M. Senger , Scott A. Mahlke , Richard B. Brown, Compiler Managed Dynamic Instruction Placement in a Low-Power Code Cache, Proceedings of the international symposium on Code generation and optimization, p.179-190, March 20-23, 2005
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
C.
Computer Systems Organization
C.3
SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS
Subjects:
Real-time and embedded systems
Additional Classification:
C.
Computer Systems Organization
C.0
GENERAL
Subjects:
Instruction set design (e.g., RISC, CISC, VLIW)
E.
Data
E.4
CODING AND INFORMATION THEORY
Subjects:
Data compaction and compression
G.
Mathematics of Computing
G.4
MATHEMATICAL SOFTWARE
Subjects:
Algorithm design and analysis
J.
Computer Applications
General Terms:
Algorithms,
Design,
Experimentation,
Measurement,
Performance,
Theory
Keywords:
MPEG4,
codec,
design automatian,
flip-flops,
level converters,
low power,
placement,
synthesis,
voltage scaling
|