首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到14条相似文献,搜索用时 46 毫秒
1.
IA-64架构为获得高性能支持许多先进体系结构的特性,例如显式指令级并行,指令判定执行,以及投机装入等,这些特性对编译器是可见的,但是为了充分利用这些体系结构的特性,编译器优化往往将程序的代码进行深度重构,使得从优化后的可执行代码中很难恢复源程序逻辑。本文提出了在IA-64二进制翻译中应用优化代码消除技术,提高翻译效率和生成目标机代码的质量。  相似文献   

2.
IA-64体系结构使用软件流水提高程序的执行性能,但产生的二进制代码跟机器特性紧密相关,给代码跨平台移植造成了困难。该文针对IA-64体系结构下软件流水的特点,提出2种软件流水代码消除方法,它能够将软件流水代码转换成语义等价无硬件依赖的串行代码,实验验证了这2种方法的有效性。  相似文献   

3.
在逆向工程中,软件流水循环为逆向翻译带来了困难。针对如何在IA-64二进制翻译中处理软件流水循环提出一种解决方案,采用直接语义映射算法,并通过实验验证该算法在二进制翻译中处理软件流水代码的有效性,为在IA-64二进制翻译中处理软件流水代码奠定了基础。  相似文献   

4.
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案。并通过在IA-64体系结构上对C和C 编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率。  相似文献   

5.
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案.并通过在IA-64体系结构上对C和C++编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率.  相似文献   

6.
寄存器旋转技术为每一个循环迭代都提供一组专用的寄存器,从而减少对循环展开的需求。针对如何在IA-64二进制翻译中处理旋转寄存器的问题,提出一种在二进制翻译器的后端直接模拟寄存器旋转特性的解决方案,实验结果证明了该方法在二进制翻译中处理软件流水操作代码的有效性。  相似文献   

7.
过程抽象技术是用机器无关的表达方式对过程中与机器相关的内容进行抽象。然而用传统的Pascal,C或者是C 语言来实现该技术是相当困难的。本文基于IA64二进制翻译框架,提出了一种新的过程抽象技术,并对扩展的过程抽象语言进行了详细介绍。  相似文献   

8.
过程抽象技术是用机器无关的表达方式对过程中与机器相关的内容进行抽象.然而用传统的Pascal,C或者是C++语言来实现该技术是相当困难的.本文基于IA64二进制翻译框架,提出了一种新的过程抽象技术,并对扩展的过程抽象语言进行了详细介绍.  相似文献   

9.
IA-64体系结构使用64位指令集,该指令集应用显式并行指令计算(EPIC)技术,可提供更高的指令级并行性(ILP),但同时也给IA-64二进制代码流的分析和变换带来了困难.介绍了一个IA-64解码器自动生成器的结构与实现,该生成器的输入为IA-64指令集的SLED描述,自动生成用于IA-64指令解码器的C代码.通过该生成器可有效减少解码器的开发时间,确保解码器的正确性,提高解码器的执行效率.实现的自动生成器可应用于IA-64二进制翻译及逆向工程中.  相似文献   

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

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

12.
The single‐instruction multiple‐data (SIMD) computing capability of modern processors is continually improved to deliver ever better performance and power efficiency. For example, Intel has increased SIMD register lengths from 128 bits in streaming SIMD extension to 512 bits in AVX‐512. The ARM scalable vector extension supports SIMD register length up to 2048 bits and includes predicated instructions. However, SIMD instruction translation in dynamic binary translation has not received similar attention. For example, the widely used QEMU emulates guest SIMD instructions with a sequence of scalar instructions, even when the host machines have relevant SIMD instructions. This leaves significant potential for performance enhancement. We propose a newly designed SIMD translation framework for dynamic binary translation, which takes advantage of the host's SIMD capabilities. The proposed framework has been built in HQEMU, an enhanced QEMU with a separate thread for applying LLVM optimizations. The current prototype supports ARMv7, ARMv8, and IA32 guests on the X86‐64 AVX‐2 host. Compared with the scalar‐translation version HQEMU, our framework runs up to 1.84 times faster on Standard Performance Evaluation Corporation 2006 CFP benchmarks and up to 6.81 times faster on selected real applications.  相似文献   

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

14.
投机机制通过改善内存操作的效能而提高程序执行性能,但是它需要大量复杂的代码处理投机失败及恢复,增加了程序的理解和代码重建工作的复杂性。文章提出了投机代码消除技术,描述了如何应用该技术消除优化后的IA-64二进制代码中的投机指令,并证明了程序的语义不变,最终使得投机消除后的代码更容易理解,提高了对IA-64代码进行再工程的效率和代码质量。  相似文献   

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

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

京公网安备 11010802026262号