《流水线CPU技术》PPT课件说课讲解

上传人:无*** 文档编号:231350355 上传时间:2023-09-01 格式:PPT 页数:86 大小:1.65MB
收藏 版权申诉 举报 下载
《流水线CPU技术》PPT课件说课讲解_第1页
第1页 / 共86页
《流水线CPU技术》PPT课件说课讲解_第2页
第2页 / 共86页
《流水线CPU技术》PPT课件说课讲解_第3页
第3页 / 共86页
资源描述:

《《流水线CPU技术》PPT课件说课讲解》由会员分享,可在线阅读,更多相关《《流水线CPU技术》PPT课件说课讲解(86页珍藏版)》请在装配图网上搜索。

1、流水线流水线CPUCPU技术技术PPTPPT课件课件5.7.1 并行性概念并行性概念 1并行性的含义并行性的含义 同同时时性性指两个或者两个以上事件在同一指两个或者两个以上事件在同一时时刻刻发发生。生。并并发发性性指两个或者两个以上事件在同一指两个或者两个以上事件在同一时间间时间间隔内隔内发发生。生。5.7 5.7 流水流水CPUCPU5.5.2 并行性概念并行性概念2 2并行处理技术的主要形式并行处理技术的主要形式 (1)时间时间并行并行 时间时间重叠重叠 让让多个多个处处理理过过程在程在时间时间上相互上相互错错开,开,轮轮流重叠地使用流重叠地使用 同一套硬件的各个部分,从而同一套硬件的各个

2、部分,从而赢赢得高速度。得高速度。实现方式:实现方式:采用流水采用流水处处理部件。理部件。(2 2)空空间间并行并行 资资源重复源重复例:奔例:奔腾腾CPU采用的超采用的超标标量流水技量流水技术术。用多个相同部件用多个相同部件处处理多个事件。理多个事件。实现方式:实现方式:多多处处理器系理器系统统和多和多计计算机系算机系统统或或单处单处理器系理器系统统。(3)(3)时间时间并行并行+空空间间并行并行既采用既采用时间时间并行性又采用空并行性又采用空间间并行性。并行性。流水线计算机的系统组成流水线计算机的系统组成 现代流水线计算机系统现代流水线计算机系统组成原理如左图所示。其中组成原理如左图所示。

3、其中CPU按流水线方式组织,通按流水线方式组织,通常由三部分组成:指令部件、常由三部分组成:指令部件、指令队列、执行部件。这三指令队列、执行部件。这三个功能部件可以组成一个个功能部件可以组成一个3级流水线。级流水线。图图3.33 3.33 流水线计算机系统组成原理示意图流水线计算机系统组成原理示意图 流水线流水线CPUCPU的结构的结构 指令流水线原理指令流水线原理 问题的提出问题的提出 串行执行方式存在部件利用率不高(有闲置时间)的问题。串行执行方式存在部件利用率不高(有闲置时间)的问题。CPU周期周期使用部件使用部件闲置部件闲置部件取指令取指令PC,MS,IR等等ALU,GRS取数取数 M

4、S PC,ALU,GRS执行执行 ALU,GRS PC,MS每个过程段所用的部件不同每个过程段所用的部件不同在某个过程段时,其他过程段的部件处于空闲在某个过程段时,其他过程段的部件处于空闲(2 2)流水线工作原理)流水线工作原理 指令周期的三个主要过程:指令周期的三个主要过程:图图5.30 指令周期的三个过程段指令周期的三个过程段取数取数取指取指执行执行入入出出 指令执行过程的时空图指令执行过程的时空图 a a非流水线时空图非流水线时空图 I1I1I1I2I2I2I3I3I3I1I2I3空间空间S时间时间T执行执行取数取数取指取指(a)非流水线时空图)非流水线时空图b b标量流水线时空图标量流

5、水线时空图I1I1I1I2I2I2I3I3I3I4I4I4I1I2I3空间空间S时间时间T执行执行取数取数取指取指(b)标量流水线时空图)标量流水线时空图I4图图5.31非流水线与流水线对比非流水线与流水线对比 c.超标量流水线时空图超标量流水线时空图I1I3I5I2I4I6I1I3I5I7I2I4I6I8I1I3I5I7I9I2I4I6I8I10I1 I2 I3 I4 I5 I6执行执行取数取数取指取指空间空间S时间时间T(C)超标量流水线时空图)超标量流水线时空图流水线流水线 vs vs 非流水线非流水线 非流水线指令的执行是串行的;非流水线指令的执行是串行的;标量流水线从满载起,每经标量

