A power-aware code-compression design for RISC/VLIW architecture

We studied the architecture of embedded computing systems from the viewpoint of power consumption in memory systems and used a selective-code-compression (SCC) approach to realize our design. Based on the LZW (Lempel-Ziv-Welch) compression algorithm, we propose a novel cost effective compression and decompression method. The goal of our study was to develop a new SCC approach with an extended decision policy based on the prediction of power consumption. Our decompression method had to be easily implemented in hardware and to collaborate with the embedded processor. The hardware implementation of our decompression engine uses the TSMC 0.18 μm-2p6m model and its cell-based libraries. To calculate power consumption more accurately, we used a static analysis method to estimate the power overhead of the decompression engine. We also used variable sized branch blocks and considered several features of very long instruction word (VLIW) processors for our compression, including the instruction level parallelism (ILP) technique and the scheduling of instructions. Our code-compression methods are not limited to VLIW machines, and can be applied to other kinds of reduced instruction set computer (RISC) architecture.

[1]  Prabhat Mishra,et al.  Bitmask-Based Code Compression for Embedded Systems , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Andrew Wolfe,et al.  Executing compressed programs on an embedded RISC architecture , 1992, MICRO 1992.

[3]  Wayne H. Wolf,et al.  SAMC: a code compression algorithm for embedded processors , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Liam Goudge,et al.  Embedded control problems, Thumb, and the ARM7TDMI , 1995, IEEE Micro.

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

[6]  Luca Benini,et al.  A class of code compression schemes for reducing power consumption in embedded microprocessor systems , 2004, IEEE Transactions on Computers.

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

[8]  Henry Buller,et al.  Wolf , 2013 .

[9]  Yuan Xie,et al.  Code Compression for VLIW Embedded Systems Using a Self-Generating Table , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Rodolfo Azevedo,et al.  Multi-profile based code compression , 2004, Proceedings. 41st Design Automation Conference, 2004..

[11]  Lei Yang,et al.  Optimal-Partition Based code compression for embedded processor , 2009, 2009 IEEE 8th International Conference on ASIC.

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

[13]  Fang Yu Code Compression ∗ , 2006 .

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

[15]  Yuan Xie,et al.  Profile-Driven Selective Code Compression , 2003, DATE.

[16]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[17]  Jörg Henkel,et al.  LICT: Left-uncompressed Instructions Compression Technique to improve the decoding performance of VLIW processors , 2009, 2009 46th ACM/IEEE Design Automation Conference.

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

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

[20]  Christopher W. Fraser,et al.  Code compression , 1997, PLDI '97.