多操作部件标量处理机一条指令流水线-Read.PPT

多操作部件标量处理机一条指令流水线-Read.PPT

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多操作部件标量处理机一条指令流水线-Read

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 顺序流动与乱序流动 5.4.2 乱序流动中的数据相关 5.4.3 数据重定向方法 5.4.4 Tomasulo动态调度算法 实现方法: 由硬件动态调整指令执行顺序,以减少数据相关造成的影响。 主要优点: 能够处理在编译时无法确定的相关,并简化编译器设计 在其他流水线机器上编译的目标代码也能够高效运行 用静态调度法生成的代码也能在动态调度法的机器中运行 主要缺点:指令级并行度低,因为只能在比较小的范围内寻找并行性 5.4.1 顺序流动与乱序流动 1.顺序流动方式:任务按顺序流入流水线,也按顺序流出流水线 把如下一段程序输入到这条流水线中: k: R0←(R1) k+1: …… k+2: R2←(R0)+(R3) k+3: …… k+4: …… k+5: …… 指令k+2无法继续执行,要在功能段S2中等待。 后续的指令k+4、k+5、……等也不能进入流水线。 功能段S3、S4、S5将逐渐空闲。 缺点:吞吐率和效率降低 优点:流水线的控制逻辑比较简单 流水线“断流”,有些功能段“空闲” 2.乱序(Out of order)流动方式:指令流出流水线的顺序与流入流水线的顺序不同。又称为错序流动方式、无序流动方式、异步流动方式等。 5.4.2 乱序流动中的数据相关 在乱序流动方式中,可能发生三种数据相关 写写相关 k: LOAD F1, A ;F1?(A) 写读相关 k+1:FADD F2, F1 ;F2?(F2)+(F1) k+2:FMUL F1, F3 ;F1?(F1)?(F3) k+3:STORE F1, B ;B?(F1)读写相关 (1)写读相关:指令k与指令k+1之间关于F1的相关,又称为数据相关、先写后读相关、流相关、WR相关、RAW相关等。 (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 数据重定向方法 1.三种数据相关的重定向 重定向之前,j只能在i之后执行。 重定向之后,可以做到: (1)写读相关,j与i可以同时执行 即专用数据通路 (2)写写相关,先后顺序无关 (3)读写相关,先后顺序无关 后两种情况又称为“变量换名技术” 2.变量换名技术 用来自动消除读写数据相关和写写数据相关 规则:一个变量只允许定值一次 在三种数据相关中,实际上只有写读数据相关必须依靠硬件、或采用软硬件结合的方法

您可能关注的文档

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档