6、流水线从满载起,每经1 1个周期做完一条指令;个周期做完一条指令;超标量流水线,提高了吞吐量,但需二套(或二超标量流水线,提高了吞吐量,但需二套(或二 套以上)流水线的硬件及其他电路。(见附图)套以上)流水线的硬件及其他电路。(见附图)常见的超标量流水线结构(3 3)流水线工作方式的特点)流水线工作方式的特点 具有时间的并行性;具有时间的并行性;流水流水线线分工越分工越细细,可同,可同时时运行的指令越多,运行的指令越多,吞吐率就越高。吞吐率就越高。但需增加硬件,控制更复但需增加硬件,控制更复杂杂;流水流水线线每个每个阶阶段的段的执执行行时间应时间应尽量一致尽量一致;流水流水线线充充满满(满载满

7、载)时时达到最大的吞吐率。达到最大的吞吐率。流水线相关问题流水线相关问题流水线相关:是指邻近指令之间由于某流水线相关:是指邻近指令之间由于某种关系,出现了不能同时被流水操作的种关系,出现了不能同时被流水操作的现象。现象。流水线的相关会造成流水线的断流,影流水线的相关会造成流水线的断流,影响整个流水线的效率。响整个流水线的效率。造成流水线相关的原因造成流水线相关的原因资源相关资源相关数据相关数据相关变址转移变址转移中断中断 全局性相关全局性相关局部性相关局部性相关 局部性相关:资源相关局部性相关:资源相关 在同一机器时钟周期内争用同一个功能部件所发生的冲突。在同一机器时钟周期内争用同一个功能部件

8、所发生的冲突。时钟时钟指令指令 12345I1取指取指译码译码取数取数执行执行I2取指取指译码译码取数取数执行执行I3取指取指译码译码取数取数在时钟在时钟3 3发生争用内存的问题发生争用内存的问题资源相关。资源相关。解决方法:解决方法:将取指操作推迟一个时钟进行;将取指操作推迟一个时钟进行;增设一个存储器,将指令和数据分开存放;增设一个存储器,将指令和数据分开存放;采用双端口存储器。采用双端口存储器。局部性相关:局部性相关:数据相关数据相关 在程序中,一条指令的执行需等前一条指令执行完后才在程序中,一条指令的执行需等前一条指令执行完后才能进行,则有数据相关。能进行,则有数据相关。例:例:取数取

9、数译码译码取指取指ADD执行执行取数取数译码译码取指取指SUB4321 时钟时钟指令指令解决方法:解决方法:推迟推迟ADDADD指令的取数操作;指令的取数操作;采采用用数数据据旁旁路路(内部向(内部向 前前)技技术术,直接把结果直接把结果 送给下一条指令。送给下一条指令。全局性相关:控制相关全局性相关:控制相关 由条件由条件转转移指令或中断引起的。移指令或中断引起的。解决方法:解决方法:延延迟转迟转移法移法:加入空操作,等加入空操作,等待待转转移条件形成。移条件形成。猜猜测测法法:选择选择出出现现概率概率较较高的分支高的分支进进行行指令指令预预取。取。【例例4】流水线中有三类数据相关冲突:流水

10、线中有三类数据相关冲突:写后读相关;读后写相关;写后写相关。写后读相关;读后写相关;写后写相关。判断以下三组指令各存在哪种类型的数据相关。判断以下三组指令各存在哪种类型的数据相关。(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;

11、(R2)+(R3)-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)组指令中,组指

12、令中,I3指令应先读出指令应先读出R3内容并存入存储内容并存入存储单元单元M(x),然后在,然后在I4指令中将运算结果写入指令中将运算结果写入R3。但由。但由于于I4指令进入流水线,变成指令进入流水线,变成I4指令在指令在I3指令读出指令读出R3内容内容前就写入前就写入R3,发生,发生WAR(读后写)相关。(读后写)相关。局部性相关:局部性相关:数据相关数据相关(3)I5:MUL R3,R1,R2;(R1)(R2)-R3 I6:ADD R3,R4,R5;(R4)+(R5)-R3 第第(3)组指令中,如果组指令中,如果I6指令的加法运算完成指令的加法运算完成时间早于时间早于I5指令的乘法运算时间

13、,变成指令指令的乘法运算时间,变成指令I6在在指令指令I5写入写入R3前就写入前就写入R3,导致,导致R3的内容错误,的内容错误,发生发生WAW(写后写)相关写后写)相关。局部性相关:局部性相关:数据相关数据相关 局部性相关的处理方法局部性相关的处理方法n指令调度法指令调度法n设置多个功能部件设置多个功能部件n内部数据定向内部数据定向静态调度静态调度动态调度动态调度(1)指令调度法)指令调度法n指令调度指令调度n改变指令的执行顺序以解决相关性带来的问题改变指令的执行顺序以解决相关性带来的问题n静态指令调度静态指令调度n改变程序中指令的位置改变程序中指令的位置n由编译程序实现由编译程序实现n动态

