流水线工作原理 - 副本1.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文档。上传文档
查看更多
引 言 加快机器语言的解释可以从两方面实现。 一是通过选用更高速的器件、采用更好的运算方法、提高指令内各微操作的并行程度、减少解释过程所需要的拍数等措施加快每条机器指令的解释。 二是通过控制结构同时解释两条、多条以至整段程序的方式加快整个机器语言程序的解释 重叠和流水是其中常用的解释方式。 在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。   在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。 作业: 设完成一条指令需取指、分析、执行三个子部件。每个子部件经过时间为Δt,连续执行12条指令。 1. 画出在流水处理机上工作的时空图 2. 计算流水处理机上的吞吐率和效率 * 流水线工作原理 流 水 线 1. 基本概念 图 1 指令分解为“取指”与“执行”子过程 图 2 流水处理 指令的六级流水 六级流水 14 个时间单位 串行执行 6 × 9 = 54 时间单位 完成 一条指令 6 个时间单位 CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI CO FO EI WO DI FI 指令 1 指令 2 指令 3 指令 4 指令 5 指令 6 指令 7 指令 8 指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t 2. 流水线处理机的主要性能指标 a) 吞吐率 吞吐率是流水线单位时间里能流出的任务数或结果数。 在图5的流水线例子中,各个子过程经过的时间都是Δt2,满负荷后,流水线每隔Δt2解释完一条指令,其最大吞吐率TPmax为1/Δt2。实际上,各个子过程进行的工作不相同,所经过的时间也就不一定相同,所以前述在子过程间设置了接口锁存器, 让各锁存器都受同一时钟脉冲同步。时钟脉冲周期直接影响流水线的最大吞吐率,总希望它越小越好。如果各个子过程所需的时间分别为Δt1、Δt2、Δt3、Δt4,时钟周期应当为max{Δt1, Δt2, Δt3, Δt4},即流水线的最大吞吐率 它受限于流水线中最慢子过程所需要的时间。称流水线中经过时间最长的子过程为瓶颈子过程。 设一m段流水线的各段经过时间均为Δt0,则第1条指令从流入到流出需要T0=mΔt0的流水建立时间,之后每隔Δt0就可以流出一条指令,其时—空图如图9 所示(这里设m=4)。这样,完成n个任务的解释共需时间T=m·Δt0+(n-1)Δt0。在这段时间里, 流水线的实际吞吐率 图 3 从时—空图分析实际的吞吐率 b) 加速比 不仅实际的吞吐率总是小于最大的吞吐率,而且只有当nm时,才能使实际的吞吐率接近于理想的最大吞吐率。 如果用加速比(Speedup Ratio, Sp)表示流水线方式相对非流水线顺序串行方式速度提高的比值, 那么,非流水线顺序串行方式工作,连续完成n个任务需要n·m·Δt0的时间,因此, 流水线方式工作的加速比 c) 效率 流水线的效率是指流水线中的设备实际使用时间占整个运行时间之比,也称流水线设备的时间利用率。由于流水线存在有建立时间和排空时间(最后一个任务流入到流出的时间),在连续完成n个任务的时间里,各段并不总是满负荷工作的。 如果是线性流水线,且各段经过时间相同,如图3 那样, 则在T时间里,流水线各段的效率都相同,均为η0,即 整个流水线的效率 : 式中,分母m·T是时—空图中m个段和流水总时间T所围成的总面积,分子m·nΔt0则是时—空图中n个任务实际占用的总面积。因此,从时—空图上看,效率实际上就是n个任务占用的时—空区面积和m个段总的时—空区面积之比。显然,与吞吐率类似,只有当nm时,η才趋近于1。 同时还可看出,对于线性流水且每段经过时间相等时, 流水线的效率是正比于吞吐率的, 即 3. 流水处理的相关性 流水线不能连续工作的原因,除了编译形成的程序不能发挥流水线的作用或存储器供应不上为连续流动所需的指令和数据以外,还因为出现了“相关”情况或遇到了程序转移指令

文档评论(0)

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

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

1亿VIP精品文档

相关文档