An efficient instruction compression/decompression system based on field partitioning

An efficient instruction compression/decompression system for ARM series architecture is proposed. Due to a high degree of repetition in the encoding of the instructions in a program, we could get a statistics of the appearances of each field in all instructions of a program. Depending on a statistics, we partition each instruction into four fields and compress each field using Huffman coding method. Experimental results show that our method is better than others with a 55% of average compression ratio. For decompression, single buffering, double buffering and pipeline techniques have been proposed. Without delay due to the decompressing time and jump penalty, a new pipeline with back-up for flushing technique is proposed. To implement the method with less cost, a basic block based compression method is applied. Though the compression ratio has some sacrifices (58% in average), the execution delay can be decreased to a zero.

[1]  Jörg Henkel,et al.  Design and simulation of a pipelined decompression architecture for embedded systems , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[2]  Kurt Keutzer,et al.  Code density optimization for embedded DSP processors using data compression techniques , 1995, Proceedings Sixteenth Conference on Advanced Research in VLSI.

[3]  A. Wolfe,et al.  Executing Compressed Programs On An Embedded RISC Architecture , 1992, [1992] Proceedings the 25th Annual International Symposium on Microarchitecture MICRO 25.

[4]  Trevor N. Mudge,et al.  Improving code density using compression techniques , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[5]  Jen-Wei Hsieh,et al.  An Efficient Code Compression/Decompression System Based on Field Partitioning , 2005 .

[6]  Yuan Xie,et al.  LZW-based code compression for VLIW embedded systems , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[7]  Haris Lekatsas,et al.  Code compression for VLIW processors using variable-to-fixed coding , 2002, 15th International Symposium on System Synthesis, 2002..

[8]  Yuan-Long Jeang,et al.  An Efficient Field-Partition Based Code Compression and Its Pipelined Decompression System , 2006, 2006 International Symposium on VLSI Design, Automation and Test.

[9]  Trevor Mudge,et al.  An Instruction Stream Compression Technique 1 , 1996 .

[10]  Yuan Xie,et al.  Code compression for VLIW processors using variable-to-fixed coding , 2002, 15th International Symposium on System Synthesis, 2002..