A design space exploration framework for reduced bit-width Instruction Set architecture (rISA) design

Code size is a critical concern in many embedded system applications, especially those using RISC cores. One promising approach for reducing code size is to employ a "dual instruction set", where processor architectures support a normal (usually 32 bit) Instruction Set, and a narrow, space-efficient (usually 16 bit) Instruction Set with a limited set of opcodes and access to a limited set of registers. This feature (termed rISA) can potentially reduce the code size by up to 50% with minimal performance degradation. However, contemporary processors incorporate only a simple rISA feature with severe restrictions on register accessibility. We present a compiler-in-the-loop Design Space Exploration framework that is capable of exploring various interesting rISA designs. We also present experimental results using this framework and show rISA designs that improve on the code size reduction obtained by existing rISA architectures.

[1]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[2]  Hyuk-Jae Lee,et al.  PARE: instruction set architecture for efficient code size reduction , 1999 .

[3]  Aviral Shrivastava,et al.  A customizable compiler framework for embedded systems , 2001 .

[4]  Nikil D. Dutt,et al.  V-SAT: A visual specification and analysis tool for system-on-chip exploration , 2001, J. Syst. Archit..

[5]  Nikil D. Dutt,et al.  V-SAT: a visual specification and analysis tool for system-on-chip exploration , 2001, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

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

[7]  Aviral Shrivastava,et al.  An efficient compiler technique for code size reduction using reduced bit-width ISAs , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[8]  Keith D. Cooper,et al.  Improvements to graph coloring register allocation , 1994, TOPL.

[9]  Alexandru Nicolau,et al.  Resource Directed Loop Pipelining: Exposing Just Enough Parallelism , 1997, Comput. J..

[10]  Alexandru Nicolau,et al.  Trailblazing: A Hierarchical Approach to Percolation Scheduling , 1993, 1993 International Conference on Parallel Processing - ICPP'93.