您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第五章中央处理器-4指令流水线
计算机组成原理——中央处理器(4)2016-4-2016:53第5章中央处理器5.1CPU的功能和组成5.1.1CPU的功能5.1.2CPU的基本组成5.1.3CPU中的主要寄存器5.1.4操作控制器与时序产生器5.2指令周期5.2.1指令周期的基本概念5.2.2MOV指令的指令周期5.2.3LAD指令的指令周期5.2.4ADD指令的指令周期5.2.5STO指令的指令周期5.2.6JMP指令的指令周期5.2.7用方框图语言表示指令周期5.3时序产生器和控制方式5.3.1时序信号的作用和体制5.3.2时序信号产生器5.3.3控制方式5.4微程序控制器5.4.1微程序控制器原理5.4.2微程序设计技术5.5硬连线控制器5.6流水CPU5.6.1并行处理技术5.6.2流水CPU的结构5.6.3流水线中的主要问题5.6.4奔腾CPU5.7RISCCPU5.7.1RISC机器的特点5.7.2RISCCPU实例5.7.3动态流水线调度计算机组成原理216:535.6流水CPU5.6.1并行处理技术5.6.2流水CPU的结构5.6.3流水线中的主要问题5.6.4奔腾CPU计算机组成原理316:535.6.1并行处理技术早期的计算机基于冯·洛依曼的体系结构,采用串行处理,即任何时刻只能执行一个操作;并行性(Parrelism)概念具有可以同时进行运算或操作的特性例:在相同时间的条件下,用n位运算器进行n位并行运算速度几乎是一位运算器进行n位串行运算的n倍(狭义)(广义)含义→只要在同一时刻(同时性)或在同一时间间隔内(并发性)完成两种或两种以上性质相同或不同的工作,他们在时间上相互重叠,都体现了并行性;计算机组成原理416:535.6.1并行处理技术三种形式时间并行(时间重叠):让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度,实现方式就是采用流水处理部件;空间并行(资源重复):以数量取胜;•它能真正的体现同时性;•LSI和VLSI为其提供了技术保证;时间+空间并行•Pentium中采用了超标量流水线技术;计算机组成原理516:535.6.2流水CPU的结构1、流水计算机的系统组成存储器体系→主存采用多体交叉存储器;CacheCPU流水方式→分成指令部件、指令队列、执行部件三部分(三级流水线);第一级流水线→指令流水线;第二级流水线→指令队列FIFO流水线:存放译码后的指令+取来的各个操作数;第三级流水线→执行部件流水线:可以由多个采用流水线方式构成的算术逻辑部件构成;比如:将定点运算部件和浮点运算部件分开;将浮点加法部件和浮点乘除部件分开(浮点运算部件都以流水线方式工作)。计算机组成原理616:535.6.2流水CPU的结构2、流水线CPU时空图为了实现流水,必须把一个任务分成若干个能够在流水线的各个阶段并发执行的子任务;IF→InstructionFetch取指;ID→InstructionDecode指令译码;EX→Execution执行;WD→WriteData结果写回;假设每个子任务执行需要一个时钟周期;计算机组成原理716:535.6.2流水CPU的结构标量流水计算机→只有一条指令流水线;超标量流水计算机→有多条指令流水线,超标度N表示就有N条流水线,上述超标量计算机的超标度为2;计算机组成原理816:535.6.2流水CPU的结构具有两条以上的指令流水线;上图中流水线满载时,每一个时钟周期可以执行2条指令;采用时间和空间并行技术;计算机组成原理916:535.6.2流水CPU的结构计算机组成原理1016:535.6.2流水CPU的结构计算机组成原理1116:535.6.2流水CPU的结构3、流水线(Pipelining)的分类(按不同并行级别分类)指令流水线→将指令流的处理过程分成取指、译码、取操作数、执行、写回等若干个并行处理的过程段进行流水;算术流水线→指运算操作步骤的流水,如设置流水加法器、流水乘法器等;处理机流水线(宏流水线)→设置若干台处理机构成流水线的各个过程段,每台处理机负责一个特定的任务;数据流从一台处理机依次流过各台处理机进行相关操作;如浮点加法器(0操作数检查、对阶、尾数相加、规格化、舍入处理等);计算机组成原理1216:535.6.3流水线中的主要问题三种相关冲突→资源相关、数据相关、控制相关1、资源相关→多条指令进入流水线后在同一时钟周期内争用同一功能部件。IF(取指)、ID(译码)、EX(计算有效地址或执行)、MEM(访存取数)、WB(写回)解决办法→①.后续指令拖一个节拍后再推进;②.增设功能部件;计算机组成原理1316:535.6.3流水线中的主要问题2、数据相关→三种数据相关:(1)写后读的数据相关RAW(ReadAfterWrite)→后面指令运行需要用到前面指令所写的数据;比如下列程序:ADDR1,R2,R3;(R1←R2+R3)SUBR4,R1,R5;(R4←R1-R5)ANDR6,R1,R7;(R6←R1·R7)(2)读后写的数据相关WAR(WriteAfterRead)→后面指令覆盖前面指令所读的单元(在简单流水线中没有此类相关);ANDR3,R4;(R3←R3+R4)后完成MOVR4,R5;(R4←R4×R5)先完成计算机组成原理1416:535.6.3流水线中的主要问题(3)写后写的数据相关WAW(WriteAfterWrite)→两条指令写同一个单元(在简单流水线中没有此类相关,因为不会乱序执行);LDAR6,B;(R6←M(B)存储单元)后完成MULR6,R7;(R6←R6×R7)先完成计算机组成原理1516:535.6.3流水线中的主要问题数据相关的解决办法:(1)可以推后后继指令对相关单元的读操作;(2)设置相关的直接通路(Forwarding);(3)设置若干个运算结果缓冲寄存器,用来暂时存放运算结果,以便后继指令直接使用,称之为定向传输技术;计算机组成原理1616:535.6.3流水线中的主要问题3、控制相关→由于转移指令而引起流水线断流(有时可能出错等)现象;控制相关解决办法:(1).延迟转移法→由编译程序重排指令序列来实现,基本思想是“先执行在转移”即发生转移取指时不排空流水线,让紧跟转移指令之后的已经进入流水线的少数指令继续完成(这种方法不是始终有效)。(2).转移预测法→硬件依据指令过去的行为来预测将来的行为。通过使用转移取指预取队列器、顺序取指预取队列器和目标指令cache,可将转移预测提前到取指阶段进行;计算机组成原理1716:535.6.3流水线中的主要问题[例4]流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1ADDR1,R2,R3;R1←(R2)+(R3)I2SUBR4,R1,R5;R4←(R1)-(R5)(2)I3STOM(x),R3;M(x)←(R3),M(x)是存储器单元I4ADDR3,R4,R5;R3←(R4)+(R5)(3)I5MULR3,R1,R2;R3←(R1)×(R2)I6ADDR3,R4,R5;R3←(R4)+(R5)计算机组成原理1816:545.6.3流水线中的主要问题[解]:第(1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW相关。第(2)组指令中,I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出R3内容前就写入R3,发生WAR相关。第(3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关。计算机组成原理1916:545.6.4流水线性能1.吞吐率单位时间内流水线所完成指令或输出结果的数量•最大吞吐率•实际吞吐率连续处理n条指令的吞吐率为设m段的流水线各段时间为ΔtTpmax=Δ1tTp=m·Δ+(n-1)·Δntt16:542.加速比Spm段的流水线的速度与等功能的非流水线的速度之比设流水线各段时间为Δt完成n条指令在m段流水线上共需T=m·+(n-1)·ttΔΔ完成n条指令在等效的非流水线上共需T′=nm·tΔSp=m·+(n-1)·nm·=nmm+n-1ΔtΔΔtt则5.6.4流水线性能16:54由于流水线有建立时间和排空时间因此各功能段的设备不可能一直处于工作状态流水线中各功能段的利用率3.效率mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT时间S空间空间S4S3S2S1(n-1)Δt5.6.4流水线性能16:54m(m+n-1)Δt=mnΔt流水线各段处于工作时间的时空区流水线中各段总的时空区效率=3.效率流水线中各功能段的利用率5.6.4流水线性能mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT时间S空间空间S4S3S2S1(n-1)Δt16:54小结并行处理技术可贯穿于信息加工的各个步骤和阶段。概括起来,主要有三种形式:①时间并行;②空间并行;③时间并行+空间并行。流水CPU是以时间并行性为原理构造的处理机,是一种非常经济而实用的并行技术。目前的高性能微处理机几乎无一例外地使用了流水技术。流水技术中的主要问题是资源相关、数据相关和控制相关,为此需要采取相应的技术对策,才能保证流水线畅通而不断流。计算机组成原理2416:54小结RISCCPU是继承CISC的成功技术,并在克服CISC机器缺点的基础上发展起来的。RISC机器的三个基本要素是:①一个有限的简单指令集,②CPU配备大量的通用寄存器,③强调指令流水线的优化。RISC机器一定是流水CPU,但流水CPU不一定是RISC机器。如奔腾CPU是流水CPU,但奔腾机是CISC机器。计算机组成原理25
本文标题:第五章中央处理器-4指令流水线
链接地址:https://www.777doc.com/doc-5026729 .html