书签 分享 收藏 举报 版权申诉 / 85
上传文档赚钱

类型流水线CPU技术课件.ppt

  • 上传人(卖家):ziliao2023
  • 文档编号:5887940
  • 上传时间:2023-05-14
  • 格式:PPT
  • 页数:85
  • 大小:2.18MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《流水线CPU技术课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    流水线 CPU 技术 课件
    资源描述:

    1、 流水线流水线CPU1并行性概念并行性概念 1并行性的含义并行性的含义 同时性同时性指两个或者两个以上事件在同一时刻发生。指两个或者两个以上事件在同一时刻发生。并发性并发性指两个或者两个以上事件在同一时间间隔内发生。指两个或者两个以上事件在同一时间间隔内发生。流水流水CPUCPU22 并行性概念并行性概念2 2并行处理技术的主要形式并行处理技术的主要形式 (1)时间并行时间并行 时间重叠时间重叠 让多个处理过程在时间上相互错开,轮流重叠地使用让多个处理过程在时间上相互错开,轮流重叠地使用 同一套硬件的各个部分,从而赢得高速度。同一套硬件的各个部分,从而赢得高速度。实现方式:实现方式:采用流水处

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

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

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

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

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

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

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

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

    10、高的分支进行指令指令预取。预取。16【例例4】流水线中有三类数据相关冲突:流水线中有三类数据相关冲突:写后读相关;读后写相关;写后写相关。写后读相关;读后写相关;写后写相关。判断以下三组指令各存在哪种类型的数据相关。判断以下三组指令各存在哪种类型的数据相关。(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 R

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

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

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

    14、n静态指令调度静态指令调度n改变程序中指令的位置改变程序中指令的位置n由编译程序实现由编译程序实现n动态指令调度动态指令调度n改变指令的实际执行顺序改变指令的实际执行顺序n不改变取指令和指令译码的顺序不改变取指令和指令译码的顺序n无序执行无序执行n由控制器硬件实现由控制器硬件实现计分牌法计分牌法 保存站法保存站法22 静态调度:流水线延迟静态调度:流水线延迟取指 F译码 D发射 I执行 E执行 E执行 E写回 W(a)一条 7 段指令流水线 R1M(Y)R2M(Z)R3(R1)(R2)M(X)(R3)R4M(B)R5M(C)R6(R4)(R5)M(A)(R6)(c)8 条指令的流水线图 4-1

    15、2 流水线的相关延迟FFFFFFFFDDDDDDDDIIIIIIIIE E EE E EE E EE E EE E EE E EE E EE E EWWWWWWWW1 2 3 4 5 6 7 8 9 10 111213 1415 1617 181920 21 222324(b)8 条指令顺序时间X=Y+ZA=BCn指令发射:启动指令去处理器功能单元执行的过程指令发射:启动指令去处理器功能单元执行的过程23静态调度:编译检测静态调度:编译检测n编译器优化后,所需时间为编译器优化后,所需时间为17个时钟周期个时钟周期 R1M(Y)R2M(Z)R4M(B)R5M(C)R3(R1)(R2)R6(R4)

    16、(R5)M(X)(R3)M(A)(R6)FFFFFFFFDDDDDDDDIIIIIIIIE E EE E EE E EE E EE E EE E EE E EE E EWWWWWWWW12 3 456 7 89 10 11 12 13 14 15 16 178 条指令顺序图 4-13 静态调度后的流水线延迟24动态调度动态调度-计分牌法计分牌法 取指令 F 译码 D 发射 I 执行 E 执行 E 执行 E 执行 E 执行 E 写回 W 写回 W 写回 W 计分牌 (a)CDC6600 处理机的流水线结构 执行 E 25 计分牌计分牌是一个位向量、每一位对应寄存器堆中的一个寄存器。是一个位向量、

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

    18、牌法计分牌法26 R1 M(Y)R2 M(Z)R3(R1)+(R2)M(X)(R3)R4 M(B)R5 M(C)R6(R4)(R5)M(A)(R6)F F F F F F F F D D D D D D D D I I I I I I I I E E E E E E E E E E E E E E E E E E E E E E E E W W W W W W W W 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19(b)计分牌法动态调度后的流水线 图4-15 基于计分牌发射逻辑的流水线调度过程 动态调度动态调度-计分牌法计分牌法27动态调度动态调

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

    20、存部件,则指令暂等如果没有空的保存站或缓存部件,则指令暂等n执行执行n一条指令发射时,存放操作数的寄存器名被换成为对一条指令发射时,存放操作数的寄存器名被换成为对应于该寄存器的保存站名称(应于该寄存器的保存站名称(寄存器重命名寄存器重命名)n写结果写结果n结果写回时通过数据总线直接送到等待此结果的所有结果写回时通过数据总线直接送到等待此结果的所有保存站保存站30 R1M(Y)R2M(Z)R3(R1)(R2)M(X)(R3)R4M(B)R5M(C)R6(R4)(R5)M(A)(R6)FFFFFFFFDDDDDDDDIIIIIIIIE E EE E EE E EEEEEEEEEEE EEE EEW

    21、WWWWWWW1 2 3 4 5 6 7 8 9 10111213 141516171819(b)保存站法动态调度后流水线图4-14 保存站动态调度法动态调度动态调度-保存站法保存站法31具有分布的阻塞检测机制;具有分布的阻塞检测机制;消除了数据写后写和先读后写相关导致的阻塞消除了数据写后写和先读后写相关导致的阻塞保存站法的优点保存站法的优点(相对记分牌法相对记分牌法)动态调度动态调度-保存站法保存站法保存站法又称作保存站法又称作 TomasuloTomasulo调度法调度法32(2)设置多个功能部件)设置多个功能部件流水线的瓶颈会在某一个流水线段产生;流水线的瓶颈会在某一个流水线段产生;这种

    22、瓶颈段一定对应于预约表中符号最多这种瓶颈段一定对应于预约表中符号最多的那一行;的那一行;可设置几个相同的段来解决该段的瓶颈问可设置几个相同的段来解决该段的瓶颈问题。题。33例:例:S2 S3 S1 S4 t t t 3t S2 S3 S1 S4 t t t 3t S3 S3(2)设置多个功能部件)设置多个功能部件34(3)内部数据定向)内部数据定向内部数据定向的原则:是要消除一些不内部数据定向的原则:是要消除一些不必要的访存储器或访寄存器的中间环节,必要的访存储器或访寄存器的中间环节,从而减少资源和数据的相关性,以提高从而减少资源和数据的相关性,以提高流水线的吞吐率。流水线的吞吐率。数据定向分

    23、成数据定向分成:写读定向写读定向、读读定读读定向向、写写定向。写写定向。35(3)内部数据定向)内部数据定向n可减少或者消除数据相关性带来的影响nData forwarding W W M M Ex Ex Id Id IF IF 流水周期 6 5 4 3 2 1 and$4,$2,$5 lw$2,20($1)IFIdExMW36 U2 M U1 相关通路 先写 先写 后读 U2 M U1 写读定向(3)内部数据定向)内部数据定向 读读定向 U2 M U1 先读 后读 相关通路 先读 U2 M U1 写写定向 U2 M U1 先写 后写 U2 M U1 后写 372.全局性相关:变址转移全局性相

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

    25、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 39例:例: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 分析 执行 取指 I4 I3 I5 分析 执行 取指 I0 I3 I1 转移成功 I50 转移不成功 I4 1)延迟转移法)延迟转移法40n转移延迟槽:n将转移指令的执行在流水线中提前进行1)延迟转移法)延迟转移法412)转移预

    26、测法)转移预测法n转移预测法:在程序执行以前,就静态地根据转移预测法:在程序执行以前,就静态地根据转移代码的类型或动态地根据转移历史表来预转移代码的类型或动态地根据转移历史表来预测下一次转移是否会成功。测下一次转移是否会成功。n得到的预测值都是试探性的值,不能把结果得到的预测值都是试探性的值,不能把结果作作为最后结果为最后结果。n根据运行结果,根据运行结果,如果预测正确,把试探性结果如果预测正确,把试探性结果上的试探标记去掉,成为正式结果。上的试探标记去掉,成为正式结果。n如果不正确,则要清除试探性结果。如果不正确,则要清除试探性结果。42利用预取缓冲器进行转移预测利用预取缓冲器进行转移预测

    27、n预取缓冲器有三种类型:预取缓冲器有三种类型:顺序缓冲器:顺序缓冲器:顺序流入流水线的指令。顺序流入流水线的指令。目标缓冲器目标缓冲器:从转移目标开始取出的指令。从转移目标开始取出的指令。循环缓冲器循环缓冲器:保存了一个小循环的顺序指令。保存了一个小循环的顺序指令。n顺序缓冲器和目标缓冲器在条件转移指令到来之顺序缓冲器和目标缓冲器在条件转移指令到来之前,就按预测策略装满各自的指令。在转移条件前,就按预测策略装满各自的指令。在转移条件被检测出之后,选取两个缓冲器中的一个缓冲器被检测出之后,选取两个缓冲器中的一个缓冲器的指令流进入流水线,而另一个缓冲器中的指令的指令流进入流水线,而另一个缓冲器中的

    28、指令流被作废。流被作废。43 D I E E E W 4 3 2 1 F M 目标缓冲器FIFO 顺序缓冲器FIFO 4 3 2 1 n按原程序顺序,经顺序缓冲器一方把指令流装按原程序顺序,经顺序缓冲器一方把指令流装入流水线。入流水线。n预测正确的话,取消试探标志,结果存入用户预测正确的话,取消试探标志,结果存入用户寄存器或存储器,报废掉目标缓冲器中指令。寄存器或存储器,报废掉目标缓冲器中指令。n如果预测错误,重新从目标缓冲器装入指令到如果预测错误,重新从目标缓冲器装入指令到流水线。流水线。转移预测策略转移预测策略 44 i-1 i i+1 i+2 p+1 p+2 猜测执行路径 实际执行路径

    29、分支指令 得到分支结果 分支预测执行不成功和重新执行过程分支预测执行不成功和重新执行过程 转移预测策略转移预测策略 45 分支预测branch predictionn静态n永远不转移n永远转移n后向转移n动态n1位n2位n多位(1级,2级)46 1位动态分支预测n根据上次转移情况预测下次情况指令预测位010110 1 0 分支不成功 分支成功 分支不成功 分支成功 47 2位动态分支预测n根据上两次转移情况预测下次分支0000111111001001预测发生(11)预测不发生(00)预测不发生(01)预测发生(10)图8-6 两位预测状态图未发生发生未发生未发生发生发生发生未发生预测状态机00

    30、:strongly not taken01:weakly not taken10:weakly taken11:strongly taken48例例n设某转移指令在每次执行过程的转移序列如下,T表示转移发生,N表示转移未发生:T,T,T,N,T,T,N,T,N,N,T,N,N,n试分析在每次对该指令进行预测的状态和预测的成功率。假设:1)采用1位动态预测,预测器初始状态为T;2)采用2位动态预测,预测器初始状态为11。49解答(1)每次对指令进行预测时的状态和结果如下n预测成功6次,成功率为0.46。事件序列TTTNTTNTNNTNN预测器状态TTTTNTTNTNNTN准确性YYYYYY50解

    31、答(2)每次对指令进行预测时的状态和结果如下n预测成功8次,成功率为0.62。事件序列TTTNTTNTNNTNN预测器状态11111111101111101110000100预测结果TTTTTTTTTTNNN准确性YYYYYYYY513.全局性相关:中断全局性相关:中断n中断也会引起转移;中断也会引起转移;n中断一般是不可预测的;中断一般是不可预测的;n中断处理目的不是如何缩短断流时中断处理目的不是如何缩短断流时间,而是如何处理好断点现场和中间,而是如何处理好断点现场和中断后的恢复问题。断后的恢复问题。52中断的处理(中断的处理(1)n不精确断点法:不论在哪条指令的哪一不精确断点法:不论在哪条

    32、指令的哪一段发生了中断申请,都不再允许当时还段发生了中断申请,都不再允许当时还未进入流水线的后继指令再进入,但已未进入流水线的后继指令再进入,但已在流水线中的指令可流动到执行完为止,在流水线中的指令可流动到执行完为止,然后再转入中断处理程序。然后再转入中断处理程序。n例:输入输出设备申请的中断例:输入输出设备申请的中断53中断的处理(中断的处理(2)n精确断点法:是指采用后援寄存器来保精确断点法:是指采用后援寄存器来保存进入流水线的各指令的现场状态。所存进入流水线的各指令的现场状态。所以不管在进入流水线的指令的任何段发以不管在进入流水线的指令的任何段发生中断申请,断点都是精确的。生中断申请,断

    33、点都是精确的。n例:执行错误的中断例:执行错误的中断544.超标量流水线超标量流水线4.2.1 4.2.1 超标量流水线超标量流水线n标量流水线标量流水线:在每个时钟周期只发射一条指令,在每个时钟周期只发射一条指令,并要求每个时钟周期只从流水线流出一条指令并要求每个时钟周期只从流水线流出一条指令的结果。的结果。n超标量流水线超标量流水线:是指在每个时钟周期向流水线是指在每个时钟周期向流水线发射多条指令,并能从流水线流出多个结果发射多条指令,并能从流水线流出多个结果。55例:三发射超标量流水线例:三发射超标量流水线 F1 D1 E1 E1 S1 F2 D2 E2 E2 S2 F3 D3 E3 E

    34、3 S3 F1 D1 E1 E1 S1 F2 D2 E2 E2 S2 F3 D3 E3 E3 S3 1 2 3 4 5 6 7 8I1I2I3I4I5I6时间(时钟周期)指令图 4-18 三发射超标量流水线56n超标量流水线会因数据相关、资源冲突、超标量流水线会因数据相关、资源冲突、转移指令、循环及中断等造成流水线的转移指令、循环及中断等造成流水线的断流;断流;n断流延迟时间与超标量流水线的调度方断流延迟时间与超标量流水线的调度方法有关法有关;n调度方法有:调度方法有:按序发射按序完成按序发射按序完成 按序发射无序完成按序发射无序完成 无序发射无序完成无序发射无序完成 超标量流水线的调度方法超

    35、标量流水线的调度方法57有序执行 vs 无序执行 n无序执行无序执行n后续指令比前面的指令先开始进入执行阶段后续指令比前面的指令先开始进入执行阶段n后续指令比前面的指令先执行完成后续指令比前面的指令先执行完成 n真相关的指令停顿真相关的指令停顿n继续读取操作数继续读取操作数n没有改变取指和译码的顺序没有改变取指和译码的顺序n有序执行有序执行n有序开始执行有序开始执行n有序执行完成有序执行完成EXEX58例:例:I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)6R F2 D2 F1 W2 W1 D1 L S

    36、A1 A2 M1 M2 M3 写回 执行 译码 取指 超标量流水线的调度方法超标量流水线的调度方法59取指 1取指 2译码 1译码 2乘法 1 乘法 2 乘法 3加法 1 加法 2逻辑访存写回 1写回 2取指阶段译码阶段执行阶段写回阶段超标量流水线的调度方法超标量流水线的调度方法60按序发射按序完成按序发射按序完成 I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)F 1 D1 S W1 F2 D2 M1 M2 M3 W2 F1 D1 A1 A2 W1 F1 D1 L W1 F2 D2 M1 M2 M3 W2

    37、 F2 D2 A1 A2 W2 1 2 3 4 5 6 7 8 9 流水线 1,I1 流水线 2,I2 指令 时间(时钟周期)I3 I4 I5 I6 6R F2 D2 F1 W2 W1 D1 L S A1 A2 M1 M2 M3 写回 执行 译码 取指 61按序发射无序完成按序发射无序完成 I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)时间(时钟周期)I1 I5 I3 I2 I4 I6 F 1 D1 S W1 F2 D2 A1 A2 W2 F1 D1 A1 A2 W1 F2 D2 M1 M2 M3 W2

    38、F1 D1 L W1 F2 D2 M1 M2 M3 W2 1 2 3 4 5 6 7 8 9 流水线 1,I1 流水线 2,I2 I3 I4 I5 I6 4 5 6 7 8 9 流水线 1 流水线 2 完成序 成功 6R F2 D2 F1 W2 W1 D1 L S A1 A2 M1 M2 M3 写回 执行 译码 取指 62无序发射无序完成无序发射无序完成 I1 R1 M(A)I2 R2(R1)(R2)I3 R3(R3)(R4)I4 R4(R4)(R5)I5 R6 I6 R6(R6)(R7)1 2 3 4 5 6 7 F1 D1 A1 A2 W1 F2 D2 M1 M2 M3 W2 FW DW

    39、L W1 F1 D1 M1 M2 M3 W1 F2 D2 S W2 F2 D2 A1 A2 W2 流水线 1,I3 流水线 2,I4 先行窗口 I5 流水线 1,I6 流水线 2,I1 流水线 2,I2 (流水线 1)1 2 3 I3 I6 I4 I1 I2 I5 流水线 1 流水线 2 先行 发射序 4 5 6 7 I5 I3 I6 I1 I4 I2 流水线 1 流水线 2 完成序 6R F2 FW D2 DW F1 W2 W1 D1 L S A1 A2 M1 M2 M3 写回 执行 译码 取指 先行窗口 63 F 1 D1 S W1 F2 D2 M1 M2 M3 W2 F1 D1 A1 A

    40、2 W1 F1 D1 L W1 F2 D2 M1 M2 M3 W2 F2 D2 A1 A2 W2 1 2 3 4 5 6 7 8 9 流水线 1,I1 流水线 2,I2 指令 时间(时钟周期)(a)按序发射,按序完成成功 I1 I5 I3 I2 I4 I6 F 1 D1 S W1 F2 D2 A1 A2 W2 F1 D1 A1 A2 W1 F2 D2 M1 M2 M3 W2 F1 D1 L W1 F2 D2 M1 M2 M3 W2 1 2 3 4 5 6 7 8 9 流水线 1,I1 流水线 2,I2 I3 I4 I5 I6 I3 I4 I5 I6 4 5 6 7 8 9 流水线 1 流水线

    41、2 完成序成功(b)按序发射,无序完成 1 2 3 4 5 6 7 F1 D1 A1 A2 W1 F2 D2 M1 M2 M3 W2 FW DW L W1 F1 D1 M1 M2 M3 W1 F2 D2 S W2 F2 D2 A1 A2 W2 流水线 1,I3 流水线 2,I4 先行窗口 I5 流水线 1,I6 流水线 2,I1 流水线 2,I2(流水线 1)1 2 3 I3 I6 I4 I1 I2 I5 流水线 1 流水线 2 先行发射序 4 5 6 7 I5 I3 I6 I1 I4 I2 流水线 1 流水线 2完成序(c)无序发射,无序完成 图 4-20 超标量流水线调度方法64超标量流水

    42、线的调度方法超标量流水线的调度方法n无序执行机制无序执行机制n指令预取指令预取n功能部件之间可无序执行功能部件之间可无序执行n功能部件之内有序执行功能部件之内有序执行n可以提高程序执行速度可以提高程序执行速度浮点部件访存部件指令启动指令预取定点运算655.5.超流水线技术超流水线技术 n超流水线:把一般完成一条指令的流水线段再超流水线:把一般完成一条指令的流水线段再细分成更多的流水线段。这样原时钟周期的几细分成更多的流水线段。这样原时钟周期的几分之一的时间间隔就可以发射一条指令,并从分之一的时间间隔就可以发射一条指令,并从流水线流出一个结果流水线流出一个结果。0 1 2 3 4 5 6 7 8

    43、 9 时间(以基本周期表示)取指 译码 执行 写回 66超流水线超标量处理技术超流水线超标量处理技术 n同时使用超流水线和超标量技术。同时使用超流水线和超标量技术。n超标量的度为超标量的度为3,超流水线的度为,超流水线的度为3,超流水线超流水线超标量的度为超标量的度为9 9。0 1 2 3 4 5 6 7 8 9 时间(以基本周期表示)取指 译码 执行 写回 67动态多重指令启动周期时间(d)超标量超流水周期时间周期时间(c)标量超流水(b)超标量流水(a)一般标量流水周期时间指令序列指令序列指令序列指令序列68性能分析性能分析 n设有设有N N条不相关的指令通过流水线,流水线的基条不相关的指

    44、令通过流水线,流水线的基准段为准段为S S,超流水线的度为,超流水线的度为n n,超标量流水线的,超标量流水线的度为度为m m,则基准标量机、超流水线机、超标量机,则基准标量机、超流水线机、超标量机的所需处理时间(基本时钟周期)分别为:的所需处理时间(基本时钟周期)分别为:11,1NSTnNSnT/1,1mmNSmT/1,69流水线加速比流水线加速比1.超流水线对基准标量流水线:超流水线对基准标量流水线:2.2.超超标量流水线对基准标量流水线:标量流水线对基准标量流水线:3.3.超流水线超标量流水线对基准标量流水线:超流水线超标量流水线对基准标量流水线:11/11,11,1,1NnSNSnnN

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

    46、个段,即取指取指(F)段、段、译码译码(D)段、执行段、执行(E)段和写回段和写回(W)段。段。F,D,W 段只需段只需1个时钟个时钟周期完成。周期完成。E段有多个功能部件,其中段有多个功能部件,其中LOAD/STORE部件完成数据部件完成数据cache访问,访问,只需一个时钟周期;加法器完成需只需一个时钟周期;加法器完成需2个时钟周期,乘法器需个时钟周期,乘法器需3个时钟周期,它个时钟周期,它们都已流水化。们都已流水化。F段和段和D段要求成对输入。段要求成对输入。E段有内部数据定向传送,结果生段有内部数据定向传送,结果生成即可使用。成即可使用。73现有如下现有如下6条指令序列:条指令序列:I

    47、1LAD R1,A ;M(A)R1,M(A)是存储器单元是存储器单元I2 ADD R2,R1 ;(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相关。相关。74请画出:请画出:(1)按序发射按序完成各段推进情况图;按序发射按序完成各段推进情况图;(2)按序发射按序完成的流水线时空图。按序发射按序

    48、完成的流水线时空图。I1I1LAD R1LAD R1,A A ;M(A)R1M(A)R1,M(A)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)(R4)(R5)-R4(R5)-R4 I3 I3,I4I4之间有之间有WARWAR相关,但按序发射,

    49、即使相关,但按序发射,即使I3I3,I4I4并行并行操作,也不会导致错误。操作,也不会导致错误。I5 LAD R6I5 LAD R6,B B ;M(B)R6M(B)R6,M(B)M(B)是存储器单元是存储器单元I6 MUL R6I6 MUL R6,R7R7;(R6)(R6)(R7)R6(R7)R6 I5 I5,I6I6间还有间还有WAWWAW相关,只要相关,只要I6I6的完成放在的完成放在I5I5之后,就之后,就不会出错。不会出错。I6I6要推迟一个时钟才能发射。要推迟一个时钟才能发射。75解:译码段译码段执行段执行段写回段写回段时钟时钟234567891076注意:注意:I5I5实际上已在时

    50、钟实际上已在时钟6 6执行完毕,但一直推迟到时钟执行完毕,但一直推迟到时钟9 9 才写回,这是为了保持按序完成。超标量流水线完才写回,这是为了保持按序完成。超标量流水线完 成成6 6条指令的执行任务总共需要条指令的执行任务总共需要1010个时钟周期个时钟周期。77n在一台计算机中,指令的执行分为取指IF、译码ID、执行EX和写回WB四个阶段,每个阶段在一个时钟周期只能接受一个新任务,取指阶段和译码阶段不受指令类型或相关性的影响。在执行阶段中有乘法器和加法器等运算功能部件,乘法器是一个六级流水部件,加法器是一个两级流水部件,运算功能部件的输出可通过结果总线直接送入所有运算功能部件的输入端。对于以

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:流水线CPU技术课件.ppt
    链接地址:https://www.163wenku.com/p-5887940.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库