Selective code transformation for dual instruction set processors

  • Authors:
  • Sheayun Lee;Jaejin Lee;Chang Yun Park;Sang Lyul Min

  • Affiliations:
  • Samsung Electronics, Hwasung City, Gyeonggi-Do, Korea;Seoul National University, Seoul, Korea;Chungang University, Seoul, Korea;Seoul National University, Seoul, Korea

  • Venue:
  • ACM Transactions on Embedded Computing Systems (TECS) - SPECIAL ISSUE SCOPES 2005
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Embedded systems are often constrained in terms of both code size and execution time, because of a limited amount of available memory and real-time nature of applications. A dual instruction set processor, which supports a reduced instruction set (16 bits/instruction), in addition to a full instruction set (32 bits/instruction), allows an opportunity for a tradeoff between these two design criteria. Specifically, while the reduced instruction set can be used to reduce code size by providing smaller instructions, a program compiled into the reduced instruction set typically runs slower than the same program compiled into the full instruction set. Motivated by this observation, we propose a code generation technique that exploits this tradeoff relationship by selectively using the two instruction sets for different sections in the program. The proposed technique, called selective code transformation, not only provides a mechanism to enable a flexible tradeoff between a program's code size and its execution time, but also facilitates program optimization toward enhancing its worst case performance. The results from our experiments show that our proposed technique can be effectively used to fine-tune an application program on a spectrum of code size and execution performance, which, in turn, enables a system-wide optimization on memory space and execution speed involving multiple applications.