A study of CodePack: optimizing embedded code space
Proceedings of the tenth international symposium on Hardware/software codesign
Approximate prefix coding for system-on-a-chip programs
Journal of Systems Architecture: the EUROMICRO Journal
Survey of code-size reduction methods
ACM Computing Surveys (CSUR)
Compiler optimization and ordering effects on VLIW code compression
Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems
Multi-profile based code compression
Proceedings of the 41st annual Design Automation Conference
ACM Transactions on Programming Languages and Systems (TOPLAS)
Effects of program compression
Journal of Systems Architecture: the EUROMICRO Journal
Dictionary-based program compression on customizable processor architectures
Microprocessors & Microsystems
Effects of program compression
SAMOS'06 Proceedings of the 6th international conference on Embedded Computer Systems: architectures, Modeling, and Simulation
Microcode Compression Using Structured-Constrained Clustering
International Journal of Parallel Programming
Hi-index | 0.00 |
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.