[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/996566.996635acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
Article

Multi-profile based code compression

Published: 07 June 2004 Publication History

Abstract

Code compression has been shown to be an effective technique to reduce code size in memory constrained embedded systems. It has also been used as a way to increase cache hit ratio, thus reducing power consumption and improving performance. This paper proposes an approach to mix static/dynamic instruction profiling in dictionary construction, so as to best exploit trade-offs in compression ratio/performance. Compressed instructions are stored as variable-size indices into fixed-size codewords, eliminating compressed code misalignments. Experimental results, using the Leon (SPARCv8) processor and a program mix from MiBench and Mediabench, show that our approach halves the number of cache accesses and power consumption while produces compression ratios as low as 56%.

References

[1]
Araujo, G., Centoducatte, P., Azevedo, R. and Pannain, R. Expression tree based algorithms for code compression on embedded RISC architectures. IEEE transactions on VLSI Systems 8,5 (Oct. 2000), 530--533.
[2]
Benini, L., Macci, A. and Nannarelli, A. Cached-code compression for energy minimization in embedded processor. In Proceedings of the International Symposium on Low Power Electronics and Design (Aug.2001), 322--327.
[3]
Debray, S. and Evans, W. Profile-guided code compression. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation (June 1998), 95--105.
[4]
Gaisler, G. Leon, 2003. see: www.gaisler.com Guthaus, M., Ringenberg, M., Ernst, D., Austin, T., Mudge, T. and Brown, R. MiBench: a free, commercially representative embedded benchmark suite. In Proceedings of the IEEE 4th Annual Workshop on Workload Characterization (Dec. 2001), 3--14.
[5]
Hennessy, J. and Patterson, D. Computer architecture: a quantitative approach, 3rd ed. Morgan Kaufmann Publ. 2002.
[6]
IBM, CodePack: PowerPC code compression utility user's manual. V3. IBM Corporation, 1998.
[7]
Lee, C., Potkonjak, M. and Mangione-Smith, W. MediaBench: a tool for evaluating and synthesizing multimedia communication system. In Proceedings of the Int'l Symp. on Microarchitecture (Dec. 1997), 330--337.
[8]
Lefurgy, C., Bird, P., Chen, I-C. and Mudge, T. Improving code density using compression technique. In Proc. of the Intn'l Symp. on Microarchitecture (Dec. 1997), 194--203.
[9]
Lekatsas, H., Henkel, J. and Jakkula, V. Design of one-cycle decompression hardware for performance increase in embedded systems. In Proceedings of the Design Automation Conference (June 2002), 34--39.
[10]
Lekatsas, H. and Wolf, W. SAMC: a code compression algorithm for embedded systems. IEEE transactions on CAD 18,12 (Dec. 1999), 1689--1701.
[11]
Seal, D. ARM Architecture Reference Manual, 2nd ed. Adison-Wesley, Reading/MA, 2000.
[12]
Wanderley Netto, E., Azevedo, R., Centoducatte, P. and Araujo, G. Mixed static/dynamic profiling for dictionary based code compression. In Proceedings of the International Symposium on System-on-Chip (Nov. 2003), 159--163.
[13]
Wilton, S. and Jouppi, N. CACTI: An enhanced cache access and cycle time model. IEEE J. of Solid-State Circuits 35,5 (May 1996), 677--688.
[14]
Wolfe, A. and Chanin, A. Executing compressed programs on an embedded RISC architecture. In Proceedings of the Int'l Symp. on Microarchitecture (Dec. 1992), 81--91.

Cited By

View all
  • (2019)Code Compression for Embedded SystemsEmbedded, Cyber-Physical, and IoT Systems10.1007/978-3-030-16949-7_6(115-147)Online publication date: 29-Jun-2019
  • (2012)Bitmask-based code compression methods for balancing power consumption and code size for hard real-time embedded systemsMicroprocessors & Microsystems10.1016/j.micpro.2011.12.00836:3(267-279)Online publication date: 1-May-2012
  • (2011)An approach for code compression in run time for embedded systemsProceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I10.5555/2075416.2075449(349-359)Online publication date: 24-Oct-2011
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
DAC '04: Proceedings of the 41st annual Design Automation Conference
June 2004
1002 pages
ISBN:1581138288
DOI:10.1145/996566
  • General Chair:
  • Sharad Malik,
  • Program Chairs:
  • Limor Fix,
  • Andrew B. Kahng
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 June 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code compression
  2. code density
  3. compression

Qualifiers

  • Article

Conference

DAC04
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,770 of 5,499 submissions, 32%

Upcoming Conference

DAC '25
62nd ACM/IEEE Design Automation Conference
June 22 - 26, 2025
San Francisco , CA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Code Compression for Embedded SystemsEmbedded, Cyber-Physical, and IoT Systems10.1007/978-3-030-16949-7_6(115-147)Online publication date: 29-Jun-2019
  • (2012)Bitmask-based code compression methods for balancing power consumption and code size for hard real-time embedded systemsMicroprocessors & Microsystems10.1016/j.micpro.2011.12.00836:3(267-279)Online publication date: 1-May-2012
  • (2011)An approach for code compression in run time for embedded systemsProceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I10.5555/2075416.2075449(349-359)Online publication date: 24-Oct-2011
  • (2011)A power-aware code-compression design for RISC/VLIW architectureJournal of Zhejiang University SCIENCE C10.1631/jzus.C100032112:8(629-637)Online publication date: 2-Aug-2011
  • (2011)An Approach for Code Compression in Run Time for Embedded Systems – A Preliminary ResultsAlgorithms and Architectures for Parallel Processing10.1007/978-3-642-24650-0_30(349-359)Online publication date: 2011
  • (2006)Adaptive and flexible dictionary code compression for embedded applicationsProceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems10.1145/1176760.1176776(113-124)Online publication date: 22-Oct-2006
  • (2005)Design of a decompressor engine on a SPARC processorProceedings of the 18th annual symposium on Integrated circuits and system design10.1145/1081081.1081113(110-114)Online publication date: 4-Sep-2005

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media