摘要
动态二进制翻译是指可实现不同体系结构上软件兼容移植的系统,翻译过程使用源体系结构的一条或多条指令来模拟目标体系结构的一条指令,完成两者指令功能的等价,但也同时增大了代码的膨胀率,降低了程序执行的效率.变量活性分析是提高二进制翻译系统执行效率重要的方法,本文在QEMU中间表示TCG(Tiny Code Generator)变量活性分析算法的基础上,提出线性扫描冗余ld M和st M指令匹配删除算法删除TCG中间代码冗余指令,有效简化指令翻译.整体性能测试表明,该方法可有效减少TCG中间指令的数目,比QEMU优化前翻译性能平均提高约12%.
Dynamic binary translation is a system which enables the software is compatible with different architectures. In the process of translation,it always uses a local instruction or multiple local instructions to simulate a single target instruction to complete the e- quivalent function,but also increases the expansion rate of the codeand reduces the efficiency of program execution. Liveness analysis is an important method to improve the execution efficiency of translation program. This paper presents a linear scan redundant load and store instructions matching and deleting algorithm to reduce translation instruction based on TCG liveness analysis. Overall perform- ance tests show that this method can effectively reduce the number of TCG intermediate instruction, making an increase of about 12 % over the prior QEMU translation average performance.
出处
《小型微型计算机系统》
CSCD
北大核心
2016年第2期395-400,共6页
Journal of Chinese Computer Systems
基金
国家"八六三"高技术研究发展计划项目(2009AA012201)资助
国家核高基重大专项项目(2009ZX01036-001-001)资助
国家自然科学基金项目(61472447)资助