skip to main content
10.1145/1176760.1176776acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Adaptive and flexible dictionary code compression for embedded applications

Published:22 October 2006Publication History

ABSTRACT

Dictionary code compression is a technique where long instructions in the memory are replaced with shorter code words used as index in a table to look up the original instructions. We present a new view of dictionary code compression for moderately high-performance processors for embedded applications. Previous work with dictionary code compression has shown decent performance and energy savings results which we verify with our own measurement that are more thorough than previously published. We also augment previous work with a more thorough analysis on the effects of cache and line size changes. In addition, we introduce the concept of aggregated profiling to allow for two or more programs to share the same dictionary contents. Finally, we also introduce dynamic dictionaries where the dictionary contents is considered to be part of the context of a process and show that the performance overhead of reloading the dictionary contents on a context switch is negligible while on the same time we can save considerable energy with a more specialized dictionary contents.

References

  1. G. Albera and R. I. Bahar, Power and Performance Tradeoffs using Various Caching Strategies, in Proceedings of the International Symposium on Low Power Electronics and Design, Monterey, CA, August 1998, pp. 64--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. L. Benini, F. Menichelli, and M Olivieri, A class of code compression schemes for reducing power cosumption in embedded microprocessor systems, IEEE Transactions on Computers, Volume 53, Issue 4, April 2004 Page(s):467--482 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Berg and E. Hagersten, Fast Data-Locality Profiling of Native Execution, in Proceedings of ACM SIGMETRICS'05, Banff, Canada, June 2005, pp. 169--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Brooks, V. Tiwari V., and M. Martonosi, Wattch: A Framework for Architectural-Level Power Analysis and Optimizations, in Proceedings of the 27th International Symposium on Computer Architecture, ISCA'00, June 2000, pp. 83--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Brorsson and M. Collin, A Microarchitecture for Profile-Based Code Compression using Code Word Dictionaries, Technical report, Dept. of Electronic, Computer and Software systems, Royal Institute of Technology, May 2006. Submitted for publication.Google ScholarGoogle Scholar
  6. D. Burger and T. M. Austin, The SimpleScalar Tool Set, Version 2. 0, Computer Architecture News, June 1997, pp. 13--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Collin and M. Brorsson. "Low Power Instruction Fetch using Profiled Variable Length Instructions", in Proceedings of the IEEE International SoC Conference, Sept. 17-20, Portland, Oregon, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  8. R. Fromm et al., The Energy Efficiency of IRAM Architectures, in Proceedings of the 24th Annual International Symposium on Computer Architecture, ISCA'97, Denver, CO, 2-4 June 1997, pp. 327--337. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. R. Guthaus, J. S. Ringenberg, D Ernst, T. Austin, T. Mudge, and R. Brown, MiBench: A free, commercially representative embedded benchmark suite IEEE 4th Annual Workshop on Workload Characterization, Austin, TX, December 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. D. Kissell. MIPS16: High-density MIPS for the Embedded Market, in Proceedings of Real Time Systems'97 (RTS97), 1997.Google ScholarGoogle Scholar
  11. C. Lee, et al., MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communication Systems, in Proceedings of the 30th International Symposium on Microarchitecture, Dec 2997, pp. 330--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Lefurgy, P. Bird, I-C. Chen, and T. Mudge, Improving Code Density Using Compression Techniques, in Proceedings of the 30th Annual International Symposium on Microarchitecture, MICRO'30, December 1997, pp. 194--203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Lekatsas, J. Henkel, and V. Jakkula, Design of an One-cycle Deompression Hardware for Performance Increase in Embessded Systems, in Proceedings of the Design Automation Conference DAC2002 (June 2002), pp. 34--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. H. Lekatsas, J. Henkel, and W. Wolf, Code Compression for Embedded System Design, in Proceedings of the 37th Design Automation Conference, June 2000, pp. 516--521. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. W. Netto, R. Azevedo, P. Centoducatte, and G Araujo, Multi-Profile Based Code Compression in Proceedings of the 41st Design Automation Conference, June 7-11, 2004 Page(s):244--249. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Phelan, Improving ARM Code Density and Performance, ARM Ltd white paper, June 2003.Google ScholarGoogle Scholar
  17. Sleeba B., Collin M., and Brorsson M. An ASIC implementation and evaluation of a profiled low-energy instruction set architecture extension. Technical report, KTH Microelectronics and Information Technology, Oct 2003. http://web. it. kth. se/~matsbror/papers/sleeba_variable_asic. pdfGoogle ScholarGoogle Scholar
  18. C. L. Su, C. Y. Tsui, and A. M. Despain, Saving power in the control path of embedded processors, IEEE Design Test Comput., vol. 11, no. 4, pp. 24--30, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. L. Turley, Thumb Squeezes ARM code size, Microprocessor Report, 9(4), pp. 1--5, 27 March 1995.Google ScholarGoogle Scholar
  20. N. Vijaykrishnan et al., Energy-driven Integrated Hardware-Software Optimizations using SimplePower, in Proceedings of the 27th Annual International Symposium on Computer Architecture, ISCA'00, June 2000, pp. 95--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Wolfe and A. Chanin, "Executing Compressed Programs on an Embedded RISC Architecture", in Proceedings of MICRO'25, December 1992, pp. 81--91. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Adaptive and flexible dictionary code compression for embedded applications

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      CASES '06: Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems
      October 2006
      448 pages
      ISBN:1595935436
      DOI:10.1145/1176760

      Copyright © 2006 ACM

      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: 22 October 2006

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate52of230submissions,23%

      Upcoming Conference

      ESWEEK '24
      Twentieth Embedded Systems Week
      September 29 - October 4, 2024
      Raleigh , NC , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader