流水线工作原理 - 副本1_第1页
流水线工作原理 - 副本1_第2页
流水线工作原理 - 副本1_第3页
流水线工作原理 - 副本1_第4页
流水线工作原理 - 副本1_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、流水线工作原理1引引 言言加快机器语言的解释可以从两方面实现。加快机器语言的解释可以从两方面实现。一是通过选用更高速的器件、采用更好的运算方一是通过选用更高速的器件、采用更好的运算方法、提高指令内各微操作的并行程度、减少解法、提高指令内各微操作的并行程度、减少解释过程所需要的拍数等措施加快每条机器指令释过程所需要的拍数等措施加快每条机器指令的解释。的解释。二是通过控制结构同时解释两条、多条以至整段二是通过控制结构同时解释两条、多条以至整段程序的方式加快整个机器语言程序的解释程序的方式加快整个机器语言程序的解释重叠重叠和和流水流水是其中常用的解释方式。是其中常用的解释方式。流水线工作原理2流流

2、水水 线线 1. 基本概念基本概念 图图 1 指令分解为指令分解为“取指取指”与与“执行执行”子过程子过程 流水线工作原理3图 2 流水处理 流水线工作原理4指令的六级流水指令的六级流水六级流水六级流水14 个时间单位个时间单位串行执行串行执行6 9 54 时间单位时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5

3、指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t流水线工作原理52. 流水线处理机的主要性能指标流水线处理机的主要性能指标 a) 吞吐率吞吐率 吞吐率是流水线单位时间里能流出的任务数或结果数吞吐率是流水线单位时间里能流出的任务数或结果数。 在图在图5的流水线例子中,各个子过程经过的时间都是的流水线例子中,各个子过程经过的时间都是t2,满负荷后,流水线每隔满负荷后,流水线每隔t2解释完一条指令,其最大吞吐率解释完一条指令,其最大吞吐率TPmax为为1/t2。实际上,各个子过程进行的工作不相同,所经。实际上,各个子过程进行的工作不

4、相同,所经过的时间也就不一定相同,所以前述在子过程间设置了接口锁过的时间也就不一定相同,所以前述在子过程间设置了接口锁存器,存器, 让各锁存器都受同一时钟脉冲同步。时钟脉冲周期直接让各锁存器都受同一时钟脉冲同步。时钟脉冲周期直接影响流水线的最大吞吐率,总希望它越小越好。如果各个子过影响流水线的最大吞吐率,总希望它越小越好。如果各个子过程所需的时间分别为程所需的时间分别为t1、t2、t3、t4,时钟周期应当为,时钟周期应当为maxt1, t2, t3, t4,即流水线的最大吞吐率,即流水线的最大吞吐率 流水线工作原理6 ,max14321maxttttTP 它受限于流水线中最慢子过程所需要的时间

5、。它受限于流水线中最慢子过程所需要的时间。称流水线中经过时间最长的子过程为瓶颈子称流水线中经过时间最长的子过程为瓶颈子过程。过程。 流水线工作原理7 设一设一m段流水线的各段经过时间均为段流水线的各段经过时间均为t0,则第,则第1条指令条指令从流入到流出需要从流入到流出需要T0=mt0的流水建立时间,之后每隔的流水建立时间,之后每隔t0就就可以流出一条指令,其时可以流出一条指令,其时空图如图空图如图9 所示所示(这里设这里设m=4)。这。这样,完成样,完成n个任务的解释共需时间个任务的解释共需时间T=mt0+(n-1)t0。在这段。在这段时间里,时间里, 流水线的实际吞吐率流水线的实际吞吐率

6、nmTPnmttntmnTP11)11 (1) 1(max000流水线工作原理8图图 3 从时从时空图分析实际的吞吐率空图分析实际的吞吐率 流水线工作原理9 b) 加速比加速比 不仅实际的吞吐率总是小于最大的吞吐率,而且只有当不仅实际的吞吐率总是小于最大的吞吐率,而且只有当nm时,才能使实际的吞吐率接近于理想的最大吞吐率。时,才能使实际的吞吐率接近于理想的最大吞吐率。 如果用加速比如果用加速比(Speedup Ratio, Sp)表示流水线方式相对非流表示流水线方式相对非流水线顺序串行方式速度提高的比值,水线顺序串行方式速度提高的比值, 那么,非流水线顺序串那么,非流水线顺序串行方式工作,连续

7、完行方式工作,连续完成成n个任务需要个任务需要nmt0的时间,因此,的时间,因此, 流水线方式工作的流水线方式工作的加速比加速比 nmmtntmtmnSp11) 1(000流水线工作原理10 c) 效率效率 流水线的效率是指流水线中的设备实际使用时间占整个流水线的效率是指流水线中的设备实际使用时间占整个运行时间之比运行时间之比,也称流水线设备的时间利用率。由于流水线,也称流水线设备的时间利用率。由于流水线存在有建立时间和排空时间存在有建立时间和排空时间(最后一个任务流入到流出的时间最后一个任务流入到流出的时间),在连续完成在连续完成n个任务的时间里,各段并不总是满负荷工作的。个任务的时间里,各

8、段并不总是满负荷工作的。 如果是如果是线性流水线线性流水线,且各段经过时间相同,如图,且各段经过时间相同,如图3 那样,那样, 则在则在T时间里,流水线各段时间里,流水线各段的效率都相同,均为的效率都相同,均为0,即,即 TmtnmmmmnmnTtnmm002100211整个流水线的效率整个流水线的效率 :流水线工作原理11式中,分母式中,分母mT是时是时空图中空图中m个段和流水总时间个段和流水总时间T所围成的所围成的总总面积面积,分子,分子mnt0则是时则是时空图中空图中n个任务实际占用的总面积。个任务实际占用的总面积。因此,从时因此,从时空图上看,空图上看,效率实际上就是效率实际上就是n个

9、任务占用的时个任务占用的时空空区面积和区面积和m个段总的时个段总的时空区面积之比空区面积之比。显然,与吞吐率类似,。显然,与吞吐率类似,只有当只有当nm时,时,才趋近于才趋近于1。 同时还可看出,对于线性流水同时还可看出,对于线性流水且每段经过时间相等时,且每段经过时间相等时, 流水流水线的效率是正比于吞吐率的,线的效率是正比于吞吐率的, 即即 00) 1(tTPmnnTtn流水线工作原理123. 流水处理的相关性流水处理的相关性 流水线不能连续工作的原因,除了编流水线不能连续工作的原因,除了编译形成的程序不能发挥流水线的作用或存译形成的程序不能发挥流水线的作用或存储器供应不上为连续流动所需的

10、指令和数储器供应不上为连续流动所需的指令和数据以外,还因为出现了据以外,还因为出现了“相关相关”情况或遇情况或遇到了程序转移指令。到了程序转移指令。 有时避免不了产生不能连续工作的情有时避免不了产生不能连续工作的情况,这种现象称为流水线阻塞或产生了况,这种现象称为流水线阻塞或产生了“气泡气泡”。流水线工作原理13 在一个程序中,如果必须等前一条指令执在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。指令就是数据相关的。 在流水计算机中,指令的处理是重叠进行在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。运算结果时,便发生数据相关冲突。流水线工作原理144.程序转移对流水线的影响程序转移对流水线的影响 猜测法:猜测法: 图10 用猜测法处理条件转移

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论