Instruction selection for ARM/Thumb processors based on a multi-objective ant algorithm

  • Authors:
  • Shengning Wu;Sikun Li

  • Affiliations:
  • School of Computer Science, National University of Defense Technology, Changsha, China;School of Computer Science, National University of Defense Technology, Changsha, China

  • Venue:
  • CSR'06 Proceedings of the First international computer science conference on Theory and Applications
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the embedded domain, not only performance, but also memory and energy are important concerns. A dual instruction set ARM processor, which supports a reduced Thumb instruction set with a smaller instruction length in addition to a full instruction set, provides an opportunity for a flexible tradeoff between these requirements. For a given program, typically the Thumb code is smaller than the ARM code, but slower than the latter, because a program compiled into the Thumb instruction set executes a larger number of instructions than the same program compiled into the ARM instruction set. Motivated by this observation, we propose a new Multi-objective Ant Colony Optimization (MOACO) algorithm that can be used to enable a flexible tradeoff between the code size and execution time of a program by using the two instruction sets selectively for different parts of a program. Our proposed approach determines the instruction set to be used for each function using a subset selection technique, and the execution time is the total one based on the profiling analyses of the dynamic behavior of a program. The experimental results show that our proposed technique can be effectively used to make the tradeoff between a program's code size and execution time and can provide much flexibility in code generation for dual instruction set processors in general.