首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 62 毫秒
1.
动态二进制翻译中,翻译和执行的基本单元是基本块。一个基本块执行完毕,程序的控制权必须回到执行引擎,开始下一个基本块的查询,这导致频繁的控制权切换。对基本块应用跳转链接技术能够减少这种频繁的控制权切换。该文总结了二进制翻译器中一些常用的跳转链接方法,包括翻译块链接、路径线性化、分支预测等,并通过实验数据证实了跳转链接技术的有效性。  相似文献   

2.
动态二进制翻译与优化技术研究   总被引:2,自引:1,他引:2  
动态二进制翻译技术是一种即时编译技术,它将针对源体系结构编译生成的二进制代码(源机器码)动态翻译为可以在目的体系结构上运行的代码(翻译码).动态优化技术是指在运行时获取动态信息并进行代码优化的技术.动态二进制翻译及优化系统使得源软件无需重编译就可以直接在目标体系结构上高效地运行.目前几种比较有影响的动态二进制翻译及优化系统有Intel公司的IA-32 Execution Layer,IBM公司的DAISY,Transmeta的CMS及HP的Dynamo等.这些系统对动态二进制翻译系统关键技术有不同的实现.对动态二进制翻译和优化技术的研究是计算机领域的研究热点,具有深远的现实意义和应用前景.  相似文献   

3.
提出动态二进制翻译的两种优化方案:基本块和热路径;分析了从代码中抽取值得优化部分的详细过程;同时也给出针对这两种方案的一些优化方法.最后简单介绍了当前一些动态二进制翻译系统所采用的优化技术.  相似文献   

4.
动态二进制翻译系统是根据程序的动态执行信息来将源机器上的可执行代码翻译成目标机器上的可执行代码.在翻译成中间表示的过程中会产生一些冗余的LOAD指令,为提高代码的执行效率,提出对这些LOAD指令进行冗余删除优化.该优化技术可以使优化效果超过其自身的开销,达到优化的目的.  相似文献   

5.
依据对系统级程序行为特性的观察,提出了一种基于热例程的动态二进制翻译优化方法。该方法以频繁执行的例程作为优化单位,通过块内和块间优化算法消除动态二进制翻译引入的冗余。相比基于踪迹的优化方法,该方法具有优化单位发现开销更小、代码区域更大、无重复翻译等优点,更适用于系统虚拟机中操作系统代码的优化。在跨平台系统虚拟机监控器ARCH-BRIDGE上的测试表明,通过对内核代码实施该优化方法,SPEC CPUINT 2006程序的效率提升了3.5%~14.4%,相比基于踪迹的优化,性能最大提升了5.1%。  相似文献   

6.
罗琼程  吴强 《计算机应用研究》2009,26(12):4572-4576
动态优化是动态二进制翻译研究中一个十分重要的课题,数据预取优化能提高现代处理器体系结构应用程序性能。基于超级块(Superblock)的动态数据预取优化采用软件插桩方式收集应用程序的load访存延迟信息并构造Superblock;然后根据延迟信息以及Superblock数据流分析得出的寄存器定值引用关系,对延迟load指令进行预取优化。通过在龙芯DigitalBridge动态二进制翻译系统上实验验证,数据预取优化可以提高翻译后SPEC2000浮点测试程序代码的平均性能3.3%,开销远小于0.5%。  相似文献   

7.
体系结构设计经常要在代码兼容和结构创新之间进行折衷。保证代码兼容的体系结构难以引入创新性的体系结构技术,或者导致最终结构变得相当复杂。本文提出一种基于动态二进制翻译优化的可扩展处理器结构VISA。VISA在实现兼容的前提下拓展了体系结构设计的空间。模拟结果显示,VISA性能优于现有的动态二进制翻译优化框架,并有更高
高的性能潜力和扩展空间。  相似文献   

