资源描述:
《一种软件流水的反流水算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汤志忠等:一种软件流水的反流水算法993一种软件流水的反流水算法*SupportedbytheNationalNaturalScienceFoundationofChinaunderGrantNo.60173010(国家自然科学基金)作者简介:汤志忠(1946-),男,教授,博士生导师,主要研究领域为计算机系统结构,指令级并行算法,并行编译技术;李文龙(1977-),男,博士生,主要研究领域为指令级并行算法;苏伯珙(1939-),男,教授,主要研究领域为并行算法,优化编译技术.汤志忠1+,李文龙1,苏伯珙21(清华大学计算机科学与技术系,北京100084)2(WilliamPaterson大
2、学计算机科学系,新泽西洲07470,美国)ADe-PipelineAlgorithmforSoftware-PipelineTANGZhi-Zhong1+,LIWen-Long1,SUBo-Gong21(DepartmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing100084,China)2(DepartmentofComputerScience,WilliamPatersonUniversity,NewJersey07470,USA)+Correspondingauthor:Phn:+86-10-62772213,E
3、-mail:tzz-dcs@tsinghua.edu.cn,http://www.cs.tsinghua.edu.cnReceived2003-09-24;Accepted2004-03-02TangZZ,LiWL,SuBG.Ade-pipelinealgorithmforsoftware-pipeline.JournalofSoftware,2004,15(7):987~993.http://www.jos.org.cn/1000-9825/15/987.htmAbstract:Softwarepipeliningisaloopoptimizationtechniquethathasbee
4、nwidelyimplementedinmodernoptimizingcompilers.InordertofullyutilizetheinstructionlevelparallelismoftherecentVLIWDSPprocessors,DSPprogramshavetobeoptimizedbysoftwarepipelining.However,becauseofthetransformationoftheoriginalsequentialcode,asoftware-pipelinedloopisoftendifficulttounderstand,test,andde
5、bug.Itisalsoverydifficulttoreuseandportasoftware-pipelinedlooptootherprocessors,especiallywhentheoriginalsequentialcodeisunavailable.Inthispaperweproposeade-pipeliningalgorithmwhichconvertstheoptimizedassemblycodeofasoftware-pipelinedloopbacktoasemanticallyequivalentsequentialcounterpart.Preliminar
6、yexperimentson20programsverifythevalidityoftheproposedde-pipeliningalgorithm.Keywords:softwarepipelining;de-pipelining;instructionlevelparallelism摘要:软件流水是一种循环程序的优化技术,已经广泛应用于现代优化编译器中.为了充分利用VLIWDSP处理机的指令级并行性,必须使用软件流水技术对DSP程序进行优化.然而,在串行源代码不存在的情况下,对软件流水后的原始代码进行变换、理解、测试和调试,并转换成其他处理机的代码是非常困难的.提出了一种反流水技术,
7、它能够将软件流水后的优化汇编代码反向转换成语义等价的相应代码.通过20个程序的初步实验,验证了所提出的反流水算法的正确性.关键词:软件流水;反流水;指令级并行中图法分类号:TP338 文献标识码:A汤志忠等:一种软件流水的反流水算法993在过去的几年中,数字信号处理机(digitalsignalprocessor,简称DSP)发展迅速[1],由于对提高性能及解决大范围应用程序的持续需要,许多厂商推出了基于