共查询到15条相似文献,搜索用时 46 毫秒
1.
介绍了一个静态二进制翻译系统,详细说明了系统各部分的功能和具体实现方法。该系统将x86可执行文件翻译为MIPS目标代码并由MIPS机器执行,且实施了一定的优化。 相似文献
2.
3.
针对二进制翻译器QEMU(quick emulator)在寄存器映射时未考虑基本块之间以及循环体之间对寄存器需求的差异,造成不必要的寄存器溢出而导致的冗余访存开销问题,引入全局寄存器静态映射和局部寄存器动态分配思想,提出高效的基于优先级的动静结合寄存器映射优化算法.该算法首先基于源平台不同寄存器使用的统计特征和各变量的生命周期,静态进行全局寄存器映射;然后依据中间表示与源平台寄存器之间的映射关系,获取基本块中间指令需求寄存器次数并排序确定寄存器分配的优先级;之后依据优先级顺序动态进行寄存器分配,从而减少寄存器溢出次数,降低生成的本地代码的膨胀率以及访存次数,提高目标程序性能.对NBENCH、典型的递归程序和SPEC2006的测试表明:该算法有效地减少了本地代码的访存次数,提高了程序性能,平均比优化前性能分别提升了8.67%, 825%, 8.10%. 相似文献
4.
动态二进制翻译技术可以使编译好的二进制代码无缝运行于其他架构下,目前得到越来越广泛的应用.由于在动态翻译执行的过程中缺少程序的原始语义信息而只能采用保守的策略来保证程序的正确性,从而制约到动态二进制翻译的性能.为了解决这种不足,本文提出一种基于静态编译阶段产生的对性能有影响的元数据进行动态翻译中的寄存器化优化算法,进而来提高动态翻译器的整体性能.实验数据表明优化方法对于SPECfp2000和SPECint2000测试集分别获得了15.03%和1.21%的性能提升,其中的一些测试包的加速比甚至达到了37.09%. 相似文献
5.
库函数包装是在动态二进制翻译过程中将源二进制程序的库函数调用直接转嫁到目标机上的库函数调用,以此提高动态二进制翻译系统的性能。针对目前动主流的库函数手动包装技术,提出一种基于GCC的动态二进制翻译中库函数的自动包装技术,无需对库函数分别进行人工包装,节省了大量的工作,同时也降低了包装过程中出错的可能性。实验结果表明,通过库函数自动包装技术,动态二进制翻译器qemu的性能有了3%~5%的提升。 相似文献
6.
提出动态二进制翻译的两种优化方案:基本块和热路径;分析了从代码中抽取值得优化部分的详细过程;同时也给出针对这两种方案的一些优化方法.最后简单介绍了当前一些动态二进制翻译系统所采用的优化技术. 相似文献
7.
体系结构设计经常要在代码兼容和结构创新之间进行折衷。保证代码兼容的体系结构难以引入创新性的体系结构技术,或者导致最终结构变得相当复杂。本文提出一种基于动态二进制翻译优化的可扩展处理器结构VISA。VISA在实现兼容的前提下拓展了体系结构设计的空间。模拟结果显示,VISA性能优于现有的动态二进制翻译优化框架,并有更高
高的性能潜力和扩展空间。 相似文献
高的性能潜力和扩展空间。 相似文献
8.
复杂指令集计算机体系结构向精简指令集计算机体系结构的动态二进制翻译过程中经常出现地址不对界的问题。本文以I386到Alpha平台的动态二进制翻译为例,研究了内存映射时的不对界和数据存取时的不对界问题,提出了一种改进的内存映射方法以及在中间表示层处理不对界地址访存问题的方案,有效地解决了此类问题。经实验验证,该方法正确并有较高效率。 相似文献
9.
10.
在动态二进制翻译过程中,将执行频度高的代码片段长时间驻留在翻译缓存,同时扩大翻译器一次执行的代码量,是减少上下文切换开销、提升系统效率的有效途径。为此,提出了“热代码识别→超块缓存构造→T-Cache管理策略改进”的优化线索,设计了一种基于频度统计的热代码识别算法,将频度值超过预设阈值的基本块及其后续基本块作为热代码识别条件;基于识别出的热代码,提出了构造超块缓存的思想,将热代码包含的基本块翻译后做物理连接,形成容量更大的超块缓存提供给T-Cache系统;以此为基础,改进了T-Cache系统原有的查找方法和替换策略。实验验证了该优化方法的正确性和有效性,在国产申威处理器平台上,该方法使得标准测试集SPEC 2006获得平均9.34%的性能提升。 相似文献
11.
动态二进制翻译提供了无需重新编译源代码就能将源机器生成的可执行代码自动转换到目标机器的方法,很好地解决了代码兼容性问题.其核心思想是根据程序的动态运行信息找到反复执行的代码序列,对代码序列进行翻译和优化,并将结果多次重用.指令调度作为一种有效的编译优化手段,也适用于动态二进制翻译.在对gcc的指令调度器分析研究的基础上,结合动态二进制翻译的实时性特点,提出了适合动态二进制翻译的效率高、开销小的指令调度算法. 相似文献
12.
动态二进制翻译系统是根据程序的动态执行信息来将源机器上的可执行代码翻译成目标机器上的可执行代码.在翻译成中间表示的过程中会产生一些冗余的LOAD指令,为提高代码的执行效率,提出对这些LOAD指令进行冗余删除优化.该优化技术可以使优化效果超过其自身的开销,达到优化的目的. 相似文献
13.
介绍了一个用户级动态二进制翻译系统的结构设计,该系统实现了arm到x86的用户级动态翻译.详细介绍该系统各部分的功能、设计难点和具体运行过程. 相似文献
14.
动态二进制翻译中的TCache替换算法 总被引:2,自引:0,他引:2
马舒兰 《计算机应用与软件》2008,25(4):273-275
动态二进制翻译中常常使用TCache来管理翻译优化后的代码,一个好的TCache管理策略可以大大提高程序的执行速度.讨论了动态二进制翻译系统的TCache的特性,介绍了一些已经被广泛使用的TCache替换算法,包括全清空,先进先出,以及由此发展而来的基于工作集的全清空,粗粒度的先进先出等.对它们各自的优缺点进行了比较,发现粒度适中的粗粒度的先进先出算法的综合性能最好,结合了全清空和先进先出的优点. 相似文献
15.
张妍 《计算机应用与软件》2011,28(12)
二进制翻译技术是从一种指令集到其他指令集的代码转换技术,可用以解决移植代码到新硬件平台时的重编译问题。旨在设计和实现一种DOS环境模拟器。该模拟器基于动态二进制指令转换技术,通过对X86指令的动态翻译,结合对外设模拟技术、系统中断模拟方案等一些关键技术的研究,最终使得原先在DOS系统中运行的应用程序无需重新编译,就能在多种异构体系平台上正确地运行。通过对翻译块进行有效的组织管理,使得该动态翻译得到很好的运行性能。 相似文献