首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 125 毫秒
1.
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案.并通过在IA-64体系结构上对C和C++编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率.  相似文献   

2.
齐宁  赵荣彩 《计算机工程》2006,32(23):49-51
在对IA-64二进制代码进行翻译的过程中,一个重要的问题就是识别和恢复通过跳转表实现的switch语句。分析了编译器生成跳转表时采用的策略,提出了前向预取同反向切片及表达式置换相结合以识别和恢复switch语句的技术,归纳了用于获取跳转表地址的规格化形式,给出了跳转表分支目标地址恢复方法,从而可将包含跳转表的IA-64二进制代码恢复为高级switch语句。该技术已经在二进制翻译框架I2A上进行了测试,可以处理编译器gcc 2.96及gcc 3.2.3在多种优化级别下生成的IA-64代码。  相似文献   

3.
IA-64二进制代码switch语句恢复技术研究   总被引:1,自引:1,他引:0  
在对IA-64二进制代码进行分析的过程中,一个基本的问题就是识别通过跳转表实现的switch语句中n-条件分支的目标地址,该问题的解决使得对指定过程的机器指令的解码更加完整。文章基于切片和表达式置换技术,结合IA-64中为switch语句生成的汇编代码特点,给出了恢复跳转表及目标地址的方法,从而可以将包含跳转表的IA-64二进制代码恢复为高级switch语句。  相似文献   

4.
当前二进制翻译中通用的main函数定位方法依赖于符号表,随着strip工具的普遍应用,二进制可执行文件中往往不存在符号表。该文描述了strip工具的应用目的,分析了其应用对二进制翻译的影响,基于ELF文件加载机制的分析,提出了一种新的main函数定位技术,通过对IA-32及IA-64下ELF格式二进制文件的翻译,证明该技术是有效的。  相似文献   

5.
函数返回类型恢复分为库函数和用户函数返回类型恢复两类。分析IA-64体系结构在函数调用和返回方面的特性得知,用户函数返回类型恢复不是只能从调用者的角度进行分析,还可从被调用者的角度进行分析。综合两种分析方法的优缺点,提出了一种全新的函数返回类型恢复方法。介绍了静态二进制翻译系统ITA中基于控制流和数据流分析的函数返回类型恢复技术,并给出相应的实现算法。由IA-64体系结构的实例验证证明,该方法是一种实用的函数返回类型恢复方法。  相似文献   

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

7.
安腾(IA-64)提供的旋转寄存器机制使软件流水代码难于理解、调试和移植,在分析IA-64旋转寄存器机制的基础上,提出一种旋转寄存器逆向分析方法。该方法通过分析软件流水阶段计算旋转间距,由旋转间距识别出流水代码中的旋转相关寄存器。将该方法应用于静态二进制编译系统12A中,通过实验证明能够有效消除旋转寄存器对二进制翻译带来的影响。  相似文献   

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

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

10.
目前对处理器速度的追求促使指令集体系结构不断发展,但是软件的支持却不能与其匹配,造成新体系结构推广的困难,研究、解决代码迁移问题的二进制翻译方法应运而生。文中介绍了二进制翻译中解码器的功能,并结合IA-64的指令特点,设计出基于指令束的解码算法。根据测试中发现该算法存在的问题,提出了改进方案,消除束的特性,给每条指令赋予唯一地址并按此地址进行解码。在IA-64至Alpha的二进制翻译课题中,对该算法进行了工程实现。  相似文献   

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

12.
文章[1]中提出了数组之间的数据融合优化方法,并以IA-32服务器为平台测试了数据融合优化的效果。测试结果表明,在IA-32机器上,数据融合优化在性能代价模型的控制下,能较好地改善具有非连续数据访问特征的应用程序的CACHE利用率。那么,在新一代体系结构IA-64平台上,数据融合优化的效果如何呢?该文分别以IntelIA-32服务器和HPITANIUM服务器为平台,用IntelFORTRAN编译器ifc和efc及自由软件编译器g95分别编译并运行数据融合优化变换前后的程序,获得两种平台上的执行时间及相关的性能数据。测试结果表明,源程序级的数据融合优化不能很好地与IA-64平台上的EFC编译器高级优化配合工作,在O3级优化开关控制下,优化效果是负值。此测试结果进一步表明,编译高级优化如数据预取、循环变换和数据变换等各种优化必须结合体系结构的特点统筹考虑,才能取得好的全局优化效果。该文为研究各种面向IA-32体系结构的编译优化算法在IA-64体系结构上的性能可移植性优化起到抛砖引玉的作用。  相似文献   

13.
Dulong  C. 《Computer》1998,31(7):24-32
Two key architectural features: predication and control speculation, will enable IA-64 compilers to extract instruction level parallelism. To show how compilers will use IA-64 instructions, the author uses code fragments from the pointer chasing problem, an inherently serial code, and from a nested loop with difficult to predict branches  相似文献   

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

15.
代码翻译中Case语句的识别和恢复   总被引:1,自引:0,他引:1  
苏铭  赵荣彩  齐宁 《计算机应用》2005,25(10):2439-2440
提出了在开发IA 64二进制翻译系统中采用的n 条件分支跳转表和目标地址恢复技术。着重论述了该技术的核心——过程内切片和表达式替换,以及针对IA 64特性的改进算法。  相似文献   

16.
控制与数据投机优化技术的研究   总被引:1,自引:0,他引:1  
控制投机和数据投机是提高程序指令级并行度的有效方法.为了保证投机指令的正确执行,须解决两个问题,即延迟触发控制投机指令导致的异常和数据投机中的别名歧义.这需要硬件的支持才能做到,所以以前在这方面的研究大多是在模拟器上进行的,侧重于描述对模拟器结构的扩展.而IA-64是第一个同时支持这两种优化的体系结构.基于此,作者用一个统一的框架在IA-64开放源码研究编译器(ORC)中首次实现了控制与投机优化.该文以编译器为侧重点,介绍了投机优化中的几个核心问题及其解决方法,其中包括一种新的用来维护投机代码正确性的算法.实验结果表明这种方法是有效的.  相似文献   

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

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