• DocumentCode
    465362
  • Title

    Instruction Splitting for Efficient Code Compression

  • Author

    Bonny, Talal ; Henkel, Jörg

  • Author_Institution
    Univ. of Karlsruhe, Karlsruhe
  • fYear
    2007
  • fDate
    4-8 June 2007
  • Firstpage
    646
  • Lastpage
    651
  • Abstract
    The size of embedded software is rising at a rapid pace. It is often challenging and time consuming to fit an amount of required software functionality within a given hardware resource budget. Code compression is a means to alleviate the problem. In this paper we introduce a novel and efficient hardware-supported approach. Our scheme reduces the size of the generated decoding table by splitting instructions into portions of varying size (called patterns) before Huffman coding compression is applied. It improves the final compression ratio (including all overhead that incurs) by more than 20% compared to known schemes based on Huffman coding. We achieve allover compression ratios as low as 44%. Thereby, our scheme is orthogonal to approaches that take particularities of a certain instruction set architectures into account. We have conducted evaluations using a representative set of applications and have applied it to two major embedded processors, namely ARM and MIPS.
  • Keywords
    Huffman codes; data compression; embedded systems; instruction sets; microprocessor chips; ARM embedded processor; Huffman coding; MIPS embedded processor; code compression; decoding table; embedded software; hardware-supported approach; instruction set architecture; instruction splitting; Chromium; Costs; Decoding; Embedded software; Embedded system; Energy consumption; Hardware; Huffman coding; Permission; Reduced instruction set computing; Code compression; Design; Huffman Coding; Performance; embedded systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design Automation Conference, 2007. DAC '07. 44th ACM/IEEE
  • Conference_Location
    San Diego, CA
  • ISSN
    0738-100X
  • Print_ISBN
    978-1-59593-627-1
  • Type

    conf

  • Filename
    4261264