Title :
Expression-tree-based algorithms for code compression on embedded RISC architectures
Author :
Araujo, Guido ; Centoducatte, Paulo ; Azevedo, Rodolfo ; Pannain, Ricardo
Author_Institution :
Inst. of Comput., Unicamp, Campinas, Brazil
Abstract :
Reducing program size has become an important goal in the design of modern embedded systems targeted to mass production. This problem has driven efforts aimed at designing processors with shorter instruction formats (e.g., ARM Thumb and MIPS16) or able to execute compressed code (e.g., IBM PowerPC 405), This paper proposes three code compression algorithms for embedded RISC architectures. In all algorithms, the encoded symbols are extracted from program expression trees. The algorithms differ on the granularity of the encoded symbol, which are selected from whole trees, parts of trees, or single instructions. Dictionary-based decompression engines are proposed for each compression algorithm. Experimental results, based on SPEC CINT95 programs running on the MIPS R4000 processor, reveal an average compression ratio of 53.6% (31.5%) if the area of the decompression engine is (not) considered.
Keywords :
VLSI; data compression; embedded systems; microprocessor chips; reduced instruction set computing; trees (mathematics); IBM PowerPC 405; MIPS R4000 processor; SPEC CINT95 programs; code compression; dictionary-based decompression engines; embedded RISC architectures; encoded symbol extraction; encoded symbol granularity; expression-tree-based algorithms; mass production; program expression trees; Algorithm design and analysis; Compression algorithms; Embedded system; Engines; Mass production; Microprocessors; Process design; Reduced instruction set computing; Registers; Thumb;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on