| A dictionary construction technique for code compression systems with echo instructions |
| Full text |
Pdf
(472 KB)
|
| Source
|
ACM SIGPLAN Notices
archive
Volume 40 , Issue 7 (July 2005)
table of contents
Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
SESSION: Memory optimization
table of contents
Pages: 105 - 114
Year of Publication: 2005
ISSN:0362-1340
Also published in ...
|
|
Authors
|
|
Philip Brisk
|
University of California, Los Angeles, Los Angeles, CA
|
|
Jamie Macbeth
|
University of California, Los Angeles, Los Angeles, CA
|
|
Ani Nahapetian
|
University of California, Los Angeles, Los Angeles, CA
|
|
Majid Sarrafzadeh
|
University of California, Los Angeles, Los Angeles, CA
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 18, Citation Count: 1
|
|
|
ABSTRACT
Dictionary compression mechanisms identify redundant sequences of instructions that occur in a program. The sequences are extracted and copied to a dictionary. Each sequence is then replaced with a codeword that acts as an index into the dictionary, thereby enabling decompression of the program at runtime. The problem of optimally organizing a dictionary consisting solely of redundant sequences in order to maximize compression has long been known to be NP-Complete [23]. This paper addresses the problem of dictionary construction when redundant code fragments are represented as Data Flow Graphs (DFGs) rather than linear sequences of instructions. Since there are generally multiple legal schedules for a given DFG G, a compiler must determine a schedule for G so that other DFGs that are subgraphs of G can reference some substring of G's final code sequence. This reduces the size of the dictionary, and in turn, the size of the compressed program. Our experiments with 10 MediaBench [18] applications yielded reductions in dictionary size ranging from 21.14% to 29.76% compared to a naïve approach.
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, Ver. 2.0. White Paper, March 1995.
|
 |
2
|
|
| |
3
|
Brisk, P., Nahapetian, A., and Sarrafzadeh, M. Instruction Selection for Compilers that Target Architectures with Echo Instructions. Int. Workshop on Software and Compilers for Embedded Systems (SCOPES), 2004, 229--243.
|
| |
4
|
Chen, I., Bird, P., and Mudge, T. The Impact of Instruction Compression on I-cache Performance. Tech. Rpt. CSE-TR-330-97, EECS Dept., University of Michigan, 1997.
|
| |
5
|
Chen, W-K., Li, B., and Gupta, R. Code Compaction of Matching Single-Entry Multiple-Exit Regions. Static Analysis Symp., 2003, 401--417.
|
 |
6
|
|
 |
7
|
Marc L. Corliss , E. Christopher Lewis , Amir Roth, A DISE implementation of dynamic code decompression, Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, June 11-13, 2003, San Diego, California, USA
|
 |
8
|
Bjorn De Sutter , Bruno De Bus , Koen De Bosschere, Sifting out the mud: low level C++ code reuse, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
 |
9
|
|
| |
10
|
Fraser, C.W. An Instruction for Direct Interpretation of LZ77-compressed Programs. MSR-TR-2002-90, Microsoft Research, September, 2002.
|
 |
11
|
|
| |
12
|
|
 |
13
|
|
| |
14
|
|
| |
15
|
Kissel, K. D. MIPS16: High-density MIPS for the Embedded Market. White Paper. Silicon Graphics MIPS Group, 1997.
|
| |
16
|
Kunchithapadam, K., and Larus, J. R. Using Lightweight Procedures to Improve Instruction Cache Performance. Tech. Rept. 1390, CS Dept., University of Wisconsin-Madison, 1999.
|
 |
17
|
Jeremy Lau , Stefan Schoenmackers , Timothy Sherwood , Brad Calder, Reducing code size with echo instructions, Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems, October 30-November 01, 2003, San Jose, California, USA
[doi> 10.1145/951710.951724]
|
| |
18
|
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
|
| |
19
|
|
 |
20
|
|
 |
21
|
|
| |
22
|
Runeson, J. Code Compression through Procedural Abstraction before Register Allocation. Master's Thesis. Computing Science Department, Uppsalla University, Sweden, March, 2000.
|
| |
23
|
Storer, J. NP-Completeness Results Concerning Data Compression. Tech. Rpt. 234, Dept. Electrical Engineering and Computer Science, Princeton University, 1977.
|
 |
24
|
|
| |
25
|
|
CITED BY
|
|
A. Dreweke , M. Worlein , I. Fischer , D. Schell , Th. Meinl , M. Philippsen, Graph-Based Procedural Abstraction, Proceedings of the International Symposium on Code Generation and Optimization, p.259-270, March 11-14, 2007
|
|