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

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

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

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

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

6.
对IA-32反编译后多分支结构的各种实现模式进行了系统的研究分析,并对复杂条件下典型的多分支结构实现模式进行了形式化的描述.在多分支结构的识别过程中,通过对索引表和跳转表调用指令的格式分析,提出了双特征指令匹配算法.通过程序切片建立了索引表和跳转表调用的表达式标准型,消除了多分支语句恢复过程中编译器类型和版本差异带来的影响,提高了算法通用性,对于进行程序反解及软件逆向工程具有重要的参考价值.  相似文献   

7.
对多分支结构编译后的各种实现模式进行研究分析,对复杂条件下典型的多分支语句实现模式进行形式化描述,在多分支结构的识别过程中,分析索引表和跳转表调用指令的格式,提出双特征指令匹配算法。通过程序切片,建立索引表和跳转表调用的表达式标准型,消除多分支语句恢复过程中编译器类型和版本差异的影响,提高了算法通用性。  相似文献   

8.
IA-64体系结构支持判断执行,提高指令级并行性,但是编译器为了充分利用该特性而做的优化将程序代码进行深度重构,对逆向工程来说很难从优化后的可执行代码中恢复原程序逻辑。该文提出了消除谓词的反优化技术,提高了可执行代码逆向工程的质量。  相似文献   

9.
IA-64中软件流水的寄存器需求研究   总被引:1,自引:0,他引:1  
软件流水是开发循环程序指令级并行性的重要方法之一,IA-64是支持软件流水的EPIC体系结构,通过对NAS Benchmarks中可软件流水循环所需的寄存器进行量化分析,提出了一种限制循环展开因子的启发式算法,有效地解决了因可用寄存器不足而导致软件流水失败的问题,并提高了应用程序的执行速度。  相似文献   

10.
反编译技术可以将二进制可执行程序转换为等价的高级语言形式代码,它是软件逆向工程研究的一个重要方向。对机器指令进行语义抽象以产生中间代码表示是反编译程序的一个关键环节。介绍了在反编译过程中通过语义描述由IA-64汇编代码生成更高级的中间表示的实现技术。将语义描述技术与IA-64体系结构的EPIC特性结合起来,有效地解决了EPIC机器指令的语义抽象问题。  相似文献   

11.
袁媛  尤晋元 《计算机工程》2005,31(16):219-221
针对Linux操作系统进行探讨,包括它的实现意义、实现方式、进展、测试方法和结果等。而对于具体实现方式,给出了实例分析。文中还包括了实验结果分析。  相似文献   

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

13.
Intel IA-64体系结构采用了全新的固件模型,它分为三个不同的层次:处理器抽象层(PAL)、系统抽象层(SAL)、可扩展固件接口(EFI)。介绍IA-64平台可扩展固件接口的基本结构和在目标平台上的实现方法。详细描述Intel的可扩展固件接口实现EFI1_10_14_62,以及把它移植到目标平台时要进行的主要工作和通常所采用的调试手段。  相似文献   

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

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

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