-
题名基于TCG技术的二进制翻译条件转移指令优化研究
被引量:3
- 1
-
-
作者
张家豪
单征
岳峰
傅立国
王军
李明亮
-
机构
数学工程与先进计算国家重点实验室
-
出处
《计算机工程与科学》
CSCD
北大核心
2019年第8期1343-1352,共10页
-
文摘
在二进制翻译中引入TCG中间表示技术可以实现多目标平台之间的程序移植,同时可以更加方便地引入新型平台,解决新平台对主流平台的兼容性问题。然而由于原有的中间表示在翻译过程中影响了代码的关联度,生成的后端代码中存在较多冗余指令,影响翻译程序的执行效率。分析了指令优化可行性,针对条件跳转指令进行优化,通过指令预处理对中间表示进行改进,实现中间表示到后端代码生成由一对多翻译模式到多对多翻译模式的转变,采用指令归约技术,针对条件跳转指令的2种模式CMP-JX型与TEST-JX型,分别设计相应的优化翻译算法,并在开源二进制平台QEMU上实现。基于NPB-3.3和SPECCPU2006测试集进行了测试,与以前的翻译模式进行对比,优化后的代码膨胀率平均减少了14.62%,翻译程序运行速度提升了17.23%,验证了该优化方法的有效性。
-
关键词
二进制翻译
tcg中间表示
条件跳转
代码预处理
指令归约
-
Keywords
binary translation
tcg intermediate representation
conditional jump instruction
code preprocessing
instruction optimization
-
分类号
TP302
[自动化与计算机技术—计算机系统结构]
-
-
题名二进制翻译中动静结合的寄存器分配优化方法
被引量:5
- 2
-
-
作者
王军
庞建民
傅立国
岳峰
单征
张家豪
-
机构
数学工程与先进计算国家重点实验室(战略支援部队信息工程大学)
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2019年第4期708-718,共11页
-
基金
国家自然科学基金项目(61472447
61802433)~~
-
文摘
针对二进制翻译器QEMU(quick emulator)在寄存器映射时未考虑基本块之间以及循环体之间对寄存器需求的差异,造成不必要的寄存器溢出而导致的冗余访存开销问题,引入全局寄存器静态映射和局部寄存器动态分配思想,提出高效的基于优先级的动静结合寄存器映射优化算法.该算法首先基于源平台不同寄存器使用的统计特征和各变量的生命周期,静态进行全局寄存器映射;然后依据中间表示与源平台寄存器之间的映射关系,获取基本块中间指令需求寄存器次数并排序确定寄存器分配的优先级;之后依据优先级顺序动态进行寄存器分配,从而减少寄存器溢出次数,降低生成的本地代码的膨胀率以及访存次数,提高目标程序性能.对NBENCH、典型的递归程序和SPEC2006的测试表明:该算法有效地减少了本地代码的访存次数,提高了程序性能,平均比优化前性能分别提升了8.67%, 8.25%, 8.10%.
-
关键词
二进制翻译
寄存器分配
翻译器QEMU
反馈式静态二进制翻译器FD-SQEMU
tcg中间表示
-
Keywords
binary translation
register allocation
quick emulator(QEMU)
feedback static QEMU(FD-SQEMU)
tcg intermediate code
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-