Instruction Selection for ARM/Thumb Processors Based on a Genetic Algorithm Coupled with Critical Event Tabu Search

Sheng Yi Wu · Chinese Journal of Computers · 2007

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,this paper proposes a hybrid evolutionary 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.The proposed approach is based on a genetic algorithm coupled with critical event Tabu Search as the local search.The instruction set is determined to be used for each function,and the execution time is got based on the profiling analyses of the dynamic behavior of a program.The experimental results show that the 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.

Read the paper · More papers on PaperTik