8.
在动态二进制翻译中,热路径的识别和生成是提高二进制翻译器效率的重要环节。为了提高热路径预测的命中率,必须在程序的运行中搜集较为详细的信息,这必然增加系统的开销。因此,在准确率和开销之间做出权衡十分必要。该文在研究现有热路径算法的基础上,提出了一种改进的基于路径的热路径识别和优化算法,并对结果进行了分析。  相似文献   

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.
在二进制翻译中采用中间表示,可以适当隔离不同机器平台的特点,便于二进制翻译系统的移植。提出一种VINST中间表示方法,介绍其指令集与特点,运用SSA形式化和冗余指令删除等方法对VINST进行初步优化。优化前后的性能比较结果表明,相对简单高效的方法可以弥补优化的开销,提高系统性能。  相似文献   

11.
董卫宇  王瑞敏  戚旭衍  曾韵 《计算机科学》2015,42(6):189-192, 203
提出了一种译码制导的轻量级动态二进制翻译优化技术,该技术在译码阶段提取源指令的高层语义信息,结合上下文对其进行标注,并在翻译阶段利用标注信息直接生成优化的目标指令.该技术可识别动态二进制翻译系统中主要的基本块级优化机会,去除load/store冗余、精确异常导致的冗余和标志位处理冗余.测试表明,相比QEMU,该优化技术的跨平台x86系统虚拟机ARCH-BRIDGE的翻译开销降低了53%,翻译块尺寸降低了78%,load和store操作数量分别了降低了50%和21%.  相似文献   

12.
动态二进制翻译器在运行时将源体系结构机器码翻译为目标体系结构机器码.这种即时编译技术使得源机器上的软件无需重编译就可以直接在目标机上较高效地运行.然而,利用动态二进制翻译器运行源软件的效率大大低于针对目标机器重新编译运行源软件的效率.本文在比较分析动态翻译生成的目的机器码的性能偏低的原因的基础上,提出了注解信息制导的动态二进制翻译及优化的方法.本文选取了三种注解信息,在英特尔的商用动态二进制翻译器"IA-32Execution Layer"和静态编译器"Intel(r)Compiler"上实现了注解信息制导的动态二进制编译及优化技术.实验结果表明该三种注解信息较大程度地提高了动态翻译码的执行效率.  相似文献   

13.
在无源跨平台移植的研究中,效率是制约动态二进制翻译技术发展的主要瓶颈.使用本地函数封装替换的翻译处理方式可以有效提高二进制翻译的性能.然而在实际应用中,随着源程序中库函数调用次数或者翻译器支持库函数数量的增长,库函数处理过程的无用查询开销随之增长,减弱了该方法的优化效果.针对此类问题,结合动态二进制库函数处理过程内在动静结合的性质,提出了将查询信息静态预处理,使用散列函数实现查询过程的优化方法,实现了源程序中库函数地址到相对应处理函数的快速映射,降低了查询开销.基于动态二进制翻译器QEMU实现并测试了优化方法,通过实验验证了该方法降低库函数处理过程中查询开销的有效性.  相似文献   

14.
传统的静态编译器优化存在着各种限制,为此,提出了一种运行期动态优化的对策。在程序的执行过程中,持续检测程序运行的profile信息,并根据这些信息对程序代码进行优化变换,创建并运行程序代码的优化版本。这种运行期动态优化操作是直接针对程序的二进制代码的,不针对程序语言或编译器。这不仅带来优化的透明性,还使得老版本的源代码即遗留代码也可以从优化技术中获得性能提升。  相似文献   

15.
以动态二进制仿真器QEMU为平台,分析动态二进制翻译技术在仿真器开发中的应用,研究QEMU的翻译机制、优化策略、关键技术,并对相关重要代码进行解析。对仿真CPU的性能进行测试,结合分阶段的测试结果,从中找出制约仿真CPU性能的关键阶段,为后续的优化工作提供参考依据。  相似文献   

16.
动态二进制翻译技术通常采用基本块作为翻译和执行的基本单元,动态翻译中的基本块在划分过程中存在重叠冗余的情况,即当前翻译的基本块可能是一个已经过翻译的基本块子集,或者包含一个已翻译的基本块,这增加了翻译开销。该文从优化动态二进制翻译角度出发,检测、消除由基本块重叠冗余带来的开销。实验表明,在动态二进制翻译过程中存在5%左右的基本块重叠率,通过消除这些冗余可以将翻译和执行的性能提高1%~4%。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号