《流水线cpu技术》ppt课件

上传人:tian****1990 文档编号:75483293 上传时间:2019-01-31 格式:PPT 页数:85 大小:2.10MB
返回 下载 相关 举报
《流水线cpu技术》ppt课件_第1页
第1页 / 共85页
《流水线cpu技术》ppt课件_第2页
第2页 / 共85页
《流水线cpu技术》ppt课件_第3页
第3页 / 共85页
《流水线cpu技术》ppt课件_第4页
第4页 / 共85页
《流水线cpu技术》ppt课件_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《《流水线cpu技术》ppt课件》由会员分享,可在线阅读,更多相关《《流水线cpu技术》ppt课件(85页珍藏版)》请在金锄头文库上搜索。

1、5.7 流水线CPU,5.7.1 并行性概念,1并行性的含义,同时性指两个或者两个以上事件在同一时刻发生。,并发性指两个或者两个以上事件在同一时间间隔内发生。,5.7 流水CPU,5.5.2 并行性概念,2并行处理技术的主要形式,(1) 时间并行 时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用 同一套硬件的各个部分,从而赢得高速度。,实现方式:采用流水处理部件。,(2)空间并行 资源重复,例:奔腾CPU采用的超标量流水技术。,用多个相同部件处理多个事件。,实现方式:多处理器系统和多计算机系统或单处理器系统。,(3) 时间并行+空间并行,既采用时间并行性又采用空间并行性。,流水线计算机

2、的系统组成 现代流水线计算机系统组成原理如左图所示。其中CPU按流水线方式组织,通常由三部分组成:指令部件、指令队列、执行部件。这三个功能部件可以组成一个3级流水线。,图3.33 流水线计算机系统组成原理示意图,流水线CPU的结构,指令流水线原理,问题的提出,串行执行方式存在部件利用率不高(有闲置时间)的问题。,每个过程段所用的部件不同 在某个过程段时,其他过程段的部件处于空闲,(2)流水线工作原理, 指令周期的三个主要过程:,入,出, 指令执行过程的时空图,a非流水线时空图,b标量流水线时空图,c. 超标量流水线时空图,流水线 vs 非流水线, 非流水线指令的执行是串行的;, 标量流水线从满

3、载起,每经1个周期做完一条指令;, 超标量流水线,提高了吞吐量,但需二套(或二 套以上)流水线的硬件及其他电路。(见附图),常见的超标量流水线结构,(3)流水线工作方式的特点, 具有时间的并行性;, 流水线分工越细,可同时运行的指令越多, 吞吐率就越高。 但需增加硬件,控制更复杂;, 流水线每个阶段的执行时间应尽量一致;, 流水线充满(满载)时达到最大的吞吐率。,流水线相关问题,流水线相关:是指邻近指令之间由于某种关系,出现了不能同时被流水操作的现象。 流水线的相关会造成流水线的断流,影响整个流水线的效率。,造成流水线相关的原因,资源相关 数据相关 变址转移 中断,全局性相关,局部性相关,局部

4、性相关:资源相关,在同一机器时钟周期内争用同一个功能部件所发生的冲突。,在时钟3发生争用内存的问题资源相关。,解决方法:, 将取指操作推迟一个时钟进行;, 增设一个存储器,将指令和数据分开存放;, 采用双端口存储器。,局部性相关:数据相关,在程序中,一条指令的执行需等前一条指令执行完后才能进行,则有数据相关。,例:,解决方法:, 推迟ADD指令的取数操作;, 采用数据旁路(内部向 前)技术,直接把结果 送给下一条指令。,全局性相关:控制相关,由条件转移指令或中断引起的。,解决方法:, 延迟转移法:加入空操作,等待转移条件形成。, 猜测法:选择出现概率较高的分支进行指令预取。,【例4】 流水线中