14、指令调度动态指令调度n改变指令的实际执行顺序改变指令的实际执行顺序n不改变取指令和指令译码的顺序不改变取指令和指令译码的顺序n无序执行无序执行n由控制器硬件实现由控制器硬件实现计分牌法计分牌法 保存站法保存站法 静态调度:流水线延迟静态调度:流水线延迟X=Y+ZA=BCn指令发射:启动指令去处理器功能单元执行的过程指令发射:启动指令去处理器功能单元执行的过程静态调度:编译检测静态调度:编译检测n编译器优化后,所需时间为编译器优化后,所需时间为17个时钟周期个时钟周期动态调度动态调度-计分牌法计分牌法 计分牌计分牌是一个位向量、每一位对应寄存器堆中的一个寄存器。是一个位向量、每一位对应寄存器堆中

15、的一个寄存器。指令发射时,目的寄存器在计分牌中相应位指令发射时,目的寄存器在计分牌中相应位置置1;写回后,写回后,目的寄存器在目的寄存器在计分牌计分牌中相应位中相应位 清清0。判断指令可否发射的条件是:判断指令可否发射的条件是:该指令所有目的寄存器及源寄存器在该指令所有目的寄存器及源寄存器在计分牌计分牌中对应位都为中对应位都为0;否则等待上述位清除。;否则等待上述位清除。解决数据相关采用定向传送技术:解决数据相关采用定向传送技术:将前面指令执行的结果直接送给后面指令所需此源操作将前面指令执行的结果直接送给后面指令所需此源操作数的功能部件数的功能部件动态调度动态调度-计分牌法计分牌法动态调度动态

16、调度-计分牌法计分牌法动态调度动态调度-计分牌法计分牌法依靠流水线停顿来解决相关性依靠流水线停顿来解决相关性没有消除数据相关没有消除数据相关集中式调度集中式调度n记分牌部件是性能瓶颈记分牌部件是性能瓶颈记分牌的缺点记分牌的缺点动态调度动态调度-保存站法保存站法动态调度动态调度-保存站法保存站法n发射发射n如果有空的保存站,就发射指令;如果有空的保存站,就发射指令;n只要操作数有效,就将其取到保存站,避免指令发射只要操作数有效,就将其取到保存站,避免指令发射时才到寄存器中取数据的情况时才到寄存器中取数据的情况.n如果没有空的保存站或缓存部件,则指令暂等如果没有空的保存站或缓存部件,则指令暂等n执

