精确断点和不精确断点.pptVIP

  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文档。上传文档
查看更多
精确断点和不精确断点

5.3.7 精确断点与不精确断点;不精确断点(Imprecise),流水线可以不断流 需要的硬件比较少,控制逻辑比较简单 中断响应时间加长 采用不精确断点法可能会发生如下两个问题: (1)程序的调试困难 调试程序时要设置断点,程序员通过查看断点处的中间执行结果判断程序是否正确。但由于不精确断点,程序不能准确中断,因此,难于调试。 早期的流水线处理机,多采用不精确断点法 近期的流水线处理机一般都采用精确断点法;(2)程序执行的结果可能出错,例如: i:FADD R1, R2 ;(R1)+(R2)→R1 i+1:FMUL R3, R1 ;(R3)×(R1)→R3 当第i条指令执行到S6段时发现浮点加法结果溢出,于是发出中断服务申请。由于采用不精确断点法,已经进入流水线的第i+1条指令将执行完成;因为第i+1条指令使用了不正确的R1,所以浮点乘法的执行结果是不正确的。 采用精确断(Precise)点法,要设置一定数量的后援寄存器,把整个流水线中所有指令的执行结果和现场都保存下来。;5.4 动态调度技术;实现方法: 由硬件动态调整指令执行顺序,以减少数据相关造成的影响。 主要优点: 能够处理在编译时无法确定的相关,并简化编译器设计 在其他流水线机器上编译的目标代码也能够高效运行 用静态调度法生成的代码也能在动态调度法的机器中运行 主要缺点:指令级并行度低,因为只能在比较小的范围内寻找并行性;5.4.1 顺序流动与乱序流动;指令k+2无法继续执行,要在功能段S2中等待。 后续的指令k+4、k+5、……等也不能进入流水线。 功能段S3、S4、S5将逐渐空闲。 缺点:吞吐率和效率降低 优点:流水线的控制逻辑比较简单;流水线“断流”,有些功能段“空闲”;2.乱序(Out of order)流动方式:指令流出流水线的顺序与流入流水线的顺序不同。又称为错序流动方式、无序流动方式、异步流动方式等。;5.4.2 乱序流动中的数据相关;(2)读写相关:指令k+1与指令k+2之间关于F1的相关,变量名相关、先读后写相关、反相关、RW相关、WAR相关等。 (3)写写相关:指令k与指令k+2左边的F1之间的相关关系称为:输出相关、写写相关、WW相关、WAW相关或写后再写相关等。 有时把相关称为“冒险”(hazard)、“竟争?? (competition)等。 在程序执行过程中,只有避免相关,执行结果才是正确的。; 三种数据相关可以用下列关系式来表示: 对于写读相关 D(i) ∩ S(j) ≠ ? 对于读写相关 S(i) ∩ D(j) ≠ ? 对于写写相关 D(i) ∩ D(j) ≠ ?;5.4.3 数据重定向方法;奈递落浚糟顶揪伯扑镑能绑氏鲸揖蹋虾攒文道咱缴籍奏开否氢隔酶蛀窘敦精确断点和不精确断点精确断点和不精确断点;2.变量换名技术 用来自动消除读写数据相关和写写数据相关 规则:一个变量只允许定值一次 在三种数据相关中,实际上只有写读数据相关必须依靠硬件、或采用软硬件结合的方法来解决 解决方法:推后处理或专用数据通路 在上面的数据重定向图中,把B换成了B’,并在以后的都引用B’读写数据相关和写写数据相关就不存在了。 一个实际例子:;Loop: LD F0, 0(R1) ADD F0, F2 SD 0(R1), F0 LD F0, -8(R1) ADD F0, F2 SD -8(R1), F0 LD F0, -16(R1) ADD F0, F2 SD -16(R1), F0 LD F0, -24(R1) ADD F0, F2 SD -24(R1), F0 SUBI R1, R1, #32 BNEZ R1, Loop;3.一个简单的程序: k: LOAD F1, A k+1: FADD F1, F2 k+2: FMUL F1, F3 k+3: STORE F1, B;专门设置:A→FADD、FMUL→B、FADD→FMUL三条专用路径。 撤消:F1→FADD、F1→FMUL、FADD→F1

文档评论(0)

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

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

1亿VIP精品文档

相关文档