期刊文献+
共找到4篇文章
< 1 >
每页显示 20 50 100
基于QEMU的跨平台静态二进制翻译系统 被引量:6
1
作者 卢帅兵 庞建民 +1 位作者 单征 岳峰 《浙江大学学报(工学版)》 EI CAS CSCD 北大核心 2016年第1期158-165,共8页
为了实现快速映射间接分支目标地址,提出地址索引映射表法,使用地址数组按源地址顺序保存所有对应的目的地址,索引数组存储源地址在地址数组中的索引位置,只需要几条指令就可以完成源地址到目的地址的映射,提高了执行速度.为了加快函数... 为了实现快速映射间接分支目标地址,提出地址索引映射表法,使用地址数组按源地址顺序保存所有对应的目的地址,索引数组存储源地址在地址数组中的索引位置,只需要几条指令就可以完成源地址到目的地址的映射,提高了执行速度.为了加快函数的调用处理,提出将本地栈作为影子栈、与本地库函数封装相结合的方法.本地栈模拟参数传递和返回,加速函数调用.结合封装接口处理参数和返回值,实现间接调用本地库函数,提高了函数处理能力.基于上述方法和QEMU,设计并实现了静态二进制翻译系统SQEMU.基于SPEC2006和nbench测试集,从x86平台翻译到Alpha平台的实验表明,SQEMU相对QEMU平均加速比分别达2.09倍和6.39倍. 展开更多
关键词 二进制翻译 QEMU sqemu 间接分支 地址索引映射表
下载PDF
二进制翻译中动静结合的寄存器分配优化方法 被引量:5
2
作者 王军 庞建民 +3 位作者 傅立国 岳峰 单征 张家豪 《计算机研究与发展》 EI CSCD 北大核心 2019年第4期708-718,共11页
针对二进制翻译器QEMU(quick emulator)在寄存器映射时未考虑基本块之间以及循环体之间对寄存器需求的差异,造成不必要的寄存器溢出而导致的冗余访存开销问题,引入全局寄存器静态映射和局部寄存器动态分配思想,提出高效的基于优先级的... 针对二进制翻译器QEMU(quick emulator)在寄存器映射时未考虑基本块之间以及循环体之间对寄存器需求的差异,造成不必要的寄存器溢出而导致的冗余访存开销问题,引入全局寄存器静态映射和局部寄存器动态分配思想,提出高效的基于优先级的动静结合寄存器映射优化算法.该算法首先基于源平台不同寄存器使用的统计特征和各变量的生命周期,静态进行全局寄存器映射;然后依据中间表示与源平台寄存器之间的映射关系,获取基本块中间指令需求寄存器次数并排序确定寄存器分配的优先级;之后依据优先级顺序动态进行寄存器分配,从而减少寄存器溢出次数,降低生成的本地代码的膨胀率以及访存次数,提高目标程序性能.对NBENCH、典型的递归程序和SPEC2006的测试表明:该算法有效地减少了本地代码的访存次数,提高了程序性能,平均比优化前性能分别提升了8.67%, 8.25%, 8.10%. 展开更多
关键词 二进制翻译 寄存器分配 翻译器QEMU 反馈式静态二进制翻译器FD-sqemu TCG中间表示
下载PDF
一种高效解决间接转移的反馈式静态二进制翻译方法 被引量:3
3
作者 王军 庞建民 +2 位作者 傅立国 岳峰 张家豪 《计算机研究与发展》 EI CSCD 北大核心 2019年第4期742-754,共13页
为了在追求程序执行效率的同时解决静态二进制翻译中的间接转移问题,针对现有间接转移问题处理方法中线性遍历翻译方式代码优化较少、冗余代码较多的缺陷,提出了基于基本块翻译的反馈式静态二进制翻译方法,并结合二级地址映射表实现了... 为了在追求程序执行效率的同时解决静态二进制翻译中的间接转移问题,针对现有间接转移问题处理方法中线性遍历翻译方式代码优化较少、冗余代码较多的缺陷,提出了基于基本块翻译的反馈式静态二进制翻译方法,并结合二级地址映射表实现了间接转移目标地址的快速映射.首先,在目标可执行程序运行过程中添加监控反馈机制解决代码发现问题,对未确定的间接转移地址进行反馈,以便对源程序重新划分基本块并重新翻译执行;然后构造二级地址映射表,借助二级地址映射快速解决代码定位问题.在开源二进制翻译平台QEMU(quick emulator)上实现了反馈式静态二进制翻译框架FD-SQEMU(feedback static QEMU),并基于SPEC2006和NBENCH测试集进行测试,与QEMU相比,FD-SQEMU平均加速比分别达到3.97倍和6.94倍;与课题组之前提出的保存源程序指令全地址的静态SQEMU翻译器相比,FD-SQEMU的平均加速比达到1.18倍,最高加速比达到了1.36倍,验证了提出的框架和方法的有效性. 展开更多
关键词 二进制翻译 静态二进制翻译 间接转移 翻译器QEMU 反馈式翻译框架FD-sqemu
下载PDF
二进制翻译中冗余指令优化算法 被引量:6
4
作者 谭捷 庞建民 +3 位作者 单征 岳峰 卢帅兵 戴涛 《计算机研究与发展》 EI CSCD 北大核心 2017年第9期1931-1944,共14页
二进制翻译是实现软件移植的主要方法.动态二进制翻译受动态执行限制而不能深度优化导致效率较低而传统的静态二进制翻译难以处理间接分支,且现有的优化方法大部分集中在中间代码层,对目标码中存在的大量冗余指令较少关注.针对这一现状... 二进制翻译是实现软件移植的主要方法.动态二进制翻译受动态执行限制而不能深度优化导致效率较低而传统的静态二进制翻译难以处理间接分支,且现有的优化方法大部分集中在中间代码层,对目标码中存在的大量冗余指令较少关注.针对这一现状,提出一种静态二进制翻译框架SQEMU,基于该框架提出了一种对目标码冗余指令进行删除的优化算法.该算法通过分析目标码生成指令特定数据依赖图(instruction-specific data dependence graph,IDDG),再利用该图将活性分析和窥孔优化的2种理论相结合,有效删除目标码中的冗余指令.实验结果表明,利用该算法对目标码优化后,其执行效率得到显著提升,最大提升可达42%,整体性能测试表明,优化后nbench测试集翻译效率提高约20%,SPEC CINT2006测试集翻译效率提高约17%. 展开更多
关键词 二进制翻译 冗余指令 活性分析 窥孔优化 sqemu框架
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部