摘要
软件流水是一种开发循环程序指令级并行性的技术,它通过并行执行连续的多个迭代来加快循环的执行速度。而在逆向工程中,软件流水却为逆向翻译带来了困难。为此,基于IA-64平台,提出了一种反流水算法,针对循环中包含软件流水的汇编代码进行处理,将其反向转换成语义等价的串行代码,并通过实验验证了该算法的有效性,为在二进制翻译中处理软件流水代码奠定了基础。
Software pipelining is a loop scheduling technique which extracts instruction level parallelism by overlapping the execution of several consecutive iterations. But in reverse engineering, it causes some difficulties to reverse translation. A de-pipelining algorithm based on the IA-64 architecture was proposed. This algorithm reversely converted the optimized assembly code of a software-pipelined loop to a semantically equivalent sequential counterpart. The experimental results have verified the validity of the proposed de-pipellning, which provides the basis for processing software pipelining in the binary translation.
出处
《计算机应用》
CSCD
北大核心
2006年第8期1919-1921,1927,共4页
journal of Computer Applications
基金
河南省杰出人才创新基金资助项目(0521000200)
国家重大专项子课题
关键词
软件流水
反软件流水
模调度
逆向工程
software pipelining
de-pipelining
Modulo Scheduling
reverse engineering