欢迎来到天天文库
浏览记录
ID:34392555
大小:327.42 KB
页数:4页
时间:2019-03-05
《一种支持vliw dsp条件跳转指令的技术研究new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据《工业控制计算机》2009年22卷第2期一种支持VUWDSP条件跳转指令的技术研究幸ResearchOnaTechnOlogyfOrVLIWDSPSCOnd;tiOnalBranchInstructiOns余锋林耿锐(中国电子科技集团第38研究所,安徽合肥230031)戴福泉(中国科学技术大学计算机系,安徽合肥230027)摘要条件跳转指令是VL
2、WDSP中频繁使用的一种指令,循环是条件跳转指令应用的主要领域之一。条件跳转指令高效的设计是VLlWDSP高效运行的关键。针对这类指令实现的复杂性,讨论了一种新的结构HyperbIock,并用这种结
3、构设计实现了BWDSPl00处理器中的条件跳转指令,实验证明该方法对于DSP核心算法程序以及实际应用程序都可以获得较好的优化效果,提高了指令并行性。关键词:超长指令字,编译器。超块AbstractcondniOnaIbranchinstructionisacOmmOninstructiOnofVLlWDSP,andmainIyappIiedOnthe订npIemenlatiOnOfk×)pe×ecutiOns.TheimpIemen£ationofthisinstructiOngreatIy{mpactsOnthee钎lciencyoftheVUWd
4、spe×ecutiOns.Dlscussesanewstructure,andreferredloasthehyperbIocktoaccompIishcondjlionalbranchinstructiononBwDSPl00.TqeexperimentshOwsthegreat阳pravementandstabilizatiOnOfILP.●’(eywOrds:VIiw,cOmpiIer.hyperbIock指令级并行一直以来都是编译器领域的一个研究热点。为了提高ILP,编译程序要尽可能地识别出能并行执行的指令,而程序中分支引起的控制相关使得后续
5、执行指令不确定,这在很大程度上限制了编译模块对ILP的开发,针对这一问题,谓词执行技术被提出,该技术消除了分支,把程序中的控制相关转变为数据相关,使得指令调度和优化可在多条控制路径上同时进行,为ILP的提高提供了更广阔的空间。谓词执行就是一种消除分支技术,把程序中的控制相关转换为数据相关的技术。该技术通过if-conversion过程将条件分支转换为谓词定义指令,将依赖于分支结果的指令转换为谓词执行指令。形如(Pg)stmtA为谓词执行指令,该类指令就是在普通运算指令前增加r一个布尔源操作数Pg,称为监视谓词。运算指令的执行依赖于该监视谓词的值,即当
6、Pg的值为真时,语句A执行,否贝lj空操作。形如(Pg)pdO-jypeO、pdl一typel=(srcOcondsrcl)为谓词定义指令.其中(srcOcondsrcl)为条件C,其中pdO.typeO、pdljypel为分别以某种类型定义的甄个谓词,Pg为监视渭词,lype则定义了目的谓词操作数的运算方式。谓词执行是一种处理条件分支指令的有效的技术,然而在支持谓词技术的一般编译器中存在两个扣l题,一是不管指令的执行频率和大小,所有的控制路径都合并到一条路径上,这样的编译器效率很低,另一个问题是投机执行在谓词技术中解决难度大,效果欠佳。鉴于上述两个
7、问题本文采用了一种新的结构hyperblock,它能有效地解决这些问题,以下将介绍hyperbIock的构建、优化以及试验结果。1Hype由lock中基本块的选择HyperbIock是由一组有条件执行的基本块组成。它只有一个入口,但可以有多个出口,所有的控制流信息只能从顶端的唯$中国电子科技集团公司技术创新基金(K51925—16)一入口进入.以下主要介绍HyperbIock内基本块的选择和Hy-perblock的构建。构建Hyperblock的第一步就是决定哪些基本块被选人到Hyperblock中,选择块的主要区域是循环的代码中和带有条件执行的没有
8、循环的代码。每个基本块都有很多特征,其中的执行频率。基本块大小,指令特征三个特征被列为选入HyperbIock的重要冈素,如下逐一介绍。执行频率(weigh-bbi):选择执行频率较大的基本块,排除执行频率较小的块,这样就减少了执行频率小的基本块对资源的竞争,从而可扩大经常执行基本块的优化和调度的自由空间,其中执行频率的信息是从ProfiIe信息中获取的。基本块大小(size-bbi):选择代码量比较小的基本块,代码量大的基本块容易引起资源缺乏而影响ILP的提高。指令特征(bb-chari):排除那些比较难处理的指令,如过程调用,unresoIvab
9、lememo吖accesses。这些指令需要资源比较多,限制r指令并行性。综上所述。一个计算基本块选择值的启
此文档下载收益归作者所有