期刊文献+

遗传算法和关键事件禁忌搜索相融合的ARM/Thumb处理器指令选择

Instruction Selection for ARM/Thumb Processors Based on a Genetic Algorithm Coupled with Critical Event Tabu Search
下载PDF
导出
摘要 面向嵌入式系统的编译器,往往需要同时考虑目标代码的性能、大小和功耗等相互冲突的目标.ARM双指令集处理器,在具备通常的32位ARM指令集基础上,还支持一个缩减的16位Thumb指令集,因而为代码优化提供了多个目标之间折衷的机会.由于同一个程序的Thumb代码比相应的ARM代码执行更多的指令,因此虽然前者常比后者占用更少的存储空间,但消耗更多的运行时间.针对这种现象,文中建议一个混合演化算法,通过把程序的不同部分有选择地编译成ARM或Thumb指令集代码,使得可灵活地权衡目标代码大小和运行时间.文中的方法基于遗传算法和关键事件禁忌搜索相融合,后者用来局部搜索.指令选择以函数为单位,从对程序动态行为的profiling分析求得程序运行时间.实验结果表明,文中的技术可有效地、灵活地权衡目标代码大小和性能,并且适用于其它的双指令集处理器. 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.
出处 《计算机学报》 EI CSCD 北大核心 2007年第4期680-685,共6页 Chinese Journal of Computers
基金 国家自然科学基金(90207019)资助.
关键词 演化算法 指令选择 ARM/Thumb evolutionary optimization instruction selection ARM and Thumb
  • 相关文献

参考文献12

  • 1SNU Real-Time Benchmark Suite.http://archi.snu.ac.kr/realtime/benchmark
  • 2Furber S B.ARM system architecture.Boston,MA,USA:Addison-Wesley Longman Publishing Co.,Inc,1996
  • 3Kirkpatrick S,Gelatt C D,Vecchi M P.Optimization by simulated annealing.Science,1983,220(4598):671-680
  • 4Glover F,Laguna M.Tabu Search.Norwell,MA,USA:Kluwer Academic Publishers,1997
  • 5Deb K.Multi-objective optimization using evolutionary algorithms.West Sussex,England:John Wiley&Sons,2001
  • 6Dorigo M,Stützle T.Ant Colony Optimization.Cambridge,MA,USA:The MIT Press,2004
  • 7Halambi A,Shrivastava A,Biswas P,Dutt N D,Nicolau A.An efficient compiler technique for code size reduction using reduced bit-width ISAs//Proceedings of the Design,Automation and Test in Europe Conference and Exposition (DATE2002).France,2002:402-408
  • 8Krishnaswamy A,Gupta R.Profile guided selection of ARM and Thumb instructions//Proceedings of the 2002 Joint Conference on Languages,Compilers,and Tools for Embedded Systems Software and Compilers for Embedded Systems (LCTES2002-SCOPES2002).Berlin,Germany,2002:56-64
  • 9Lee S,Lee J,Min S L,Hiser J,Davidson J W.Code generation for a dual instruction set processor based on selective code transformation//Proceedings of the 7th International Workshop,Software and Compilers for Embedded Systems,SCOPES 2003.Vienna,Austria,2003:33-48
  • 10Deb K.A fast and elitist multiobjective genetic algorithm:NSGA-2.IEEE Transactions on Evolutionary Computation,2002,6(2):182-197

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部