ACM Home Page
Please provide us with feedback. Feedback
A post-compilation register reassignment technique for improving hamming distance code compression
Full text PdfPdf (193 KB)
Source International Conference on Compilers, Architecture and Synthesis for Embedded Systems archive
Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems table of contents
San Francisco, California, USA
SESSION: Memories table of contents
Pages: 97 - 104  
Year of Publication: 2005
ISBN:1-59593-149-X
Authors
Montserrat Ros  The University of New England, Armidale, Australia
Peter Sutton  The University of Queensland, Brisbane, Australia
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 50,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1086297.1086311
What is a DOI?

ABSTRACT

Code compression is a field where compression ratios between compiler-generated code and subsequent compressed code are highly dependent on decisions made at compile time. Most optimizations employed by compilers tend to focus on parameters such as program performance, minimizing resource dependencies and sometimes the option of reducing code size.This paper describes a post-compilation technique for the greedy reassignment of general purpose scratch registers to improve Hamming distance based code compression. The code translation renumbers registers based on the frequency of registers used by isomorphic instructions and employs a Gray coding scheme to reduce Hamming distances between similar instructions.Register reassignment has been successfully implemented in areas where the compiler optimizations do not include a particular metric, for example, power savings. Pro-gram values can be reassigned register numbers that reduce overall power consumption of the address bus and register file decoder, at no cost to code size or performance.The application of the register reassignment technique in this paper reduced the number of dictionary vectors required by a program on average by 9.74%. Code compression ratios of register-reassigned binaries were consistently around 3-4% (of original program size) lower than code compression applied to original binaries, with the highest such reduction at nearly 7%. General purpose register reassignment is a technique that allows for gains in compression efficiency with no penalty in hardware. Other techniques that could be trialed include commutative register switching, dead register detection and assignment and complete register re-allocation.


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
"Mediabench Benchmarks", http://cares.icsl.ucla.edu/MediaBench/
 
2
"SPEC CPU2000 Benchmarks", http://www.spec.org/cpu2000/
 
3
Atmel-Corporation, "AT572D740 Summary (Datasheet)", http://www.atmel.com/dyn/resources/prod_documents/7001s.pdf
 
4
5
6
 
7
IBM, CodePack™ PowerPC Code Compression Utility User's Manual Version 4.1: IBM, 1998.
 
8
N. Ishiura and M. Yamaguchi, "Instruction Code Compression for Application Specific VLIW Processors BAsed on Automatic Field Partitioning," 1997.
 
9
 
10
 
11
C. Lefurgy and T. Mudge, "Code Compression for DSP", Compiler and Architecture Support for Embedded Computing Systems, George Washington University, Washington DC, 1998.
 
12
C. Lefurgy, E. Piccininni, and T. Mudge, "Reducing code size with run-time decompression," in Proceedings Sixth International Symposium on High Performance Computer Architecture. HPCA 6 Cat. No.PR00550. 1999: IEEE Comput. Soc, Los Alamitos, CA, USA, 1999, pp. 218--28.
 
13
H. A. Lekatsas, "Code compression for embedded systems," Princeton University, 2000, pp. 171.
14
 
15
 
16
S. J. Nam, In Cheol Park, and Chong Min Kyung, "Improving dictionary-based code compression in VLIW architectures," IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, vol. E82-A, pp. 2318--24, 1999.
 
17
 
18
19
20
 
21
Texas-Instruments, "TMS320 DSP Algorithm Standard Rules and Guidelines", http://focus.ti.com/lit/ug/spru352e/spru352e.pdf
22
 
23
24
25


Collaborative Colleagues:
Montserrat Ros: colleagues
Peter Sutton: colleagues