5、有三类数据相关冲突: 写后读相关;读后写相关;写后写相关。 判断以下三组指令各存在哪种类型的数据相关。 (1) I1: ADD R1,R2,R3 ; (R2) + (R3)-R1 I2: SUB R4,R1,R5 ; (R1) - (R5)-R4 (2) I3: STA M(x),R3 ; R3)-M(x),M(x)是存储器单元 I4: ADD R3,R4,R5 ; (R4)+(R5)-R3 (3) I5: MUL R3,R1,R2 ; (R1)(R2)-R3 I6: ADD R3,R4,R5 ; (R4) + (R5)-R3,(1) I1: ADD R1,R2,R3 ; (R2) + (R3

6、)-R1 I2: SUB R4,R1,R5 ; (R1) - (R5)-R4 第(1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW(写后读)相关。,局部性相关:数据相关,(2) I3: STA M(x),R3 ;(R3)-M(x),M(x)是存储器单元 I4: ADD R3,R4,R5 ; (R4)+(R5)-R3 第(2)组指令中,I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出R3内容前就写入R3

7、,发生WAR(读后写)相关。,局部性相关:数据相关,(3) I5: MUL R3,R1,R2 ; (R1)(R2)-R3 I6: ADD R3,R4,R5 ; (R4) + (R5)-R3 第(3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW(写后写)相关 。,局部性相关:数据相关,局部性相关的处理方法,指令调度法 设置多个功能部件 内部数据定向,静态调度 动态调度,(1)指令调度法,指令调度 改变指令的执行顺序以解决相关性带来的问题 静态指令调度 改变程序中指令的位置 由编译程序实现 动态指令调

8、度 改变指令的实际执行顺序 不改变取指令和指令译码的顺序 无序执行 由控制器硬件实现,计分牌法 保存站法,静态调度:流水线延迟,X=Y+Z A=BC,指令发射:启动指令去处理器功能单元执行的过程,静态调度:编译检测,编译器优化后,所需时间为17个时钟周期,动态调度-计分牌法,计分牌是一个位向量、每一位对应寄存器堆中的一个寄存器。 指令发射时,目的寄存器在计分牌中相应位 置1; 写回后,目的寄存器在计分牌中相应位 清0。 判断指令可否发射的条件是: 该指令所有目的寄存器及源寄存器在计分牌中对应位都为0 ;否则等待上述位清除。 解决数据相关采用定向传送技术: 将前面指令执行的结果直接送给后面指令所

9、需此源操作数的功能部件,动态调度-计分牌法,动态调度-计分牌法,动态调度-计分牌法,依靠流水线停顿来解决相关性 没有消除数据相关 集中式调度 记分牌部件是性能瓶颈,记分牌的缺点,动态调度-保存站法,动态调度-保存站法,发射 如果有空的保存站,就发射指令; 只要操作数有效,就将其取到保存站,避免指令发射时才到寄存器中取数据的情况. 如果没有空的保存站或缓存部件,则指令暂等 执行 一条指令发射时,存放操作数的寄存器名被换成为对应于该寄存器的保存站名称(寄存器重命名) 写结果 结果写回时通过数据总线直接送到等待此结果的所有保存站,动态调度-保存站法,具有分布的阻塞检测机制; 消除了数据写后写和先读后

10、写相关导致的阻塞,保存站法的优点(相对记分牌法),动态调度-保存站法,保存站法又称作 Tomasulo调度法,(2)设置多个功能部件,流水线的瓶颈会在某一个流水线段产生; 这种瓶颈段一定对应于预约表中符号最多的那一行; 可设置几个相同的段来解决该段的瓶颈问题。,例:,(2)设置多个功能部件,(3)内部数据定向,内部数据定向的原则:是要消除一些不必要的访存储器或访寄存器的中间环节,从而减少资源和数据的相关性,以提高流水线的吞吐率。 数据定向分成:写读定向、读读定向、写写定向。,(3)内部数据定向,可减少或者消除数据相关性带来的影响 Data forwarding,IF,Id,Ex,M,W,(3)

11、内部数据定向,2. 全局性相关:变址转移,全局性相关由转移指令引起; 当指令流足够长时,转移引起的流水线性能将会下降46左右。 解决方法: 延迟转移法 转移预测法,1)延迟转移法,延迟转移法:目的是转移成功时,转移指令后面进入流水线的指令不作废,想办法使之有用,以减少延迟时间的损失。, I0 LD R4, B I1 LD R1, A I2 DEC R3, 1 I3 JZ R3,I50 I4 ADD R2,R4 I5 SUB R5,R6 I50 , I2 DEC R3, 1 I3 JZ R3,I50 I0 LD R4, B I1 LD R1, A I4 ADD R2,R4 I5 SUB R5,R

12、6 I50 ,例:, I0 LD R4, B I1 LD R1, A I2 DEC R3, 1 I3 JZ R3,I50 I4 ADD R2,R4 I5 SUB R5,R6 I6 LD B, R5 I50 ,1)延迟转移法,转移延迟槽: 将转移指令的执行在流水线中提前进行,1)延迟转移法,2)转移预测法,转移预测法:在程序执行以前,就静态地根据转移代码的类型或动态地根据转移历史表来预测下一次转移是否会成功。 得到的预测值都是试探性的值,不能把结果作为最后结果。 根据运行结果,如果预测正确,把试探性结果上的试探标记去掉,成为正式结果。 如果不正确,则要清除试探性结果。,利用预取缓冲器进行转移预测

