A cost- and energy-efficient embedded system design based on instruction execution frequencies

Abstract In this paper, an embedded system that takes into account the frequency of the executed instructions to reduce memory space and save energy consumption is proposed. The object codes are split into the frequently executed instructions and the infrequently executed instructions (INFIs) by analyzing the trace files of applications. To reduce the use of memory space, the dictionary-based method is used to compress INFIs. To take into account energy consumption, the top-executed instructions are selected to encode as shorter codewords and wrapped into a pseudo instruction. When a pseudo instruction that contains several codewords is fetched, it can be decompressed to several continuous instructions to reduce the number of memory accesses. In addition, to further reduce energy consumption, a multiple reference table design is proposed to make a pseudo instruction contain more encoded codewords by shortening the length of an encoded instruction. From the simulation results, the proposed design that uses one 256-instruction reference table reduces the energy consumption about 50.4% compared to the dictionary-based method. In addition, to show the improvement of energy consumption for the proposed multiple reference table method over that using one reference table, we also show the simulation results of a design with two 256-instruction reference tables which shows less energy use than a design with one 512-instruction reference table by 12.1%.

[1]  Jörg Henkel,et al.  Design of an one-cycle decompression hardware for performance increase in embedded systems , 2002, DAC '02.

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

[3]  Fang Yu Code Compression ∗ , 2006 .

[4]  Alireza Ejlali,et al.  An Accurate Instruction-Level Energy Estimation Model and Tool for Embedded Systems , 2013, IEEE Transactions on Instrumentation and Measurement.

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

[6]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[7]  Luca Benini,et al.  Minimizing memory access energy in embedded systems by selective instruction compression , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[8]  Yuan Xie,et al.  Profile-driven selective code compression [embedded systems] , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[9]  M. Kozuch,et al.  Compression of embedded system programs , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[10]  Saumya K. Debray,et al.  Profile-guided code compression , 2002, PLDI '02.

[11]  Kurt Keutzer,et al.  Code density optimization for embedded DSP processors using data compression techniques , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Kevin D. Kissell MIPS16: High-density MIPS for the Embedded Market1 , 1997 .

[13]  Chih-Hung Chang,et al.  A Low Power-Consuming Embedded System Design by Reducing Memory Access Frequencies , 2005, IEICE Trans. Inf. Syst..

[14]  Sang-Joon Nam,et al.  Improving dictionary-based code compression in VLIW architectures , 1999 .

[15]  Jean Jyh-Jiun Shann,et al.  Code compression by register operand dependency , 2004, J. Syst. Softw..

[16]  Rodolfo Azevedo,et al.  Mixed static/dynamic profiling for dictionary based code compression , 2003, Proceedings. 2003 International Symposium on System-on-Chip (IEEE Cat. No.03EX748).

[17]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[18]  Takao Onoye,et al.  An object code compression approach to embedded processors , 1997, Proceedings of 1997 International Symposium on Low Power Electronics and Design.

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

[20]  Guido Araujo,et al.  Code compression based on operand factorization , 1998, Proceedings. 31st Annual ACM/IEEE International Symposium on Microarchitecture.

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

[22]  Luca Benini,et al.  Selective instruction compression for memory energy reduction in embedded systems , 1999, Proceedings. 1999 International Symposium on Low Power Electronics and Design (Cat. No.99TH8477).

[23]  Andrew Wolfe,et al.  A fast asynchronous Huffman decoder for compressed-code embedded processors , 1998, Proceedings Fourth International Symposium on Advanced Research in Asynchronous Circuits and Systems.