首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 953 毫秒
1.
在二进制翻译中,库函数本地化处理是指不直接翻译源文件中的库函数而是使用本地目标机的库函数进行替换,以此提高翻译性能。针对国产平台二进制翻译中库函数处理翻译模式的相关特性,提出一种库函数解析处理机制,借助helper函数实现库函数替换操作。通过修改基本块划分规则,将库函数替换部分翻译的基本块进行合并,构建超级块,减少源程序中基本块划分数量与程序执行跳转次数,在保证翻译正确性基础上有效提高翻译效率。在动态二进制翻译器QEMU上进行的实验结果表明,与未优化的库函数处理翻译方式相比,翻译后程序加速比平均提升9%,有效提高了翻译效率。  相似文献   

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

3.
为了扩展动态二进制翻译产生的本地翻译块,消除因分支目标重复产生的冗余本地代码和返回代码,降低代码缓存的内存占用,提出一种基于控制流识别的代码缓存压缩策略.通过分析投机与非投机2种扩展方式的利弊,结合嵌入式程序分支指令的特征,通过分支方向和偏移量识别对应的控制流;根据控制流选择适合本地翻译块的扩展方式,压缩动态二进制翻译的代码缓存.运行嵌入式基准测试程序时的实验数据表明,在实现该策略后,QEMU二进制模拟器代码缓存的内存占用降低了10%~40%.  相似文献   

4.
二进制翻译是不同体系结构之间软件移植的重要手段。体系结构和硬件环境上的差别,可以通过二进制翻译系统来弥补,在翻译过程中往往使用多条本地指令模拟一条目标指令,翻译代码规模随之显著增加,从而导致被翻译程序的执行效率下降。寄存器作为处理器和内存交换信息的重要存储部件,寄存器的模拟器方式对于程序的性能有着至关重要的影响。为了提高特定平台翻译后代码的执行效率,提出了在动态二进制翻译机制中使用全部寄存器直接映射方法,详细分析了二进制翻译中的上下文切换原理和寄存器访问范围,为异构平台之间寄存器直接映射提供方法指导。利用QEMU模拟器,把x86架构的8个通用寄存器全部的直接映射到MIPS架构的对应寄存器,在此基础上,进行大量的指令翻译规则的简化。实验数据表明,该方法可以有效简化指令翻译,降低代码膨胀率,使得SPEC CINT 2000测试程序在龙芯CPU上翻译后代码运行时间下降了30%-40%。  相似文献   

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

6.
计算机体系结构的不断发展,使得代码迁移工作变得尤为重要,在这种背景下,二进制翻译技术应运而生。二进制翻译技术使得在已有的体系结构下生成的可执行文件自动迁移到新的体系结构中成为可能。以龙芯2F处理器为硬件平台,研究二进制翻译器QEMU中冗余指令的删除优化技术,使用代码活性分析方法来降低代码膨胀度,提高执行效率。该优化技术带来的优化效果超过其自身开销,具有实际优化价值。  相似文献   

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

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

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

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

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

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

京公网安备 11010802026262号