流水线CPU技术课件.ppt
- 【下载声明】
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)转移预
展开阅读全文