摘要
动态二进制翻译提供了无需重新编译源代码就能将源机器生成的可执行代码自动转换到目标机器的方法,很好地解决了代码兼容性问题。其核心思想是根据程序的动态运行信息找到反复执行的代码序列,对代码序列进行翻译和优化,并将结果多次重用。指令调度作为一种有效的编译优化手段,也适用于动态二进制翻译。在对gcc的指令调度器分析研究的基础上,结合动态二进制翻译的实时性特点,提出了适合动态二进制翻译的效率高、开销小的指令调度算法。
Dynamic binary translation is the process of translating codes for one instruction set architecture to codes for another on the fly. It resolves the compatible problem of codes. The key idea of it is that the frequently executed codes are found according to the profiling information at runtime, and its compilation and optimization are done. The result is reused as often as possible. As an efficient technology for compilation and optimization, instruction scheduling is adaptable to dynamic binary translation. The gcc instruction scheduler is analyzed, and an algorithm of instruction scheduling with high efficiency and low overhead is presented, which is fit for the real - time dynamic binary translation.
出处
《计算机应用与软件》
CSCD
北大核心
2008年第1期17-19,共3页
Computer Applications and Software
基金
国家863高技术研究发展计划(2002AA112010)
关键词
动态二进制翻译
指令调度
列表调度
寄存器分配
Dynamic binary translation Instruction scheduling List scheduling Register allocation