17、行执行n一条指令发射时,存放操作数的寄存器名被换成为对一条指令发射时,存放操作数的寄存器名被换成为对应于该寄存器的保存站名称(应于该寄存器的保存站名称(寄存器重命名寄存器重命名)n写结果写结果n结果写回时通过数据总线直接送到等待此结果的所有结果写回时通过数据总线直接送到等待此结果的所有保存站保存站动态调度动态调度-保存站法保存站法具有分布的阻塞检测机制;具有分布的阻塞检测机制;消除了数据写后写和先读后写相关导致的阻塞消除了数据写后写和先读后写相关导致的阻塞保存站法的优点保存站法的优点(相对记分牌法相对记分牌法)动态调度动态调度-保存站法保存站法保存站法又称作保存站法又称作 TomasuloTo

18、masulo调度法调度法(2)设置多个功能部件)设置多个功能部件流水线的瓶颈会在某一个流水线段产生;流水线的瓶颈会在某一个流水线段产生;这种瓶颈段一定对应于预约表中符号最多这种瓶颈段一定对应于预约表中符号最多的那一行;的那一行;可设置几个相同的段来解决该段的瓶颈问可设置几个相同的段来解决该段的瓶颈问题。题。例:例:(2)设置多个功能部件)设置多个功能部件(3)内部数据定向)内部数据定向内部数据定向的原则:是要消除一些不内部数据定向的原则:是要消除一些不必要的访存储器或访寄存器的中间环节,必要的访存储器或访寄存器的中间环节,从而减少资源和数据的相关性,以提高从而减少资源和数据的相关性,以提高流水

19、线的吞吐率。流水线的吞吐率。数据定向分成数据定向分成:写写读读定向定向、读读读读定定向向、写写定向。写写定向。(3)内部数据定向)内部数据定向n可减少或者消除数据相关性带来的影响nData forwardingIFIdExMW(3)内部数据定向)内部数据定向2.全局性相关:变址转移全局性相关:变址转移全局性相关由转移指令引起;全局性相关由转移指令引起;当指令流足当指令流足够长时够长时,转转移引起的流水移引起的流水线线性能将会下降性能将会下降4646左右。左右。解决方法:解决方法:延迟转移法延迟转移法 转移预测法转移预测法 1)延迟转移法)延迟转移法n延迟转移法:目的是转移成功时,转移指令后延迟

20、转移法:目的是转移成功时,转移指令后面进入流水线的指令不作废,想办法使之有用,面进入流水线的指令不作废,想办法使之有用,以减少延迟时间的损失。以减少延迟时间的损失。I0 LD R4,B I1 LD R1,A I2 DEC R3,1 I3 JZ R3,I50 I4 ADD R2,R4 I5 SUB R5,R6I50 I2 DEC R3,1 I3 JZ R3,I50 I0 LD R4,B I1 LD R1,A I4 ADD R2,R4 I5 SUB R5,R6I50 例:例:I0 LD R4,B I1 LD R1,A I2 DEC R3,1 I3 JZ R3,I50 I4 ADD R2,R4 I5

21、 SUB R5,R6 I6 LD B,R5 I50 1)延迟转移法)延迟转移法n转移延迟槽:n将转移指令的执行在流水线中提前进行1)延迟转移法)延迟转移法2)转移预测法)转移预测法n转移预测法:在程序执行以前,就静态地根据转移预测法:在程序执行以前,就静态地根据转移代码的类型或动态地根据转移历史表来预转移代码的类型或动态地根据转移历史表来预测下一次转移是否会成功。测下一次转移是否会成功。n得到的得到的预测值预测值都是都是试试探性的探性的值值,不能把,不能把结结果果作作为最后结果为最后结果。n根据运行结果,根据运行结果,如果如果预测预测正确,把正确,把试试探性探性结结果果上的上的试试探探标记标记

22、去掉,成去掉,成为为正式正式结结果。果。n如果不正确,如果不正确,则则要清除要清除试试探性探性结结果。果。利用预取缓冲器进行转移预测利用预取缓冲器进行转移预测 n预取缓冲器有三种类型:预取缓冲器有三种类型:顺序缓冲器:顺序缓冲器:顺顺序流入流水序流入流水线线的指令。的指令。目目标缓标缓冲器冲器:从从转转移目移目标标开始取出的指令。开始取出的指令。循循环缓环缓冲器冲器:保存了一个小循保存了一个小循环环的的顺顺序指令。序指令。n顺顺序序缓缓冲器和目冲器和目标缓标缓冲器在条件冲器在条件转转移指令到来之移指令到来之前,就按前,就按预测预测策略装策略装满满各自的指令。在各自的指令。在转转移条件移条件被被

