第3章流水线技术_标量优秀PPT.ppt
《第3章流水线技术_标量优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第3章流水线技术_标量优秀PPT.ppt(178页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章流水线技术章流水线技术_标量标量2023/2/231现在学习的是第1页,共178页本章学习内容标量流水的基本概念和工作原理标量流水的基本概念和工作原理标量流水的性能分析标量流水的性能分析流水操作中存在的主要障碍和解决方法流水操作中存在的主要障碍和解决方法流水调度方法流水调度方法2023/2/232现在学习的是第2页,共178页3.1 3.1 重叠操作和先行控制重叠操作和先行控制(简述简述)1.1.顺序解释方式顺序解释方式一条指令完全解释执行完毕后,才开始对下一条指令进一条指令完全解释执行完毕后,才开始对下一条指令进行解释执行。行解释执行。设把一条指令解释分为取数、分析和执行三个阶段,则
2、设把一条指令解释分为取数、分析和执行三个阶段,则:若各阶段周期均为若各阶段周期均为t0t0,则顺序解释,则顺序解释n n条指令,需时间条指令,需时间T T3nt03nt02023/2/233现在学习的是第3页,共178页2.2.重叠解释方式重叠解释方式在两条相邻指令的解释过程中,某些不同解释阶段在时间在两条相邻指令的解释过程中,某些不同解释阶段在时间上存在重叠部分。这样在一条指令解释执行完成之前就可上存在重叠部分。这样在一条指令解释执行完成之前就可以开始下一条指令的解释工作。以开始下一条指令的解释工作。重叠方式重叠方式 1 1设各阶段周期均为设各阶段周期均为t t0 0,则执行,则执行n n条
3、指令共需条指令共需T T2nt2nt0 0t t0 0(2n(2n1)t1)t0 0t t0 0t t0 0t t0 0t t0 02023/2/234现在学习的是第4页,共178页重叠方式重叠方式 2 2设各阶段周期均为设各阶段周期均为t t0 0,则执行,则执行n n条指令共需条指令共需T Tntnt0 02t2t0 0(n(n2)t2)t0 0重叠方式缩短了程序的执行时间,提高了功能部件的利重叠方式缩短了程序的执行时间,提高了功能部件的利用率,但需增加硬件支持。用率,但需增加硬件支持。t t0 0t t0 0t t0 02023/2/235现在学习的是第5页,共178页一次重叠工作方式一
4、次重叠工作方式任何时候只允许上条指令的任何时候只允许上条指令的“执行执行”与下条指令的与下条指令的 “分析分析”相重叠的工作方式称为相重叠的工作方式称为“一次重叠一次重叠”。T(n1)t0t0t02023/2/236现在学习的是第6页,共178页采用一次重叠工作方式,完成采用一次重叠工作方式,完成n n条指令所需的执行条指令所需的执行时间为:时间为:T T(n(n1)t1)t0 0。当取指和分析部件的执行时间不等时,执行时间当取指和分析部件的执行时间不等时,执行时间短的部件,必须等待执行时间长的部件功能的完短的部件,必须等待执行时间长的部件功能的完成,导致部件的空闲,使得完成成,导致部件的空闲
5、,使得完成n n条指令所需的执条指令所需的执行时间变为:行时间变为:2023/2/237现在学习的是第7页,共178页执行时间不等时的一次重叠工作方式执行时间不等时的一次重叠工作方式2023/2/238现在学习的是第8页,共178页3.3.先行控制方式先行控制方式 先行控制方式的先行控制方式的基本思想基本思想:通过设置先行读数栈通过设置先行读数栈,先行操作栈先行操作栈,后行写数栈后行写数栈等等,使分析部件和执行部件能够分别连续不断地使分析部件和执行部件能够分别连续不断地分析和执行指令。分析和执行指令。2023/2/239现在学习的是第9页,共178页理想情况下,指令执行部件应该一直忙碌。理想情
6、况下,指令执行部件应该一直忙碌。连续执行连续执行n n条指令的时间为:条指令的时间为:2023/2/2310现在学习的是第10页,共178页先行控制的基本结构先行控制的基本结构 主存存储器控制器先行指令栈先行指令栈先行读数栈先行读数栈指令分析器指令分析器后行写数栈后行写数栈运算控制器运算控制器运算器运算器取指取指读数读数写数写数先行操作栈先行操作栈通用寄存器组通道通道2023/2/2311现在学习的是第11页,共178页三个独立的控制器:三个独立的控制器:存储控制器、指令控制器、运算控制器。存储控制器、指令控制器、运算控制器。四个缓冲栈:四个缓冲栈:先行指令缓冲栈、先行读数缓冲栈、先行操作先行
7、指令缓冲栈、先行读数缓冲栈、先行操作栈、后行写数栈。栈、后行写数栈。2023/2/2312现在学习的是第12页,共178页3.2 3.2 标量流水处理技术标量流水处理技术3.2.1流水方式流水方式把一个重复的过程分为若干个子过程,每个子过程把一个重复的过程分为若干个子过程,每个子过程都可以有效地在其专用功能段上与其它子过程同时都可以有效地在其专用功能段上与其它子过程同时执行。执行。例:把指令的执行过程分成取指、译码、执行、访例:把指令的执行过程分成取指、译码、执行、访存和写回寄存器五个子过程,并用五个子部件分别存和写回寄存器五个子过程,并用五个子部件分别处理这五个子过程。处理这五个子过程。取指
8、取指译码译码执行执行访存访存写回写回输入输入输出输出s s1 1s s2 2s s3 3s s4 4s s5 5IFIFIDIDEXEXMEMMEMWBWB2023/2/2313现在学习的是第13页,共178页流水处理的时空图流水处理的时空图2023/2/2314现在学习的是第14页,共178页流水处理机的基本结构流水处理机的基本结构2023/2/2315现在学习的是第15页,共178页如果每个流水段的延迟时间如果每个流水段的延迟时间(通过时间通过时间)均为均为ts,锁,锁定时间为定时间为tl,则每功能段的处理时间,则每功能段的处理时间ti为:为:titstl流水处理机的最高工作频率为:流水处
9、理机的最高工作频率为:若每个流水段的延迟时间不等,则最高工作频率为:若每个流水段的延迟时间不等,则最高工作频率为:2023/2/2316现在学习的是第16页,共178页 一条流水线通常由若干个有联系的流水段组成。一条流水线通常由若干个有联系的流水段组成。流水线中的段数也称为流水线中的段数也称为 “流水深度流水深度”。每个流水段有专门的功能部件对指令进行某种每个流水段有专门的功能部件对指令进行某种加工。加工。各流水段所需时间应尽量相等,以减少流水线各流水段所需时间应尽量相等,以减少流水线的瓶颈影响。的瓶颈影响。流水线工作阶段可分为建立流水线工作阶段可分为建立(装入装入)、满载和排、满载和排空三个
10、阶段。空三个阶段。在理想情况下,当流水线充满后,每隔在理想情况下,当流水线充满后,每隔tt时间时间将会有一个结果流出流水线。将会有一个结果流出流水线。流水技术的特点流水技术的特点 2023/2/2317现在学习的是第17页,共178页1.1.按处理级别分按处理级别分 部件级部件级运算操作流水线运算操作流水线将复杂的算逻运算分段组成流水工作方式。将复杂的算逻运算分段组成流水工作方式。例:将浮点加法操作分成求阶差、对阶、尾数相加、例:将浮点加法操作分成求阶差、对阶、尾数相加、结果规格化四个子过程。结果规格化四个子过程。3.2.2 3.2.2 标量流水分类标量流水分类(简述简述)求阶差求阶差对阶对阶
11、尾数尾数相加相加规格化规格化输入输入输出输出s s1 1s s2 2s s3 3s s4 42023/2/2318现在学习的是第18页,共178页浮点加法器流水线的时空图2023/2/2319现在学习的是第19页,共178页 处理机级处理机级指令流水线指令流水线把一条指令解释过程分成多个子过程组成流水工作方式。把一条指令解释过程分成多个子过程组成流水工作方式。如如前前面面所所提提到到的的将将指指令令执执行行过过程程分分为为取取指指、译译码码、执执行行、访存及写回五个子过程。访存及写回五个子过程。系统级系统级处理机間流水线(宏流水线)处理机間流水线(宏流水线)将将系系统统中中多多个个处处理理机机
12、串串联联起起来来,对对同同一一数数据据流流进进行行不不同同的处理,每个处理机完成某一专门任务。的处理,每个处理机完成某一专门任务。2023/2/2320现在学习的是第20页,共178页2 2按功能分按功能分 单功能流水线单功能流水线只完成一种固定功能的流水线。只完成一种固定功能的流水线。如浮点加法或乘法流水线。如浮点加法或乘法流水线。多功能流水线多功能流水线同一流水线的各功能段可进行不同的连接,使流水同一流水线的各功能段可进行不同的连接,使流水线在不同时间或同一时间内完成不同的功能。线在不同时间或同一时间内完成不同的功能。2023/2/2321现在学习的是第21页,共178页多多功功能能流流水
13、水线线2023/2/2322现在学习的是第22页,共178页静态流水线静态流水线在同一时间内,流水线只能以一种功能方式工作。在同一时间内,流水线只能以一种功能方式工作。静态流水线可以是单功能的,也可以是多功能的。静态流水线可以是单功能的,也可以是多功能的。当是多功能流水线时,则从一种功能方式变为另一当是多功能流水线时,则从一种功能方式变为另一种功能方式时,必须先排空流水线,然后为另一种种功能方式时,必须先排空流水线,然后为另一种功能设置初始条件后方可使用。功能设置初始条件后方可使用。3.按工作方式分按工作方式分2023/2/2323现在学习的是第23页,共178页静态流水线的时空图静态流水线的
14、时空图2023/2/2324现在学习的是第24页,共178页 动态流水线动态流水线在同一时间内,可以将流水线中的不同功能段连接在同一时间内,可以将流水线中的不同功能段连接成不同的功能子集(前提条件是功能部件的使用不成不同的功能子集(前提条件是功能部件的使用不发生冲突),以完成不同的运算功能。发生冲突),以完成不同的运算功能。动态流水线必是多功能流水线,而单功能流水线则动态流水线必是多功能流水线,而单功能流水线则必是静态的。必是静态的。2023/2/2325现在学习的是第25页,共178页动态流水线的时空图动态流水线的时空图2023/2/2326现在学习的是第26页,共178页4按连接方式分按连
15、接方式分线性流水线线性流水线从流水线的输入到输出,每个功能段只允许经过一从流水线的输入到输出,每个功能段只允许经过一次,流水线中不存在反馈回路。次,流水线中不存在反馈回路。一般的流水线均属于线性流水线。一般的流水线均属于线性流水线。非线性流水线非线性流水线流水线各功能段之间除了串行连接外,还存在反馈流水线各功能段之间除了串行连接外,还存在反馈回路,因此从流水线的输入到输出过程中,某些功回路,因此从流水线的输入到输出过程中,某些功能段将被数次通过。能段将被数次通过。非线性流水线适合于进行线性递归的运算。非线性流水线适合于进行线性递归的运算。2023/2/2327现在学习的是第27页,共178页非
16、线性流水线非线性流水线流水线的流动顺序:流水线的流动顺序:S1S2S3S2S3S4S1S2反馈回路反馈回路2023/2/2328现在学习的是第28页,共178页为了防止两条或两条以上的指令对同一功能段的争为了防止两条或两条以上的指令对同一功能段的争用,非线性流水线需要对输入流水线的指令进行比用,非线性流水线需要对输入流水线的指令进行比较复杂的控制。较复杂的控制。非线性流水线通常使用预约表来进行分析。非线性流水线通常使用预约表来进行分析。123456789s111s2111s311s412023/2/2329现在学习的是第29页,共178页5按任务流动方式分按任务流动方式分顺序流动流水线顺序流动
17、流水线输出端的任务流出与输入端的任务流入顺序完全相输出端的任务流出与输入端的任务流入顺序完全相同。同。乱序流动流水线乱序流动流水线输出端的任务流出与输入端的任务流入顺序不完全输出端的任务流出与输入端的任务流入顺序不完全相同。相同。在乱序流动流水线中,当某任务阻塞时,后面的任在乱序流动流水线中,当某任务阻塞时,后面的任务可绕过它继续流动。务可绕过它继续流动。2023/2/2330现在学习的是第30页,共178页6.Pentium的流水技术的流水技术在在Pentium Pentium CPUCPU内内部部有有两两个个ALUALU,分分别别对对应应两两条条流流水水线线U U和和V V(8048680
18、486只只有有一一条条流流水水线线),U U流流水水线线执执行行整整数数和和浮浮点点数数指指令令;V V流流水水线线执执行行整整数数指指令令,以以及及交交换换寄寄存存器器的的内内容容。所所以以,PentiumPentium能能在在每每个个时时钟钟周周期期内内执执行行两两条条整整数数运运算算指指令令,或或在在每每个个时时钟钟周周期期内内执执行行一一条条浮点数运算指令。浮点数运算指令。U U、V V两条指令流水线的段数都含有如下所示的两条指令流水线的段数都含有如下所示的5 5段,段,PF D1 D2 EX WBPF D1 D2 EX WB即即:预预取取指指令令(PFPF)段段、译译码码1 1(D1
19、D1)段段、译译码码2 2(D2D2)段段、执执行行(EXEX)段和写回寄存器()段和写回寄存器(WBWB)段。)段。PFD1D2EXWB2023/2/2331现在学习的是第31页,共178页PentiumCPU结构结构(1)超标量流水线)超标量流水线总总线线部部件件预取预取地址地址6464位数位数据总线据总线3232位数位数据总线据总线控制控制指令指令指针指针转移转移和目和目标标BTB转转移目标移目标缓冲缓冲TLB指令指令CACHE8KB预取缓冲预取缓冲指令译码指令译码控制控制ROM控制部件控制部件转转移移和和目目标标验验证证地地址址地址产生(地址产生(U流水线)流水线)地址产生(地址产生(
20、V流水线)流水线)整数寄存器堆整数寄存器堆ALU(U流流水线水线)ALU(V流流水线水线)桶形位移器桶形位移器3232323232TLB数据数据CACHE8KB浮点部件浮点部件控制控制寄存器堆寄存器堆加法加法除法除法乘法乘法80802023/2/2332现在学习的是第32页,共178页3.3 3.3 流水线性能分析流水线性能分析1.吞吐率吞吐率Tp单位时间内流水线能处理的任务数量或输出的结果单位时间内流水线能处理的任务数量或输出的结果数。数。设任务数为设任务数为n,流水线段数为,流水线段数为m,完成,完成n个任务的时个任务的时间为间为Tm,则吞吐率,则吞吐率最大吞吐率最大吞吐率Tpmax流水线
21、达到稳定状态后可获得的吞吐率。流水线达到稳定状态后可获得的吞吐率。2023/2/2333现在学习的是第33页,共178页实际吞吐率实际吞吐率Tp流水线实际工作时的吞吐率。流水线实际工作时的吞吐率。TpTpmax设在设在m段流水线中,各段的延迟时间均为段流水线中,各段的延迟时间均为t,可以,可以利用时空图分析该流水线完成利用时空图分析该流水线完成n个任务的实际吞吐个任务的实际吞吐率和流水线的最大吞吐率。率和流水线的最大吞吐率。2023/2/2334现在学习的是第34页,共178页S1S2S3S4输入输入输出输出ttttS4123n-1nS31234n-1nS212345n-1nS1123456n
22、tmtTm(n-1)tS2023/2/2335现在学习的是第35页,共178页完成完成n个任务所需的总时间个任务所需的总时间:Tm(nm1)t完成完成n个任务的实际吞吐率:个任务的实际吞吐率:最大吞吐率:最大吞吐率:最大吞吐率就是流水线满载时的吞吐率,因此实际最大吞吐率就是流水线满载时的吞吐率,因此实际吞吐率为:吞吐率为:2023/2/2336现在学习的是第36页,共178页可见,实际吞吐率小于最大吞吐率,可见,实际吞吐率小于最大吞吐率,TpTpmax。只有当只有当nm时,时,TpTpmax设完成一个任务需要的时间为设完成一个任务需要的时间为T,则,则m 或或t 都可以增加流水线的吞吐率。都可
23、以增加流水线的吞吐率。2023/2/2337现在学习的是第37页,共178页如果流水线各段的延迟时间不等,则吞吐率取决于如果流水线各段的延迟时间不等,则吞吐率取决于最慢段所需的时间。最慢段所需的时间。设设t1t2t4tt33tS1S2S3S4输入输入输出输出t1t2t3t42023/2/2338现在学习的是第38页,共178页S4123nS3123nS21234nS11234ntTm(n-1)t3S2023/2/2339现在学习的是第39页,共178页完成完成n个任务的实际吞吐率:个任务的实际吞吐率:最大吞吐率:最大吞吐率:本题中本题中Tmax1/3t2023/2/2340现在学习的是第40页
24、,共178页流水线瓶颈问题的解决方法流水线瓶颈问题的解决方法将瓶颈子过程进一步细分成若干个子子过程,使将瓶颈子过程进一步细分成若干个子子过程,使每一个子子过程与其他子过程时间相等。每一个子子过程与其他子过程时间相等。如将瓶颈段如将瓶颈段S3进一步分成进一步分成S3a,S3b和和S3c三个时间上三个时间上相当于相当于t的子子过程,便可消除的子子过程,便可消除S3瓶颈,使最大吞吐瓶颈,使最大吞吐率由率由1/3t恢复成恢复成1/t。2023/2/2341现在学习的是第41页,共178页S4123nS3c123nS3b123nS3a123nS21232nS11232ntTm(n-1)tS6t2023/
25、2/2342现在学习的是第42页,共178页在瓶颈段,并联设置多套功能段部件,使在瓶颈段,并联设置多套功能段部件,使它们轮流工作。它们轮流工作。如在瓶颈段如在瓶颈段S3并联设置并联设置3套功能部件,可使吞套功能部件,可使吞吐率恢复到吐率恢复到1/t。2023/2/2343现在学习的是第43页,共178页重复设置功能段的控制复杂,需要在流水线中设置重复设置功能段的控制复杂,需要在流水线中设置数据分配器和数据收集器。数据分配器和数据收集器。TSS1S2S3aS3cS3bS41 2 3546 7 8 9 10 11121 2 3546 7 8 9 10 11121471025811369121 2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流水线 技术 标量 优秀 PPT
限制150内