首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 125 毫秒
1.
曹欢寅  张妍 《计算机系统应用》2011,20(5):101-104,143
介绍一个可以在多种处理器体系结构上运行的轻量级x86模拟器PIT(Portable x86 Instruction Translator)."动态二进制指令翻译"足一个可以让一种机器的指令运行在另一种机器上的技术.PIT采用了可移植的动态二进制指令翻译技术,可以在多种体系结构(包括x86,PowerPC,ARM,Spa...  相似文献   

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

3.
二进制翻译是在不同硬件平台之间实现软件迁移的重要手段.在二进制翻译系统中,如何在没有标志位寄存器的目标平台上模拟实现源平台上标志位寄存器的功能,是影响系统性能的关键.现有的标志位分析技术通过对标志位的定值引用进行数据流分析,尽可能多地消除冗余的标志位定值.但是,对于那些会被引用的标志位定值,现有的技术仍然需要进行翻译.这不仅会导致翻译生成代码的膨胀,还会影响二进制翻译系统的性能.提出了一种二进制翻译中基于模式化的标志位翻译方法.该方法在标志位分析技术基础上,通过将源平台上标志位定值指令和引用指令组合成固定的标志位模式,然后根据模式的具体语义选择目标平台上具有相同语义功能的指令组合进行翻译.这种模式化的翻译方法,不仅可以降低因翻译标志位而引入的代码膨胀,还可以提升二进制翻译系统的性能.实验结果表明,对于SPEC CINT2006中的程序,该方法不仅可以使翻译生成的代码量平均减少7.5%,还可以将程序的性能平均提升10%.  相似文献   

4.
指令描述的自动检测技术   总被引:2,自引:0,他引:2  
杨欣  赵荣彩  李崇 《计算机工程与设计》2006,27(18):3344-3348,3352
通过使用高级说明语言描述指令集,自动生成指令编码和解码程序,使单调乏味而且非常容易出错的机器代码重定向工作自动化,并且通过反汇编测试平台对这项描述的正确性实现自动检测.这对于64位、具有更高的指令级并行性(ILP)的IA-64,在二进制指令代码流的自动分析和变换,基于机器和操作系统的描述来实现IA-64二进制自动翻译和逆向工程中有重要的意义.概述了对IA-64指令的SLED描述,详细阐述了利用NJMCT自动生成反向工具的设计与实现技术.  相似文献   

5.
通过对比分析静态与动态二进制翻译系统,描述了基于机器状态的二进制翻译形式化模型。该形式化模型在实践上对于二进制翻译工程具有理论指导作用,并且可为保证翻译过程及结果的正确性提供理论基础。  相似文献   

6.
传统的动态二进制翻译系统缺少调试器支持或者调试功能有限,随着开发规模的扩大,调试手段成为制约设计开发进度的瓶颈。该文提出一种针对动态二进制翻译系统的调试器框架,引入观察点、回退执行与调试脚本3个功能,通过在Crossbit平台上的验证,证明该技术能够高效地帮助程序员发现错误,提高系统的开发进度。  相似文献   

7.
二进制翻译技术是从一种指令集到其他指令集的代码转换技术,可用以解决移植代码到新硬件平台时的重编译问题。旨在设计和实现一种DOS环境模拟器。该模拟器基于动态二进制指令转换技术,通过对X86指令的动态翻译,结合对外设模拟技术、系统中断模拟方案等一些关键技术的研究,最终使得原先在DOS系统中运行的应用程序无需重新编译,就能在多种异构体系平台上正确地运行。通过对翻译块进行有效的组织管理,使得该动态翻译得到很好的运行性能。  相似文献   

8.
动态二进制翻译提供了无需重新编译源代码就能将源机器生成的可执行代码自动转换到目标机器的方法,很好地解决了代码兼容性问题.其核心思想是根据程序的动态运行信息找到反复执行的代码序列,对代码序列进行翻译和优化,并将结果多次重用.指令调度作为一种有效的编译优化手段,也适用于动态二进制翻译.在对gcc的指令调度器分析研究的基础上,结合动态二进制翻译的实时性特点,提出了适合动态二进制翻译的效率高、开销小的指令调度算法.  相似文献   

9.
动态二进制翻译与优化技术推动了计算机体系结构的发展。以龙芯3A处理器为实现平台,在系统级模拟模式下,针对原二进制翻译器QEMU寄存器分配方案提出跨平台优化方法,同时引入热路径对动态二进制翻译过程中冗余代码进行优化。实验结果表明,经过优化后,在龙芯3A平台上通过QEMU翻译器运行Windows XP操作系统,其常用X86应用程序的运行速度得到可观提升。以上研究对基于龙芯平台的系统级跨平台应用程序的实用化具有深远的现实意义。  相似文献   

10.
在二进制翻译中引入TCG中间表示技术可以实现多目标平台之间的程序移植,同时可以更加方便地引入新型平台,解决新平台对主流平台的兼容性问题。然而由于原有的中间表示在翻译过程中影响了代码的关联度,生成的后端代码中存在较多冗余指令,影响翻译程序的执行效率。分析了指令优化可行性,针对条件跳转指令进行优化,通过指令预处理对中间表示进行改进,实现中间表示到后端代码生成由一对多翻译模式到多对多翻译模式的转变,采用指令归约技术,针对条件跳转指令的2种模式CMP-JX型与TEST-JX型,分别设计相应的优化翻译算法,并在开源二进制平台QEMU上实现。基于NPB-3.3和SPEC CPU 2006测试集进行了测试,与以前的翻译模式进行对比,优化后的代码膨胀率平均减少了14.62%,翻译程序运行速度提升了17.23%,验证了该优化方法的有效性。  相似文献   

11.
在跨平台系统虚拟机原型ARCH-BRIDGE的基础上,提出了一种基本块级的动态二进制翻译优化方法,通过两阶段翻译、基于虚拟寄存器的优化翻译及延迟机器状态提交等技术,可在不采用中间表示及确保精确异常的情况下,有效去除二进制翻译所引入的冗余。测试表明,优化后的ARCH-BRIDGE在翻译开销明显优于QEMU的同时,翻译块尺寸和翻译冗余得到了大幅降低,并且SPEC CPU2006、NBENCH及OS引导的性能均得到了显著提升。  相似文献   

12.
动态二进制翻译是广泛应用于虚拟机系统的一种二进制代码的翻译技术。动态二进制翻译由于拥有代码缓存、本地执行、代码块链接、动态热路径生成等优化技术的支持,有着很高的性能。CrossBit是一个多元多目标的动态二进制翻译系统,通过对CrossBit二进制翻译器的性能进行的研究,分析动态二进制翻译器性能提升中所必须解决的若干问题,并通过定量的分析总结了一些二进制翻译系统的在不同的配置和负载下系统优化手段的执行时策略。  相似文献   

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

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

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

16.
基于二进制翻译的仿真器关键技术研究   总被引:1,自引:1,他引:0       下载免费PDF全文
张激  李宁波 《计算机工程》2010,36(16):246-248
介绍基于构件化的仿真器设计方法,比较动态二进制翻译和静态二进制翻译的区别,分析动态二进制翻译技术在仿真器开发中的应用,并对基于二进制动态翻译的仿真器的关键技术——指令集仿真、T-cache缓存管理等问题进行分析,针对二进制动态翻译中的自修改代码翻译问题,给出具体的解决方案。  相似文献   

17.
面向二进制移植的虚拟化技术   总被引:1,自引:0,他引:1  
从ISA和ABI两种不同层次出发,探讨了当前二进制移植存在的问题,分析了其对应解决方法的优劣,明确了虚拟化技术是实现二进制移植的重要手段。研究了支持ISA或ABI间二进制移植中的三种虚拟化方法,即解释和二进制翻译、资源虚拟化、内核虚拟化。提出了一种结合动态二进制优化技术的高效进程虚拟机Long-Win,其支持Windows应用程序在Linux操作系统上运行,实验结果表明,其性能与Wine相比提高了6%~10%。  相似文献   

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

19.
二进制翻译应用级异常处理   总被引:2,自引:2,他引:0  
二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用.异常处理是二进制翻译的一个重要方面,如何解决异常处理和二进制翻译效率的矛盾是问题的关键.提出了在库函数包装层面处理主动异常和被动异常的方法,一个算法可以高效处理信号异常,另一个算法使用栈展开技术,得到调用地址用于处理try catch异常.实验结果表明,上述方法能够正确处理异常函数,同时对于普通应用程序加入异常处理机制之后性能并不受影响.  相似文献   

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

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

京公网安备 11010802026262号