23、检测检测出之后,出之后,选选取两个取两个缓缓冲器中的一个冲器中的一个缓缓冲器冲器的指令流的指令流进进入流水入流水线线,而另一个,而另一个缓缓冲器中的指令冲器中的指令流被作流被作废废。n按原程序顺序,经顺序缓冲器一方把指令流装按原程序顺序,经顺序缓冲器一方把指令流装入流水线。入流水线。n预测正确的话,取消试探标志,结果存入用户预测正确的话,取消试探标志,结果存入用户寄存器或存储器,报废掉目标缓冲器中指令。寄存器或存储器,报废掉目标缓冲器中指令。n如果预测错误,重新从目标缓冲器装入指令到如果预测错误,重新从目标缓冲器装入指令到流水线。流水线。转移预测策略转移预测策略 分支预测执行不成功和重新执行过

24、程分支预测执行不成功和重新执行过程 转移预测策略转移预测策略 分支预测branch predictionn静态n永远不转移n永远转移n后向转移n动态n1位n2位n多位(1级,2级)1位动态分支预测n根据上次转移情况预测下次情况 2位动态分支预测n根据上两次转移情况预测下次分支预测状态机00:strongly not taken01:weakly not taken10:weakly taken11:strongly taken例例n设某转移指令在每次执行过程的转移序列如下,T表示转移发生,N表示转移未发生:T,T,T,N,T,T,N,T,N,N,T,N,N,n试分析在每次对该指令进行预测的状态

25、和预测的成功率。假设:1)采用1位动态预测,预测器初始状态为T;2)采用2位动态预测,预测器初始状态为11。解答(1)每次对指令进行预测时的状态和结果如下n预测成功6次,成功率为0.46。事件序列TTTNTTNTNNTNN预测器状态TTTTNTTNTNNTN准确性YYYYYY解答(2)每次对指令进行预测时的状态和结果如下n预测成功8次,成功率为0.62。事件序列TTTNTTNTNNTNN预测器状态11111111101111101110000100预测结果TTTTTTTTTTNNN准确性YYYYYYYY3.全局性相关:中断全局性相关:中断n中断也会引起转移;中断也会引起转移;n中断一般是不可预

26、测的;中断一般是不可预测的;n中断中断处处理目的不是如何理目的不是如何缩缩短断流短断流时时间间,而是如何,而是如何处处理好断点理好断点现场现场和中和中断后的恢复断后的恢复问题问题。中断的处理(中断的处理(1)n不精确断点法:不论在哪条指令的哪一不精确断点法:不论在哪条指令的哪一段发生了中断申请,都不再允许当时还段发生了中断申请,都不再允许当时还未进入流水线的后继指令再进入,但已未进入流水线的后继指令再进入,但已在流水线中的指令可流动到执行完为止,在流水线中的指令可流动到执行完为止,然后再转入中断处理程序。然后再转入中断处理程序。n例:输入输出设备申请的中断例:输入输出设备申请的中断中断的处理(

27、中断的处理(2)n精确断点法:是指采用后援寄存器来保精确断点法:是指采用后援寄存器来保存进入流水线的各指令的现场状态。所存进入流水线的各指令的现场状态。所以不管在进入流水线的指令的任何段发以不管在进入流水线的指令的任何段发生中断申请,断点都是精确的。生中断申请,断点都是精确的。n例:执行错误的中断例:执行错误的中断4.超标量流水线超标量流水线4.2.1 4.2.1 超标量流水线超标量流水线n标标量流水量流水线线:在每个在每个时钟时钟周期只周期只发发射一条指令,射一条指令,并要求每个并要求每个时钟时钟周期只从流水周期只从流水线线流出一条指令流出一条指令的的结结果。果。n超超标标量流水量流水线线:

28、是指在每个是指在每个时钟时钟周期向流水周期向流水线线发发射多条指令,并能从流水射多条指令,并能从流水线线流出多个流出多个结结果果。例:三发射超标量流水线例:三发射超标量流水线n超标量流水线会因数据相关、资源冲突、超标量流水线会因数据相关、资源冲突、转移指令、循环及中断等造成流水线的转移指令、循环及中断等造成流水线的断流;断流;n断流延迟时间与超标量流水线的调度方断流延迟时间与超标量流水线的调度方法有关法有关;n调度方法有:调度方法有:按序发射按序完成按序发射按序完成 按序发射无序完成按序发射无序完成 无序发射无序完成无序发射无序完成 超标量流水线的调度方法超标量流水线的调度方法有序执行 vs

29、无序执行 n无序执行无序执行n后续指令比前面的指令先开始进入执行阶段后续指令比前面的指令先开始进入执行阶段n后续指令比前面的指令先执行完成后续指令比前面的指令先执行完成 n真相关的指令停顿真相关的指令停顿n继续读取操作数继续读取操作数n没有改变取指和译码的顺序没有改变取指和译码的顺序n有序执行有序执行n有序开始执行有序开始执行n有序执行完成有序执行完成EXEX例:例:I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)超标量流水线的调度方法超标量流水线的调度方法超标量流水线的调度方法超标量流水线的调度方法按序发

30、射按序完成按序发射按序完成 I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)按序发射无序完成按序发射无序完成 I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)无序发射无序完成无序发射无序完成 I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)超标量流水线的调度方法超标量流水线的调度方法n无序执行机制无序执行机制n指令预取指令预取n功能部

