摘要
动态二进制翻译技术可以使编译好的二进制代码无缝运行于其他架构下,目前得到越来越广泛的应用.由于在动态翻译执行的过程中缺少程序的原始语义信息而只能采用保守的策略来保证程序的正确性,从而制约到动态二进制翻译的性能.为了解决这种不足,本文提出一种基于静态编译阶段产生的对性能有影响的元数据进行动态翻译中的寄存器化优化算法,进而来提高动态翻译器的整体性能.实验数据表明优化方法对于SPECfp2000和SPECint2000测试集分别获得了15.03%和1.21%的性能提升,其中的一些测试包的加速比甚至达到了37.09%.
Dynamic binary translation offers solutions for translating and running source architecture binaries on target architecture at runtime. Regardless of its growing popularity, practical dynamic binary translators usually suffer from the limited optimizations performed when generating the translated code due to the lack of useful information available in the executable files. Trying to generate more efficient translated code, we propose in this paper a novel method of passing performance critical information to a dynamic binary translator to perform aggressive dynamic optimizations. Experimental data shows an overall performance improvement of 15.03% for SPECfp2000 and 1.21% for SPECint2000. For some specific benchmarks, the performance improvement is even up to 37.09%.
出处
《小型微型计算机系统》
CSCD
北大核心
2008年第10期1929-1934,共6页
Journal of Chinese Computer Systems
基金
博士点基金(20050246020)资助
关键词
动态二进制翻译器
元信息
寄存器化
Dynamic binary translator
metadata
memory optimizations