基于结果冗余解决数据相关新技术探讨.docVIP

基于结果冗余解决数据相关新技术探讨.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于结果冗余解决数据相关新技术探讨

基于结果冗余解决数据相关新技术探讨   摘 要:本文由流水线技术的相关问题引出基于结果冗余避免暂停的值预测技术和指令用技术,并通过实例将这两种技术和重定向技术比较,验证二者的优越性。最后对两种技术进行了比较、总结,并提出两种技术可改进性的看法。   关键词:结果冗余;值预测技术;指令用技术   中图分类号:TP393 文献标识码:A 文章编号:1674-7712 (2013) 18-0000-02   流水线技术是把一个重复的时序过程分解为若干个子过程,而每一个子过程都可以有效的在其专用功能段上与其他子过程并行执行。   流水线技术在一定程度上能提高指令的执行速度,但如果处理不好,指令的运行将达不到预期的结果,因为流水线的各个段之间存在较强的依赖关系。这些依赖关系主要体现在数据相关、控制相关和资源相关三种相关。微处理器硬件资源的丰富和分支预测技术的进步比较有效的解决了控制相关和资源相关的问题,而数据相关是提高指令级并行的重要技术手段之一。   一、目前解决数据相关的技术   在指令的执行过程中,经常出现这样一种情况:后续指令的操作数或变址偏移量正好是或依赖于前面指令的执行结果,那么必须进入等待状态,直到前面指令执行完成并将结果存储到通用寄存器中,这种现象称为数据相关性。数据相关性极大地影响了程序的执行效率和稳定性。   目前,消除数据相关主要通过数据重定向技术来实现。数据重定向技术也称数据旁路技术。因为往往在某条指令产生结果之前,其它指令未必真正需要其计算结果,通过设置相关的专用通路,直接把前一条指令的ALU计算机结果作为下一条指令的输入数据开始计算,这样就不用必须等待前一条指令完全执行完成后将计算结果写回寄存器组,使原本需要暂停等待的操作变得可以继续执行,缩短了时间提高了效率。   虽然重定向技术在一定程度上减少了指令间相互等待的时间,提高了并行速度,但仍然有其局限性。它并不能使有数据相关的串行化指令并行执行,串行化指令仍需等待,对于有丰富流水线资源能同时发射多条指令的处理器而言,其发挥空间受到限制。   二、基于结果冗余的两种方法的提出   (一)理论背景   程序执行过程中各指令可产生三种类型的结果:首次生成的新结果;与之前结果值相同的结果;可由其他结果推导生成的结果。这三种结果对应三种指令名称:独特型指令、重复型指令和可推导型指令,重复型指令和可推导型指令的集合又称为冗余指令。   经实验统计[1],:只有很少量的指令(5%)能生产出新的结果,绝大部分指令(80%~90%)生产的是重复的结果,另有一部分指令(5%)生产的结果是可推导的,即程序中存在大量的执行结果冗余。因此,我们可以利用结果冗余,提出解决数据相关的技术:值预测技术和指令重用技术。   (二)值预测技术   值预测技术是一种推断技术。值预测技术首先要借助存储值预测表来存储指令的预测值。在取指阶段,用先行指令的地址PC索引值预测表;在译码阶段从值预测表中获取先行指令的预测值,然后立刻将该预测值送至正在等待该操作数的后继指令,后续指令就利用这个预测值进行运算,这样即使两条指令存在数据相关性仍能并发执行。当先行指令计算出结果后,将该结果与之前的预测值进行对比,若结果与预测值不符,则说明之前的预测值是错误的,必须取消所有使用预测值的运算指令,并重新发射新的后继指令,将正确的结果作为新指令执行的操作数。若结果与预测值相同,则说明之前的运算都是基于正确的操作数进行的,无需回退,可以继续后继指令的执行,从而实现存在数据相关性的两条指令的并发执行。因此,值预测技术先推断先行指令的结果,后使先行指令与后继指令并行执行,从而消除了数据相关、提高了指令级并行。   其流水线结构如下图:   例1 假设有相关指令:I1:DECR1;I2:FADDR2,R1;   根据值预测技术,I1和I2同时取指,同时根据I1的地址PC索引值预测表;在两条指令译码的同时,把值预测表中的值送到等待该操作数的I2指令;两条指令并行执行,得出I1与I2的值;执行后把I1的结果与预测值比较,如果是相同的,则I2的值就可确认,如果不相同,则用I1的值重新计算I2。下图显示了重定向技术与值预测技术预测正确情况下的流程:   可见,在预测成功的前提下,值预测技术比重定向技术更有消除数据相关的潜力,它能使存在数据相关性的两条指令实现真正的并发执行,实现无缝连接,极大地提高了执行效率。   (三)指令重用技术   指令重用技术是一种非推断执行技术。指令重用技术借助重用缓冲器,存储某初次执行的指令的结果。当同样的指令再次出现(即指令的PC和操作数均相同)时,不必再次对其执行运算,而是在取指的同时直接赋值;在译码的同时用生用检验机制检查指令当前操作数的值与以前执行过的操作数

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档