Expression-tree-based algorithms for code compression on embedded RISC architectures
- 1 October 2000
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Very Large Scale Integration (VLSI) Systems
- Vol. 8 (5), 530-533
- https://doi.org/10.1109/92.894158
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
This publication has 7 references indexed in Scilit:
- Executing Compressed Programs On An Embedded RISC ArchitecturePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Compressed code execution on DSP architecturesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Code compression based on operand factorizationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A high-speed asynchronous decompression circuit for embedded processorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Improving code density using compression techniquesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Code compression for embedded systemsPublished by Association for Computing Machinery (ACM) ,1998
- Slim binariesCommunications of the ACM, 1997