31、件之间可无序执行功能部件之间可无序执行n功能部件之内有序执行功能部件之内有序执行n可以提高程序执行速度可以提高程序执行速度5.5.超流水线技术超流水线技术 n超流水线:把一般完成一条指令的流水线段再超流水线:把一般完成一条指令的流水线段再细分成更多的流水线段。这样原时钟周期的几细分成更多的流水线段。这样原时钟周期的几分之一的时间间隔就可以发射一条指令,并从分之一的时间间隔就可以发射一条指令,并从流水线流出一个结果流水线流出一个结果。超流水线超标量处理技术超流水线超标量处理技术 n同时使用超流水线和超标量技术。同时使用超流水线和超标量技术。n超标量的度为超标量的度为3,超流水线的度为,超流水线的

32、度为3,超流水线超流水线超标量的度为超标量的度为9 9。动态多重指令启动性能分析性能分析 n设有设有N N条不相关的指令通过流水线,流水线的基条不相关的指令通过流水线,流水线的基准段为准段为S S,超流水线的度为,超流水线的度为n n,超标量流水线的度,超标量流水线的度为为m m,则基准标量机、超流水线机、超标量机的,则基准标量机、超流水线机、超标量机的所需处理时间(基本时钟周期)分别为:所需处理时间(基本时钟周期)分别为:流水线加速比流水线加速比1.超流水线对基准标量流水线:超流水线对基准标量流水线:2.2.超超标量流水线对基准标量流水线:标量流水线对基准标量流水线:3.3.超流水线超标量流

33、水线对基准标量流水线:超流水线超标量流水线对基准标量流水线:多重指令启动的局限性 n流水线中功能部件之间的不平衡性n一个时钟周期中启动的多条指令可能资源冲突n每个循环迭代中的开销n一般存在数据相关性n循环体的数据相关性n需要大量相关性检测逻辑n控制相关性n缩短了转移指令的间距多重启动的相关性检测逻辑nn重启动的指令流水线需要比较操作的数量:2(n-1)+2(n-2)+21=n2 n例例6 超标度为超标度为2的超标量流水线结构模型如图的超标量流水线结构模型如图5.39(a)所示。它分为所示。它分为4个段,即个段,即取指取指(F)段、段、译码译码(D)段、执行段、执行(E)段和写回段和写回(W)段

34、。段。F,D,W 段只需段只需1个时钟个时钟周期完成。周期完成。E段有多个功能部件,其中段有多个功能部件,其中LOAD/STORE部件完成数据部件完成数据cache访问,访问,只需一个时钟周期;加法器完成需只需一个时钟周期;加法器完成需2个时钟周期,乘法器需个时钟周期,乘法器需3个时钟周期,它个时钟周期,它们都已流水化。们都已流水化。F段和段和D段要求成对输入。段要求成对输入。E段有内部数据定向传送,结果生段有内部数据定向传送,结果生成即可使用。成即可使用。现有如下现有如下6条指令序列:条指令序列:I1LAD R1,A ;M(A)R1,M(A)是存储器单元是存储器单元I2 ADD R2,R1

