首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到15条相似文献,搜索用时 156 毫秒
1.
在逆向工程中,软件流水循环为逆向翻译带来了困难。针对如何在IA-64二进制翻译中处理软件流水循环提出一种解决方案,采用直接语义映射算法,并通过实验验证该算法在二进制翻译中处理软件流水代码的有效性,为在IA-64二进制翻译中处理软件流水代码奠定了基础。  相似文献   

2.
软件流水是一种循环程序的优化技术,它可以有效地提高指令级并行性。由于处理机的实现方法各不相同,在一种处理机上经过软件流水优化后的循环代码很难在其它处理机中移植和使用。反软件流水是软件流水的逆向操作,它可以消除循环代码中的软件流水特性,以便于代码在不同平台上的移植。基于IA-64体系结构,分析了软件流水的代码特点,提出了反流水算法,用于将ICC编译器编译后的可执行二进制代码消除软件流水特性,转换成语义等价的C代码。  相似文献   

3.
一种软件流水的反流水算法   总被引:1,自引:0,他引:1       下载免费PDF全文
软件流水是一种循环程序的优化技术,已经广泛应用于现代优化编译器中.为了充分利用VLIW DSP处理机的指令级并行性,必须使用软件流水技术对DSP程序进行优化.然而,在串行源代码不存在的情况下,对软件流水后的原始代码进行变换、理解、测试和调试,并转换成其他处理机的代码是非常困难的.提出了一种反流水技术,它能够将软件流水后的优化汇编代码反向转换成语义等价的相应代码.通过20个程序的初步实验,验证了所提出的反流水算法的正确性.  相似文献   

4.
具有条件分支的循环通过IF转换将显式的控制流转换为隐式的控制流,从而为指令调度提供进一步的机会.但它往往将程序的代码进行深度重构,增加了程序的理解和代码重建工作的复杂性.提出了一种软件流水循环中的隐式控制流恢复技术,用于重构软件流水循环中的条件分支,提高软件逆向工程中生成的目标代码的质量.  相似文献   

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

6.
软件流水技术是对程序及微程序中的循环进行优化的一种有效方法,可对基本块构成的循环体进行软件流水的LURPR算法已取得令人满意的效果。本文将在LURPR法的基础上,把软件流水技术扩展到任意结构的循环体,并给出相应的GURPR算法,GURPR算法可对任意的含非正常入口、条件出口、支路、循环嵌套及子程序调用的循环体进行软件流水。  相似文献   

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

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

9.
循环并行化是并行编译的核心问题之一。许多科学计算程序的大部分执行时间花费在循环上,有效开发循环中的并行性将提高整个程序的执行效率。多重循环最为常见,因此并行化多重循环具有重要的理论和现实意义。现代处理器中硬件资源迅速增长,也使得在整个多维循环空间中开发并行性成为必要。目前大多数软件流水算法只对最内层循环,仅有少数的算法对多重循环进行软件流水,本文介绍几种多重循环的软件流水算法,比较它们之间的相似与不同之处,为编译器实现中算法的选择提供了指导。  相似文献   

10.
软件流水是编译后端优化中针对循环的调度技术,在软件流水优化过程中,依赖环是影响软件流水优化的重要因素。针对循环体中依赖环导致软件流水失败的问题,通过对循环中的依赖环进行分析处理,基于传统的模调度框架,提出了改进的软件流水优化算法,对于造成依赖环的寄存器引入多个分量,实现了对含有归约变量循环的流水。通过典型的算法测试,实验结果表明,该框架能够使得更多类型的循环流水成功,对于循环核心性能提升至少58%。  相似文献   

11.
当计算划分层迭代数目较大,或是循环体单次迭代工作量较大,但可用的并行线程数目较小时,传统的基于循环分块的流水粒度优化方法无法进行处理。为此,提出一种基于循环分块减小流水粒度的方法,并根据流水并行循环的代价模型实现最优流水粒度的求解,设计实现了一个流水计算粒度的优化算法。对有限差分松弛法(FDR)的波前循环和时域有限差分法(FDTD)中典型循环的测试表明,与传统的流水粒度选择方法相比,所提算法能够得到更优的循环分块大小。  相似文献   

12.
软件流水的开销模型和决策框架   总被引:1,自引:0,他引:1       下载免费PDF全文
李文龙  林海波  汤志忠 《软件学报》2004,15(7):1005-1011
软件流水是一种重要的指令调度技术,它通过重叠地执行不同的循环体来提高指令级并行性(instruction level parallelism,简称ILP).模调度是一类被广泛采用的软件流水调度算法.软件流水并非一种无损的优化方法,它具有一定的开销,比如延长了编译时间、增加了寄存器压力等.而且,受到体系结构、调度算法以及程序特性的限制,进行软件流水并不一定能达到理想的加速比,有时反而会引起性能下降.提出了一种面向程序特性的软件流水开销模型,对此模型下的软件流水开销进行了量化分析,并提出了一种基于相关性分析的  相似文献   

13.
Software pipelining is widely used as a compiler optimization technique to achieve high performance in machines that exploit instruction-level parallelism. However, surprisingly, there have been few theoretical or empirical results on time optimal software pipelining of loops with control flows. In this paper, we present three new theoretical and practical contributions for this underinvestigated problem. First, we propose a necessary and sufficient condition for a loop with control flows to have an optimally software-pipelined program. We also present a decision procedure to compute the condition. As part of the formal treatment of software pipelining, we propose a new formalization of software pipelining. Second, we present two software pipelining algorithms. The first algorithm computes an optimal solution for every loop satisfying the condition, but may run in exponential time. The second algorithm computes optimal solutions efficiently for most (but not all) loops satisfying the condition. The former one proves the sufficiency of the condition and the latter one suggests a practical optimal software pipelining algorithm. Third, we present experimental results which strongly indicate that achieving the time optimality in the software-pipelined programs is a viable goal in practice with reasonable hardware support.  相似文献   

14.
支持多重循环软件流水的循环控制机制   总被引:1,自引:0,他引:1  
ILSP-内外层交替执行的多重循环的软件流水算法是对多重循环进行优化的有效方法。为了保证ILSP算法具有良好的时间效益和空间效益,就必须有一套支持这个算法的行之有效的多重循环软件流水机制。文中将比较详细地介绍一套控制机制。它与多重循环优化编译器相配合,可以有效地支持多重循环的软件流水,并且可以保证ILSP算法具有较高的加速比和较低的空间代价。  相似文献   

15.
苏伯珙  王剑 《计算机学报》1992,15(7):491-498,506
本文首先提出一种能够充分开发循环程序指令级细粒度并行性的编译技术——两级软件流水,该技术基于URPR软件流水算法,把资源分配和代码优化有机地结合起来;然后叙述采用两级软件流水的VLIW优化编译器;最后给出一个FFT内层循环编译过程的实例及初步实验结果.  相似文献   

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

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