| A DISE implementation of dynamic code decompression |
| Full text |
Pdf
(292 KB)
|
| Source
|
Language, Compiler and Tool Support for Embedded Systems
archive
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
table of contents
San Diego, California, USA
SESSION: Efficiency of compressed code
table of contents
Pages: 232 - 243
Year of Publication: 2003
ISBN:1-58113-647-1
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 0, Downloads (12 Months): 14, Citation Count: 11
|
|
|
ABSTRACT
Code compression coupled with dynamic decompression is an important technique for both embedded and general-purpose microprocessors. Post-fetch decompression, in which decompression is performed after the compressed instructions have been fetched, allows the instruction cache to store compressed code but requires a highly efficient decompression implementation. We propose implementing post-fetch decompression using dynamic instruction stream editing (DISE), a programmable decoder---similar in structure to those in many IA32 processors---that is used to add functionality to an application by injecting custom code snippets into its fetched instruction stream. A DISE implementation of post-fetch decompression naturally supports customized program-specific decompression dictionaries, enables parameterized decompression allowing similar instruction sequences to share dictionary entries, and uses no decompression-specific hardware. Cycle-level simulation of DISE decompression shows that it can reduce static program size by 35% and execution time by 20%. Parameterized decompression, a feature unique to DISE, accounts for 20% of the code size reduction by making more effective use of the dictionary and allowing PC-relative branches to be included in compressed sequences. DISE-based compression can reduce total energy consumption by 10% and the energy-delay product by as much as 20%.
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
|
Advanced RISC Machines Ltd. An Introduction to Thumb, Mar. 1995.
|
| |
2
|
|
| |
3
|
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
|
 |
4
|
|
| |
5
|
D. Burger and T. M. Austin. The SimpleScalar tool set, version 2.0. Technical Report 1342, University of Wisconsin--Madison Computer Sciences Department, 1997.
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
K. Diefendorf. K7 challenges Intel. Microprocessor Report, 12(14), Nov. 1998.
|
| |
10
|
P. Glaskowsky. Pentium 4 (partially) previewed. Microprocessor Report, 14(8), Aug. 2000.
|
| |
11
|
L. Gwenapp. P6 microcode can be patched. Microprocessor Report, 11(12), Sept. 1997.
|
| |
12
|
|
| |
13
|
Darko Kirovski , Johnson Kin , William H. Mangione-Smith, Procedure based program compression, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.204-213, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
| |
14
|
K. Kissell. MIPS16: High-Density MIPS for the Embedded Market. Silicon Graphics MIPS Group, 1997.
|
| |
15
|
Chunho Lee , Miodrag Potkonjak , William H. Mangione-Smith, MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.330-335, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
| |
16
|
Charles Lefurgy , Peter Bird , I-Cheng Chen , Trevor Mudge, Improving code density using compression techniques, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.194-203, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
| |
17
|
C. Lefurgy, E. Piccininni, and T. Mudge. Reducing code size with run-time decompression. In Proc. 6th International Symposium on High-Performance Computer Architecture, pages 218--227, Jan. 2000.
|
 |
18
|
Haris Lekatsas , Jörg Henkel , Wayne Wolf, Code compression for low power embedded system design, Proceedings of the 37th conference on Design automation, p.294-299, June 05-09, 2000, Los Angeles, California, United States
[doi> 10.1145/337292.337423]
|
 |
19
|
|
 |
20
|
|
| |
21
|
S. Wilton and N. Jouppi. An enhanced access and cycle time model for on-chip caches. Technical report, DEC Western Research Laboratory, 1994.
|
 |
22
|
|
| |
23
|
|
|