期刊文献+

一种软件流水的反流水算法 被引量:1

A De-Pipeline Algorithm for Software-Pipeline
下载PDF
导出
摘要 软件流水是一种循环程序的优化技术,已经广泛应用于现代优化编译器中.为了充分利用VLIWDSP处理机的指令级并行性,必须使用软件流水技术对DSP程序进行优化.然而,在串行源代码不存在的情况下,对软件流水后的原始代码进行变换、理解、测试和调试,并转换成其他处理机的代码是非常困难的.提出了一种反流水技术,它能够将软件流水后的优化汇编代码反向转换成语义等价的相应代码.通过20个程序的初步实验,验证了所提出的反流水算法的正确性. Software pipelining is a loop optimization technique that has been widely implemented in modern optimizing compilers. In order to fully utilize the instruction level parallelism of the recent VLIW DSP processors, DSP programs have to be optimized by software pipelining. However, because of the transformation of the original sequential code, a software-pipelined loop is often difficult to understand, test, and debug. It is also very difficult to reuse and port a software-pipelined loop to other processors, especially when the original sequential code is unavailable. In this paper we propose a de-pipelining algorithm which converts the optimized assembly code of a software-pipelined loop back to a semantically equivalent sequential counterpart. Preliminary experiments on 20 programs verify the validity of the proposed de-pipelining algorithm.
出处 《软件学报》 EI CSCD 北大核心 2004年第7期987-993,共7页 Journal of Software
基金 国家自然科学基金~~
关键词 软件流水 反流水 指令级并行 software pipelining de-pipelining instruction level parallelism
  • 相关文献

参考文献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.

同被引文献8

  • 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.
  • 2MUCHNICK SS.Advanced Compiler Design Implementation[M].Beijing:China Machine Press,2003.
  • 3HUFF 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.
  • 4MOSBERGER D,ERANIAN S.IA-64 Linux Kernel Design and Implementation[M].Beijing:Tsinghua University Press,2004.
  • 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.

引证文献1

二级引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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