13、,预取缓冲器有三种类型: 顺序缓冲器:顺序流入流水线的指令。 目标缓冲器:从转移目标开始取出的指令。 循环缓冲器:保存了一个小循环的顺序指令。 顺序缓冲器和目标缓冲器在条件转移指令到来之前,就按预测策略装满各自的指令。在转移条件被检测出之后,选取两个缓冲器中的一个缓冲器的指令流进入流水线,而另一个缓冲器中的指令流被作废。,按原程序顺序,经顺序缓冲器一方把指令流装入流水线。 预测正确的话,取消试探标志,结果存入用户寄存器或存储器,报废掉目标缓冲器中指令。 如果预测错误,重新从目标缓冲器装入指令到流水线。,转移预测策略,分支预测执行不成功和重新执行过程,转移预测策略,分支预测branch pred

14、iction,静态 永远不转移 永远转移 后向转移 动态 1位 2位 多位(1级,2级),1位动态分支预测,根据上次转移情况预测下次情况,2位动态分支预测,根据上两次转移情况预测下次分支,预测状态机 00: strongly not taken 01: weakly not taken 10: weakly taken 11: strongly taken,例,设某转移指令在每次执行过程的转移序列如下,T表示转移发生,N表示转移未发生: T, T, T, N, T, T, N, T, N, N, T, N, N, 试分析在每次对该指令进行预测的状态和预测的成功率。假设: 1)采用1位动态预测,

15、预测器初始状态为T; 2)采用2位动态预测,预测器初始状态为11。,解答,(1)每次对指令进行预测时的状态和结果如下 预测成功6次,成功率为0.46。,解答,(2)每次对指令进行预测时的状态和结果如下 预测成功8次,成功率为0.62。,3. 全局性相关:中断,中断也会引起转移; 中断一般是不可预测的; 中断处理目的不是如何缩短断流时间,而是如何处理好断点现场和中断后的恢复问题。,中断的处理(1),不精确断点法:不论在哪条指令的哪一段发生了中断申请,都不再允许当时还未进入流水线的后继指令再进入,但已在流水线中的指令可流动到执行完为止,然后再转入中断处理程序。 例:输入输出设备申请的中断,中断的处

16、理(2),精确断点法:是指采用后援寄存器来保存进入流水线的各指令的现场状态。所以不管在进入流水线的指令的任何段发生中断申请,断点都是精确的。 例:执行错误的中断,4. 超标量流水线,4.2.1 超标量流水线 标量流水线:在每个时钟周期只发射一条指令,并要求每个时钟周期只从流水线流出一条指令的结果。 超标量流水线:是指在每个时钟周期向流水线发射多条指令,并能从流水线流出多个结果。,例:三发射超标量流水线,超标量流水线会因数据相关、资源冲突、转移指令、循环及中断等造成流水线的断流; 断流延迟时间与超标量流水线的调度方法有关 ; 调度方法有: 按序发射按序完成 按序发射无序完成 无序发射无序完成,超标量流水线的调度方法,有序执行 vs 无序执行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号