期刊文献+

IA-64软件流水的反流水算法研究 被引量:2

Study on de-pipeline algorithm for software-pipeline of IA-64
下载PDF
导出
摘要 软件流水是一种开发循环程序指令级并行性的技术,它通过并行执行连续的多个迭代来加快循环的执行速度。而在逆向工程中,软件流水却为逆向翻译带来了困难。为此,基于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
  • 相关文献

参考文献9

  • 1LAM M.Software Pipelining:An Effective Scheduling Technique for VLIW Machines[A].Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation[C].Atlanta,Georgia,United States,1988.318 -328.
  • 2HUFF RA.Lifetime-Sensitive modulo scheduling[A].Proceedings of the ACM SIGPLAN'93 Conference on Programming Language Design and Implementation[C].New York:ACM Press,1993.258.267.
  • 3MOSBERGER D,ERANIAN S.IA-64 Linux Kernel Design and Implementation[M].Beijing:Tsinghua University Press,2004.
  • 4汤志忠,李文龙,苏伯珙.一种软件流水的反流水算法[J].软件学报,2004,15(7):987-993. 被引量:1
  • 5EVANS JS,TRIMPER GL.Itanium Architecture for Programmers:Understanding 64-Bit Processors and EPIC Principles[M].Beijing:Tsinghua University Press,2004.
  • 6LADSARIA A.Modulo Scheduling[EB/OL].http://www.crhc.uiuc.edu/ece411/sp02/Slides02/modulo.pdf,2002-05-05.
  • 7Intel IA-64 Architecture Software Developer's Manual-Overview of Volume 3:Instruction Set Reference[EB/OL].http://developer.intel.com/design/litcentr,2000 -01.
  • 8Intel Itanium Architecture Software Developer's Manuall-Volume 1:Instruction Set Reference[EB/OL].http://www.intel.com/design/itanium/manuals,2002-10.
  • 9MUCHNICK SS.Advanced Compiler Design Implementation[M].Beijing:China Machine Press,2003.

二级参考文献11

  • 1[1]Strauss W. Digital signal processing: The new semiconductor industry technology driver. IEEE Signal Processing Magazine,2000,17(2):52~56.
  • 2[2]Rau R, Fisher J. Instruction-Level parallel processing: History, overview, perspective. Technical Report, HPL-92-132, HP Labs,1992.
  • 3[3]Su B, Ding S, Xia J. URPR-An extension of URCR for software pipelining. In: Daniel D, ed. ACM SIGMICRO Newsletter. New York: ACM Press, 1986. 94~103.
  • 4[4]Wang J, Eisenbeis C. Decomposed software pipelining: A new approach to exploit instruction level parallelism for loop programs.In: Michael C, ed. Proc. of the Architectures and Compilation Techniques for Fine and Medium Grain Parallelism. 1993.3~14.
  • 5[5]TMS320C62x/C67x Programmer's guide. Texas Instrument Product Documentation, 1999.
  • 6[6]Rau B. Iterative modulo scheduling: An algorithm for software pipelining loops. In: ACM SIGMICRO Newsletter. California:ACM Press, 1994.63~74.
  • 7[7]Richard AH. Lifetime-Sensitive modulo scheduling. In: Budd TA, ed. ACM SIGPLAN Notice. ACM Press, 1993. 258~267.
  • 8[8]Cristina C. An environment for the reverse engineering of executable programs. In: Dennis W, ed. APSEC. Washington: IEEE Computer Society, 1995. 410.
  • 9[9]Jerome M, Laurie H. Decompiling Java using staged encapsulation. In: Thomas E, ed. WCRE. Washington: IEEE Computer Society, 2001. 368.
  • 10[10]Conte T, Sathaye S. Optimization of VLIW compatibility systems employing dynamic rescheduling. Journal of Parallel Programming, 1997,25(2):83~112.

同被引文献11

  • 1苏铭,宋宗宇,赵荣彩,钟声.IA-64逆向工程中谓词消除技术研究[J].计算机工程,2007,33(6):86-88. 被引量:1
  • 2Sites R L,Chernoff A,Kirk M B,et al.Binary Translation[J].Digital Technical Journal,1992,4(4):1-16.
  • 3Intel Corporation.Intel IA-64 Architecture Software Developer's Manual:Itanium Processor Programmer's Guide[EB/OL].(2000-01-02).http://www.csee.umbc.edu/help/architecture/24532001.pdf.
  • 4Intel Corporation.Intel IA-64 Architecture Software Developer's Manua:IA-64 Application Architecture[EB/OL].(2000-01-02).http://www.csee.umbc.edu/help/architecture/245317-01.pdf.
  • 5Lam M.Software Pipelining:An Effective Scheduling Technique for VLIW Machines[J].ACM SIGPLAN Notices,1988,23(7):318-328.
  • 6Evans J D,Trimper G L.Itanium Architecture for Programmers:Understanding 64-bit Processors and EPIC Principles[M].Beijing,China:Tsinghua University Press,2004.
  • 7Intel Corporation.Intel IA-64 Architecture Software Developer's Manual:Instruction Set Reference[EB/OL].(2000-01-02).http:// www.csee.umbc.edu/help/architecture/24531901.pdf.
  • 8Sites R L, Chernoff A, Kirk M B, et al. Binary Translation[J]. Digital Technical Journal, 1992, 4(4): 1-16.
  • 9Allan V, Jones R, Lee R, et al. Software Pipelining[J]. ACM Computing Surveys, 1995, 27(3): 368-432.
  • 10Intel Corporation.Intel IA-64 Architecture Software Developer's Manual Vol. IA-64 Application Architecture[EB/OL]. (2000- 01-25). http://www.csee.umbc.edu/help/architecture/24531701 .pdf.

引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部