A post-compilation register reassignment technique for improving hamming distance code compression

Ros, Montserrat and Sutton, Peter (2005). A post-compilation register reassignment technique for improving hamming distance code compression. In: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems. CASES 2005: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, San Francisco, CA, U.S.A., (97-104). 24-27 September 2005. doi:10.1145/1086297.1086311

Attached Files (Some files may be inaccessible until you login with your UQ eSpace credentials)
Name Description MIMEType Size Downloads

Author Ros, Montserrat
Sutton, Peter
Title of paper A post-compilation register reassignment technique for improving hamming distance code compression
Conference name CASES 2005: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems
Conference location San Francisco, CA, U.S.A.
Conference dates 24-27 September 2005
Proceedings title Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
Place of Publication New York, NY, U.S.A.
Publisher ACM Press
Publication Year 2005
Sub-type Fully published paper
DOI 10.1145/1086297.1086311
ISBN 9781595931498
159593149X
Start page 97
End page 104
Total pages 8
Collection year 2005
Formatted Abstract/Summary
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.
Subjects E1
289999 Other Information, Computing and Communication Sciences
671201 Integrated circuits and devices
Keyword Code compression
Hamming distance
Register reassignment
Q-Index Code E1
Q-Index Status Provisional Code
Institutional Status UQ

 
Versions
Version Filter Type
Citation counts: Scopus Citation Count Cited 0 times in Scopus Article
Google Scholar Search Google Scholar
Created: Thu, 23 Aug 2007, 21:15:18 EST