35、;(R2)+(R1)-R2I3 ADD R3,R4;(R3)+(R4)-R3I4 MUL R4,R5;(R4)(R5)-R4I5 LAD R6,B ;M(B)R6,M(B)是存储器单元是存储器单元I6 MUL R6,R7;(R6)(R7)R6其中其中 I1,I2有有RAW相关,相关,I3,I4有有WAR相关,相关,I5,I6有有WAW相关和相关和RAW相关。相关。请画出:请画出:(1)按序发射按序完成各段推进情况图;按序发射按序完成各段推进情况图;(2)按序发射按序完成的流水线时空图。按序发射按序完成的流水线时空图。I1I1LAD R1LAD R1,A A ;M(A)R1M(A)R1,M(A)

36、M(A)是存储器单元是存储器单元 I2 ADD R2I2 ADD R2,R1 R1 ;(R2)+(R1)-R2(R2)+(R1)-R2 由于由于I1I1,I2I2间有间有RAWRAW相关,相关,I2I2要推迟一个时钟才能发射。要推迟一个时钟才能发射。I3 ADD R3I3 ADD R3,R4R4;(R3)+(R4)-R3(R3)+(R4)-R3I4 MUL R4I4 MUL R4,R5R5;(R4)(R5)-R4(R4)(R5)-R4 I3 I3,I4I4之间有之间有WARWAR相关,但按序发射,即使相关,但按序发射,即使I3I3,I4I4并行并行操作,也不会导致错误。操作,也不会导致错误。I

37、5 LAD R6I5 LAD R6,B B ;M(B)R6M(B)R6,M(B)M(B)是存储器单元是存储器单元I6 MUL R6I6 MUL R6,R7R7;(R6)(R7)R6(R6)(R7)R6 I5 I5,I6I6间还有间还有WAWWAW相关,只要相关,只要I6I6的完成放在的完成放在I5I5之后,就之后,就不会出错。不会出错。I6I6要推迟一个时钟才能发射。要推迟一个时钟才能发射。解:译码段译码段执行段执行段写回段写回段时钟时钟2345678910注意:注意:I5I5实际上已在时钟实际上已在时钟6 6执行完毕,但一直推迟到时钟执行完毕,但一直推迟到时钟9 9 才写回,这是为了保持按序

38、完成。超标量流水线完才写回,这是为了保持按序完成。超标量流水线完 成成6 6条指令的执行任务总共需要条指令的执行任务总共需要1010个时钟周期个时钟周期。n在一台计算机中,指令的执行分为取指IF、译码ID、执行EX和写回WB四个阶段,每个阶段在一个时钟周期只能接受一个新任务,取指阶段和译码阶段不受指令类型或相关性的影响。在执行阶段中有乘法器和加法器等运算功能部件,乘法器是一个六级流水部件,加法器是一个两级流水部件,运算功能部件的输出可通过结果总线直接送入所有运算功能部件的输入端。对于以下指令序列:nmult r3,r1,r4 /*s1*/nadd r4,r1,r5 /*s2*/nmult r6

39、,r4,r8 /*s3*/n画出以下情况下指令执行的时空图并指出所需的执行时间:n(1)无序执行无序写回n(2)有序执行有序写回n(3)无序执行有序提交第五章第五章:典型习题与解答典型习题与解答解答n(1)指令执行的时空图:n共需12周期S1 IF ID EX EX EX EX EX EX WB S2 IF ID EX EX WB S3 IF ID-EX EX EX EX EX EX WB 解:n(2)指令执行的时空图:n共需16周期解:n(3)指令执行的时空图:n共需12周期第五章第五章:典型习题与解答典型习题与解答 作业作业:第第 2 2、8 8、1111、1212、1313、1616、1717题题附加题:附加题:某某32位机共有微操作控制信号位机共有微操作控制信号52个,构成个,构成5个个相斥类的微命令组,各组分别包含了相斥类的微命令组,各组分别包含了4、5、8、15和和20个微命令。已知可判断的外部条件有个微命令。已知可判断的外部条件有CY和和ZF两个,微指令字长两个,微指令字长29位。求:位。求:(1)给出水平型的微指令格式。)给出水平型的微指令格式。(2)控制存储器的容量应为多少位?)控制存储器的容量应为多少位?结束结束

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!