Effects of Program Compression

  • Jari Heikkinen
  • Jarmo Takala
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4017)


The size of the program code has become a critical design constraint in embedded systems, especially in handheld devices. Large program codes require large memories, which increase the size and cost of the chip. In addition, the power consumption is increased due to higher memory I/O bandwidth. Program compression is one of the most often used methods to reduce the size of the program code. In this paper, two compression approaches, dictionary-based compression and instruction template-based compression, were evaluated on a customizable processor architecture with parallel resources. The effects on area and power consumption were measured. Dictionary-based compression reduced the area at best by 77% and power consumption by 73%. Instruction template-based compression resulted in increase in both area and power consumption and hence turned out to be impractical.


Power Consumption Discrete Cosine Transform Program Code Processor Core Program Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Araújo, G., Centoducatte, P., Azevedo, R., Pannain, R.: Expression tree based algorithms for code compression on embedded RISC architectures 8, 530–533 (2000)Google Scholar
  2. 2.
    Colwell, R.P., Nix, R.P., O’Connel, J.J., Papworth, D.B., Rodman, P.K.: A VLIW architecture for a trace scheduling compiler. IEEE Trans. Comput. 37, 679–967 (1988)CrossRefGoogle Scholar
  3. 3.
    Aditya, S., Rau, B.R., Johnson, R.C.: Automatic design of VLIW and EPIC instruction formats. Technical Report HPL-1999-94, Hewlett-Packard Laboratories (2000)Google Scholar
  4. 4.
    Nam, S.J., Park, I.C., Kyung, C.M.: Improving dictionary-based code compression in VLIW architectures. IEICE Trans. Fundamentals of Electronics, Commun. and Comput. Sciences E82-A, 2124–2318 (1999)Google Scholar
  5. 5.
    Hoogerbrugge, J., Augusteijn, L., Trum, J., van de Wiel, R.: A code compression system based on pipelined interpreters. Software - Practice and Experience 29, 1005–1023 (1999)CrossRefGoogle Scholar
  6. 6.
    Ros, M., Sutton, P.: A Hamming distance based VLIW/EPIC code compression technique. In: Proc. Int. Conf. on Compilers, Architectures and Synthesis for Embedded Systems, Washington, DC, U.S.A., pp. 132–139 (2004)Google Scholar
  7. 7.
    Xie, Y., Wolf, W., Lekatsas, H.: A code decompression architecture for VLIW processors. In: Proc. 34th Annual Symp. Microarchitecture, Austin, TX, U.S.A., pp. 66–75 (2001)Google Scholar
  8. 8.
    Larin, S.Y., Conte, T.M.: Compiler-driven cached code compression schemes for embedded ILP processors. In: Proc. 32nd Annual Symp. Microarchitecture, Haifa, Israel, pp. 82–92 (1999)Google Scholar
  9. 9.
    Witten, I.H., Moffat, A., Bell, T.C.: Managing Gigabytes: Compressing and Indexing Documents and Images. Morgan Kaufmann Publishers, San Francisco (1999)Google Scholar
  10. 10.
    Lefurgy, C., Mudge, T.: Code compression for DSP. Technical Report CSE-TR-380-98, EECS Department, University of Michigan (1998)Google Scholar
  11. 11.
    Corporaal, H.: Microprocessor Architectures: From VLIW to TTA. John Wiley & Sons, Chichester (1997)Google Scholar
  12. 12.
    Heikkinen, J., Cilio, A., Takala, J., Corporaal, H.: Dictionary-based program compression on transport triggered architectures. In: Proc. IEEE Int. Symp. on Circuits and Systems, Kobe, pp. 1122–1125 (2005)Google Scholar
  13. 13.
    Heikkinen, J., Rantanen, T., Cilio, A., Takala, J., Corporaal, H.: Evaluating template-based instruction compression on transport triggered architectures. In: Proc. 3rd IEEE Int. Workshop System-on-Chip for Real-Time Applications, Calgary, pp. 192–195 (2003)Google Scholar
  14. 14.
    Heikkinen, J., Takala, J., Corporaal, H.: Dictionary-based program compression on TTAs: Effects on area and power consumption. In: Proc. IEEE Workshop on Sig. Proc. Systems, Athens, pp. 479–484 (2005)Google Scholar
  15. 15.
    Corporaal, H., Arnold, M.: Using transport triggered architectures for embedded processor design. Integrated Computer-Aided Eng. 5, 19–38 (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jari Heikkinen
    • 1
  • Jarmo Takala
    • 1
  1. 1.Tampere University of TechnologyTampereFinland

Personalised recommendations