ABSTRACT
The extensive usage of embedded systems involves running complex applications that require tightly limited resources such as memory and storage. One efficient way to satisfy the resource requirements is to reduce the code size through code compression. Our work describes a software-based code compression scheme that reduces the storage space of a program, which in turn induces a reduction of access time to off-chip memory in SoC embedded architectures. To select those sections of code that are most advantageous for compression, our scheme utilizes profiling information to evaluate and trade off storage space reduction for future run-time overhead. During run-time, the compressed parts are decompressed as necessary into a run-time buffer for execution. Experimental results on the SPEC CPU2000 and MediaBench suites show reduction in code size averaging 18.5%, along with reasonable memory consumption overhead averaging 3.8%, and a reasonable run-time overhead averaging 7.8%.
- T. Bell, J. Cleary and I. Witten. Text compression. Prentice Hall, 1990. Google ScholarDigital Library
- M. Benes, S. M. Nowick and A. Wolfe. A Fast Asynchronous Huffman Decoder for Compressed-Code Embedded Processors. In Proceedings of the 4th International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC '98), March 1998, pp. 43--57. Google ScholarDigital Library
- L. Benini, A. Macii and M. Poncino. Energy-Aware Design of Embedded Memories: A Survey of Technologies, Architectures, and Optimization Techniques. ACM Transactions on Embedded Computing Systems (TECS), Volume 2, Issue 1 (February 2003), pp. 5--32. Google ScholarDigital Library
- S. Debray and W. Evans. Profile-Guided Code Compression. In Proceedings of the conference on Programming Language Design and Implementation (PLDI '02), June 2002, pp. 95--105. Google ScholarDigital Library
- M. Game and A. Booker. "CodePack: Code Compression for PowerPC Processors". MicroNews 5(1), IBM, 1999.Google Scholar
- D. Kirovski, J. Kin and W. H. Mangion-Smith. Procedure Based Program Compression. In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO '97), December 1997, pp. 204--217. Google ScholarDigital Library
- M. Kozuch and A. Wolfe. Compression of Embedded Systems Programs. In Proceedings of the IEEE International Conference on Computer Design: VLSI in Computer & Processors (ICCD '94), October 1994, pp. 270--277. Google ScholarDigital Library
- C. Lefurgy, E. Piccininni and T. Mudge. Reducing Code Size with Run-time Decompression. In Proceedings of the 6th International Symposium on High Performance Computer Architecture (HPCA 2000), January 2000, pp. 218.Google Scholar
- 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 '97), December 1997, pp. 194--203. Google ScholarDigital Library
- H. Lekatas and W. Wolf. Code Compression for embedded Systems. In Proceedings of the 35th Conference on Design Automation (DAC 1998), June 1998, pp. 516--521. Google ScholarDigital Library
- H. Lekatas and W. Wolf. Random Access Decompression using Binary Arithmetic Coding. In Proceedings of IEEE Data Compression Conference (DCC '99), March 1999, pp. 306--315. Google ScholarDigital Library
- S. Liao, S. Devadas and K. Keutzer. Code Density Optimization for Embedded DSP Processors Using Data Compression Techniques. In Proceedings of the 16th Conference on Advanced Research in VLSI (ARVLSI'95), March 1995, pp. 272--285. Google ScholarDigital Library
- W. Lyons. Meeting the Embedded Design Needs of Automotive Applications. In Proceedings of the conference on Design, Automation and Test in Europe (DATE'05), March 2005, pp. 142--147. Google ScholarDigital Library
- MediaBench. http://cares.icsl.ucla.edu/mediabench.Google Scholar
- I. Nahshon and D. Bernstein. FDPR - A Post-Pass Object Code Optimization Tool. In Proceedings of the Poster Session of the 6th International Conference on Compiler Construction (CC'96), April 1996, pp. 97--104.Google Scholar
- M. Nelson. DataCompression.info. http://datacompression.info/.Google Scholar
- S. Shogan and B. R. Childers. Compact Binaries with Code Compression in a Software Dynamic Translator. In Proceedings of the conference on Design, Automation and Test in Europe (DATE'04), February 2004, pp. 1052--1057. Google ScholarDigital Library
- SPEC CPU2000. http://www.spec.org/cpu2000/.Google Scholar
- M. Timmermans. BICOM BIjective COMpressor. http://www3.sympatico.ca/mt0000/bicom/.Google Scholar
- R. N. Williams. An Extremely Fast Ziv-Lempel Data Compression Algorithm. In Proceedings of the IEEE Data Compression Conference (DCC 1991), April 1991, pp. 362--371.Google ScholarCross Ref
- A. Wolfe and A. Chanin. Executing Compressed Programs on an Embedded RISC Architecture. In Proceedings of the 25th Annual International Symposium on Microarchitecture, December 1992, pp. 81--91. Google ScholarDigital Library
- Y. Xie, W. Wolf and H. Lekatsas. Profile-Driven Selective Code Compression. In Proceedings of the conference on Design, Automation and Test in Europe (DATE'03), March 2003. Google ScholarDigital Library
- Y. Yoshida, B.-Y. Song, H. Okuhata, T. Onoye and I. Shirakawa. An Object Code Compression Approach to Embedded Processors. 1997 International Symposium on Low-Power Electronics and Design (ISLPED'97), pp. 265--268. Google ScholarDigital Library
Index Terms
- Profile-driven compression scheme for embedded systems
Recommendations
Selective Code Compression Scheme for Embedded Systems
Transactions on High-Performance Embedded Architectures and Compilers IThe extensive usage of embedded systems involves running complex applications that require tightly limited resources such as memory and storage. One efficient way to satisfy the resource requirements is to reduce the code size through code compression. ...
Profile-guided code compression
As computers are increasingly used in contexts where the amount of available memory is limited, it becomes important to devise techniques that reduce the memory footprint of application programs while leaving them in an executable form. This paper ...
Profile-guided code compression
PLDI '02: Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementationAs computers are increasingly used in contexts where the amount of available memory is limited, it becomes important to devise techniques that reduce the memory footprint of application programs while leaving them in an executable form. This paper ...
Comments