共查询到16条相似文献,搜索用时 78 毫秒
1.
二进制翻译是在不同硬件平台之间实现软件迁移的重要手段.在二进制翻译系统中,如何在没有标志位寄存器的目标平台上模拟实现源平台上标志位寄存器的功能,是影响系统性能的关键.现有的标志位分析技术通过对标志位的定值引用进行数据流分析,尽可能多地消除冗余的标志位定值.但是,对于那些会被引用的标志位定值,现有的技术仍然需要进行翻译.这不仅会导致翻译生成代码的膨胀,还会影响二进制翻译系统的性能.提出了一种二进制翻译中基于模式化的标志位翻译方法.该方法在标志位分析技术基础上,通过将源平台上标志位定值指令和引用指令组合成固定的标志位模式,然后根据模式的具体语义选择目标平台上具有相同语义功能的指令组合进行翻译.这种模式化的翻译方法,不仅可以降低因翻译标志位而引入的代码膨胀,还可以提升二进制翻译系统的性能.实验结果表明,对于SPEC CINT2006中的程序,该方法不仅可以使翻译生成的代码量平均减少7.5%,还可以将程序的性能平均提升10%. 相似文献
2.
二进制翻译中的标志位优化技术 总被引:2,自引:0,他引:2
在二进制翻译技术中,如何有效降低对源指令集体系结构标志位的模拟开销是一个值得研究的课题.分别针对二进制翻译中的解释执行和动态翻译,提出了相应的标志位模拟优化算法,能够有效地减少翻译生成的目标代码数量,提高目标代码性能.经过大量测试验证,在应用该标志位模拟优化算法后,Digital Bridge系统翻译生成的目标代码量是源体系结构目标代码量的120%,而没有应用该优化算法时该比例是250%,作为对比系统UQDBT系统的比例是150%. 相似文献
3.
提出动态二进制翻译的两种优化方案:基本块和热路径;分析了从代码中抽取值得优化部分的详细过程;同时也给出针对这两种方案的一些优化方法.最后简单介绍了当前一些动态二进制翻译系统所采用的优化技术. 相似文献
4.
5.
动态二进制翻译与优化技术研究 总被引:2,自引:1,他引:2
动态二进制翻译技术是一种即时编译技术,它将针对源体系结构编译生成的二进制代码(源机器码)动态翻译为可以在目的体系结构上运行的代码(翻译码).动态优化技术是指在运行时获取动态信息并进行代码优化的技术.动态二进制翻译及优化系统使得源软件无需重编译就可以直接在目标体系结构上高效地运行.目前几种比较有影响的动态二进制翻译及优化系统有Intel公司的IA-32 Execution Layer,IBM公司的DAISY,Transmeta的CMS及HP的Dynamo等.这些系统对动态二进制翻译系统关键技术有不同的实现.对动态二进制翻译和优化技术的研究是计算机领域的研究热点,具有深远的现实意义和应用前景. 相似文献
6.
二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用.如果源平台通过标志位进行条件跳转,那么如何处理标志位就成为翻译中的一个重要问题,对翻译的代码质量起着决定性作用.提出标志位线性分析算法,复杂度为线性,基本上能够消除所有的标志位冗余计算,提高了动态执行的效率.基于动态profiling技术,消除了间接跳转的基本块标志位冗余计算.分析了spec 2000中的大部分整点测试例子,实验结果表明,EfLA(Eflag linear analysis)算法对于大运算量的程序是非常有效的. 相似文献
7.
为了充分利用多核CPU来实现动态二进制翻译的并行化,研究了用多线程将翻译阶段和执行阶段并行优化的方法,提供了并行化系统的程序流程。并根据翻译与执行的时序及相关性,设计实现了一种超前翻译算法,它能够有效预测程序的执行路径,为翻译过程提供导向作用。实验结果表明,该优化方法提高了翻译缓存中基本块的命中率,使执行阶段尽量不被中断,进而提升了执行效率。 相似文献
8.
在二进制翻译中,库函数本地化处理是指不直接翻译源文件中的库函数而是使用本地目标机的库函数进行替换,以此提高翻译性能。针对国产平台二进制翻译中库函数处理翻译模式的相关特性,提出一种库函数解析处理机制,借助helper函数实现库函数替换操作。通过修改基本块划分规则,将库函数替换部分翻译的基本块进行合并,构建超级块,减少源程序中基本块划分数量与程序执行跳转次数,在保证翻译正确性基础上有效提高翻译效率。在动态二进制翻译器QEMU上进行的实验结果表明,与未优化的库函数处理翻译方式相比,翻译后程序加速比平均提升9%,有效提高了翻译效率。 相似文献
9.
动态二进制翻译是解决一款指令集面临生态系统壁垒问题的主流技术,通过将二进制程序从源指令集翻译成目标指令集,可以在目标指令集的处理器上运行源指令集的应用程序. 动态二进制翻译技术的一大挑战是如何生成高质量的目标指令序列,尤其当源指令集和目标指令集存在差异时. 为探究该问题,以RISC-V64指令集为目标指令集,分析了当RISC-V64,RISC-V32,MIPS32,x86分别作为源指令集时,影响动态二进制翻译技术翻译质量的因素. 针对这些因素,分别提出相应优化方法,并借助RISC-V B扩展和RISC-V P扩展中的部分指令提升翻译质量. 最后,提出一个新的动态二进制翻译程序DBT-FEMU实现优化. 在模拟器和FPGA中的评估数据显示,运行SPEC CPU2006的整数基准程序时,优化方法可使目标程序所执行的动态指令数平均减少57%,平均性能达QEMU-i386的4.12倍.
相似文献10.
依据对系统级程序行为特性的观察,提出了一种基于热例程的动态二进制翻译优化方法。该方法以频繁执行的例程作为优化单位,通过块内和块间优化算法消除动态二进制翻译引入的冗余。相比基于踪迹的优化方法,该方法具有优化单位发现开销更小、代码区域更大、无重复翻译等优点,更适用于系统虚拟机中操作系统代码的优化。在跨平台系统虚拟机监控器ARCH-BRIDGE上的测试表明,通过对内核代码实施该优化方法,SPEC CPUINT 2006程序的效率提升了3.5%~14.4%,相比基于踪迹的优化,性能最大提升了5.1%。 相似文献
11.
12.
Bitran二进制翻译实验系统的设计和实现 总被引:1,自引:0,他引:1
对处理器速度的追求促使体系结构不断发展 ,但是软件的支持却不能与其匹配 ,造成新体系结构推广的困难 ,研究、解决代码迁移问题的二进制翻译方法应运而生 .介绍作者参与开发的一个静态二进制翻译实验系统的框架设计 ,并详细介绍框架中各个部分的实现方法 ,最后给出该翻译系统的实验数据和分析 . 相似文献
13.
二进制翻译在体系结构设计、程序性能优化、安全性分析以及软件移植等领域的研究中备受关注.不同应用场景对二进制翻译的需求各不相同,却总聚焦于翻译的正确性和翻译的效率2个方面.翻译的正确性用于评判翻译前后程序在逻辑功能上是否具有等价性,而等价的证明依赖于适当的形式化模型.为了满足研究二进制翻译正确性以及翻译优化方法对理论模型的需求,对已有理论模型进行了深入的剖析,并进一步构建了新的基于后继关系的映射模型.该模型既能够形式化地描述正确翻译的二进制翻译过程所具备的性质和构造方法,也可以在翻译过程形式化描述的基础上对翻译过程优化方法的特征和性质进行描述.通过构建翻译正确性及翻译过程优化方法的形式化模型,为二进制翻译技术中关于翻译过程的实现以及优化方法的策略组合等进一步研究提供了更强的理论支撑. 相似文献
14.
15.
二进制翻译是实现软件移植的主要方法.动态二进制翻译受动态执行限制而不能深度优化导致效率较低而传统的静态二进制翻译难以处理间接分支,且现有的优化方法大部分集中在中间代码层,对目标码中存在的大量冗余指令较少关注.针对这一现状,提出一种静态二进制翻译框架SQEMU,基于该框架提出了一种对目标码冗余指令进行删除的优化算法.该算法通过分析目标码生成指令特定数据依赖图(instruction-specific data dependence graph, IDDG),再利用该图将活性分析和窥孔优化的2种理论相结合,有效删除目标码中的冗余指令.实验结果表明,利用该算法对目标码优化后,其执行效率得到显著提升,最大提升可达42%,整体性能测试表明,优化后nbench测试集翻译效率提高约20%,SPEC CINT2006测试集翻译效率提高约17%. 相似文献