skip to main content
10.1145/1593105.1593217acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

Improving code compression using clustered modalities

Published: 28 March 2008 Publication History

Abstract

Instruction pressure is the level of time, space, and power required to manage the instruction stream to support high-speed execution of modern multicore general processor and embedded controller based computing. L1 instruction cache and processor pin bandwidth are examples of direct resource costs imposed by the instruction access demand of a processor architecture. This paper explores the potential for reducing instruction pressure through a combination of variable length binary instruction set and Huffman encoding to reduce the average number of bits per instruction compared to a typical fixed-length fixed-code binary instruction set. The PRECISE (Processor Register Extensions for Collapsed Instruction Set Encoding) methodology addresses the data type, opcode, and register access components of the instruction stream. This paper focuses on opcode compression through a set of benchmark-driven experiments to identify clusters of near optimal ISA fits. The results demonstrate that a small number of distinct binary ISAs can provide reasonably good fits across a broad range of application benchmarks.

References

[1]
The rsim project. http://rsim.cs.uiuc.edu/rsim/.
[2]
Rsiml. http://www.ece.lsu.edu/koppel/work/proc.html.
[3]
Shade. http://cooltools.sunsource.net/shade/.
[4]
Sun c programming language compiler. http://developers.sun.com/sunstudio/.
[5]
K. D. Cooper and N. McIntosh. Enhanced code compression for embedded risc processors. In PLDI '99: Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, pages 139--149, New York, NY, USA, 1999. ACM.
[6]
I. Corporation. Intel Architecture Software Developers Manual Volume 2: Instruction Set Reference, 1997.
[7]
J. L. Henning. Spec cpu2000: Measuring cpu performance in the new millennium. COMPUTER, 2000.
[8]
D. Huffman. A method for the construction of minimum-redundancy codes. In Proceedings of the IRE, pages 1098--1101, 1952.
[9]
IBM. PowerPC Code Compression Utility User's Manual Version 3.0, 1998.
[10]
C. Lefurgy, P. Bird, I.-C. Chen, and T. Mudge. Improving code density using compression techniques. In MICRO 30: Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, pages 194--203, Washington, DC, USA, 1997. IEEE Computer Society.
[11]
S. Liao, S. Devadas, K. Keutzer, S. Tjiang, and A. Wang. Storage assignment to decrease code size. ACM Trans. Program. Lang. Syst., 18(3):235--253, 1996.
[12]
S. P. Lloyd. Least squares quantization in pcm. IEEE Transactions on Information Theory, 28(2):129--137, 1982.
[13]
J. B. MacQueen. Some methods for classification and analysis of multivariate observations. In Proceedings of 5th Berkeley Symposium on Mathematical Statistics and Probability, pages 281--297. Berkeley, University of California Press, 1967.
[14]
I. SPARC International. The SPARC Architecture Manual Version 9, 2000.
[15]
I. Sun Microsystems. SpixTools Users Manual. Palo Alto, CA, USA, 2004.
[16]
A. Wolfe and A. Chanin. Executing compressed programs on an embedded risc architecture. In MICRO 25: Proceedings of the 25th annual international symposium on Microarchitecture, pages 81--91, Los Alamitos, CA, USA, 1992. IEEE Computer Society Press.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACMSE '08: Proceedings of the 46th annual ACM Southeast Conference
March 2008
548 pages
ISBN:9781605581057
DOI:10.1145/1593105
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 March 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code compression
  2. data clustering
  3. instruction set architecture

Qualifiers

  • Research-article

Conference

ACM SE08
ACM SE08: ACM Southeast Regional Conference
March 28 - 29, 2008
Alabama, Auburn

Acceptance Rates

Overall Acceptance Rate 502 of 1,023 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media