ACM Home Page
Please provide us with feedback. Feedback
A dictionary construction technique for code compression systems with echo instructions
Full text PdfPdf (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
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 18,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1070891.1065926
What is a DOI?

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
8
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
 
18
 
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


Collaborative Colleagues:
Philip Brisk: colleagues
Jamie Macbeth: colleagues
Ani Nahapetian: colleagues
Majid Sarrafzadeh: colleagues