收藏 分享(赏)

计算机组成原理 第15讲_流水线.ppt

上传人:Facebook 文档编号:2863539 上传时间:2018-09-29 格式:PPT 页数:36 大小:375.50KB
下载 相关 举报
计算机组成原理 第15讲_流水线.ppt_第1页
第1页 / 共36页
计算机组成原理 第15讲_流水线.ppt_第2页
第2页 / 共36页
计算机组成原理 第15讲_流水线.ppt_第3页
第3页 / 共36页
计算机组成原理 第15讲_流水线.ppt_第4页
第4页 / 共36页
计算机组成原理 第15讲_流水线.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、计算机组成原理,Principles of Computer Organization,广义双语教学课程,http:/211.64.192.109/skyclass25/,青岛理工大学 校级精品课程,http:/ 组合逻辑控制单元设计,用硬布线(组合逻辑)控制法设计一个简单模型机的控制单元CU(微操作信号产生电路)。假设该模型机有8条不同类型的指令。包括:算术运算、逻辑运算、移位、数据传送、访存操作、转移等。根据每条指令的功能和时序,分析其执行过程中需要在各个阶段产生的全部微操作,导出产生这些微操作控制信号的逻辑。,提示:需要决定指令周期包括哪几个机器周期,每个机器周期包括几拍,每拍包括几个时

2、钟,以及时钟周期是多少nS。有些操作可能还需要规定是在时钟的上升沿或是在时钟的下降沿进行。,第8周周末完成,3,第6章 中央处理器,Chapter 6 Central Processing Unit,The description of the basic operation of a CPU offered in the previous section describes the simplest form that a CPU can take. This type of CPU, usually referred to as subscalar, operates on and exe

3、cutes one instruction on one or two pieces of data at a time.,Model of a subscalar CPU.,(5),4,This process gives rise to an inherent inefficiency in subscalar CPUs. Since only one instruction is executed at a time, the entire CPU must wait for that instruction to complete before proceeding to the ne

4、xt instruction.,This design, wherein the CPUs execution resources can operate on only one instruction at a time, can only possibly reach scalar performance (one instruction per clock).,Model of a subscalar CPU.,However, the performance is nearly always subscalar (less than one instruction per cycle)

5、.,5,6.5 流水线工作原理,指令的解释,计算机的速度可以用每秒执行的指令条数来表示。,为了加快单条指令的解释过程可采用的方法有:,选用更高速的器件,减少解释过程所需拍数,使解释过程的各个动作并行执行,指令的解释可以有三种控制方式:顺序,重叠,流水。,怎样加快一条指令的解释过程?,6,1顺序方式,各条机器指令间顺序串行执行。一条指令执行完之后,才取下条指令来执行。指令内的各条微指令也是顺序串行执行的。,例如,把解释一条机器指令分为:取指,分析,执行,3个子过程。,顺序方式的优点是控制简单。,缺点是速度上不去,机器各部件的利用率不高。,7,2重叠方式 Overlap,在解释第k条指令的操作完成

6、之前,就可开始解释第k+1条指令。,例如,把解释一条机器指令分为:取指,执行,两个子过程。,重叠解释不能加快一条指令的实现,但能加快相邻两条指令以至一段程序的解释。,重叠方式把一条指令的解释过程分解成“取指”,“执行”两个子过程。若每个子过程需t时间,一条指令需2t时间完成。机器每隔t时间完成一条指令的解释。吞吐率提高一倍。,t,8,重叠方式与顺序方式的比较,一次重叠,理想情况,实际情况?,不同指令在各个阶段所需时间不同,9,3流水方式 Pipelining,将一个重复的时序过程分解成为多个子过程Subprocess。每个子过程都可有效地在其专用功能段上与其它子过程同时执行。,入口,出口,例如

7、,分成4个功能段Segment:,One of the simplest methods used to accomplish increased parallelism is to begin the first steps of instruction fetching and decoding before the prior instruction finishes executing.,This is the simplest form of a technique known as instruction pipelining, and is utilized in almost

8、all modern general-purpose CPUs.,10,时空图 Space-Time-Diagram,1,1,1,1,2,2,2,2,3,4,3,4,3,4,3,4,5,6,5,6,5,6,5,6,7,8,9,7,8,9,7,8,9,7,8,9,空间,(功能段),取指,分析,取数,执行,时间,通过时间,排空时间,断流,入口,出口,各功能段时间相等,4个功能段Segment:,11,各功能段时间不等,时空图 Space-Time-Diagram,Bubble,In computing, a pipeline is a set of data processing elements

9、 connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion.,12,流水线的主要技术指标有:吞吐率,加速比,效率,等。, 吞吐率 Throughput Rate,最大吞吐率:,如果各功能段时间都相等,ti=t0 TPmax=1/t0,如果各功能段时间不相等,TPmax=1/max(ti)取决于最慢的段。,当流水线在连续

10、流动达到稳定状态后的吞吐率。,单位时间内流水线所能处理的任务数(或指令数),或流水线能输出的结果的数量。,13, 加速比 Speedup Ratio,m段流水线的速度与等效的非流水线的速度之比。,若各段时间相等,完成n个任务的时间:,T流水= mt0 + (n-1)t0,T非流水= nmt0,加速比:,14, 加速比 Speedup Ratio,m段流水线的速度与等效的非流水线的速度之比。,若各段时间不等,加速比:,tj是最慢的一段时间,15, 效率 Efficiency,设各段时间相等,每段效率ei相等, e0 = e1 = = em :,整个流水线的效率,若各段时间不等,则各段的效率也不等

11、,整个流水线的效率,e0 = nt0/T = n/(m+(n-1),流水线上的设备利用率就是效率。,流水线上的各段有 “通过时间”和“排空时间”, 并非都是满负荷工作。,16,In the best case scenario, this pipeline can sustain a completion rate of one instruction per cycle.,Pipelining allows more than one instruction to be executed at any given time by breaking down the execution pat

12、hway into discrete stages. This separation can be compared to an assembly line, in which an instruction is made more complete at each stage until it exits the execution pipeline and is retired.,Basic five-stage pipeline.,Instruction level parallelism,17,流水技术的特点, 流水线可分成若干个互有联系的子过程,分别由专用功能段实现。, 实现子过程的

13、功能段所需时间尽可能相等,避免因不等而产生处理的瓶颈,形成流水线的断流。, 形成流水处理需要一段准备时间,称为“通过时间”。此后,流水过程才能稳定。, 指令流发生不是顺序执行时,会使流水过程中断。再形成流水过程需“通过时间”。要提高效率,不应常断流。, 流水线技术适用于大量重复的程序过程。只有在输入端能连续地提供任务,流水线效率才能充分发挥。,18,流水线结构, 指令流水线 Instruction Pipeline,要求指令部件每个节拍输出一条指令给执行部件。指令流水过程要分成更多的子过程。,在指令流水过程中要不断访存,所需时间不确定,难以用统一的时钟控制各段工作。,19,流水线结构, 运算操

14、作流水线 Arithmetic Pipelining,按照指令的要求,选择合适的算法,把运算过程分成多个子过程。使各个子过程的时间尽量相等。,各段与一个统一的时钟同步。,在各段间增加锁存器。,20,流水线要解决的技术问题,要实现重叠和流水,还要解决:访存冲突,相关,等问题。,1访存冲突 Resource Conflicts,在同一时间段,“分析k”在形成操作数有效地址后要访存取操作数,而“取指k+1”也需访存取指令。,21,解决访存冲突的方法:, 采用“哈佛结构”。指令和操作数分别存放在2个独立编址且可同时访问的存储器内。, 采用多体交叉存储器。使第k条指令的操作数与第k+1条指令不在同一个存

15、储体内。, 设置指令缓冲寄存器组。把若干条指令预先从主存取到指缓。取指令部件从指缓取指令,执行部件从主存取操作数,互相不干扰。只要指缓不满,就自动从主存预取指令。,22,2流水线相关处理,造成流水线断流的原因,除了编译形成的目标程序不能发挥流水结构的作用,或存储系统供应不上为连续流动所需的指令和操作数外,就是由于出现了相关、转移和中断等问题。,转移和中断等现象与它们之后的指令有关联,从而不能同时解释,称为全局性相关 Global Dependency。,与主存操作数或者通用寄存器的读写等关联的,称为局部性相关 Local Dependency。,23, 数相关 Data Dependency,

16、如果第k+1条指令的操作数地址M正好是第k条指令存放运算结果的地址(主存单元或寄存器),称为“先写后读”相关。,M,写,读,由于“分析k+1”与“执行k”重叠,在分析第k+1条指令时从M单元取出的内容是“执行k”写数之前的内容,因而出错。,可用“相关专用通路”解决。,24, 转移相关 Branch Dependency,条件转移指令是在实际执行完后,才可能确定是否发生转移。,处理的方法有:转移预测Branch Prediction,预取转移目标Pre-fetch Branch Target,转移目标缓冲BTB,循环缓冲Loop Buffer,多重流水Multiple Streams等。,对于无

17、条件转移指令,可以采用“延迟转移Delayed Branch”的方法。,25, 中断处理,从中断第i条指令,到把中断服务程序由主存调入指缓并开始在流水线中流动,其断流时间很长。,关键是如何处理好断点现场及中断后的恢复问题。,早期用“不精确断点”法。已经进入流水线的指令都执行完。,现在用“精确断点”法。需要保存大量的断点信息。,中断请求,中断响应,26,流水技术的发展,Super scalar,Super Pipeline,27,控制器控制一条指令运行的过程是依次执行一系列微操作的过程。微操作严格按照一定的时序进行。不同指令对应的微操作数及其繁简程度不同,每条指令和每个微操作所需的执行时间也不同

18、。,控制器的控制方式是指形成控制不同微操作序列的时序控制信号的方法。常用的时序控制方式有:同步控制方式、异步控制方式和联合控制方式。,6.4.5 控制器的控制方式 Control Mode,28,(1) 同步控制方式 Synchronous Control Mode,同步控制方式是由基准时标控制微操作序列,每个微操作出现的时间与统一的基准时标保持一致。,在程序运行时,任何指令的执行或指令中每个微操作的执行都受事先确定的时序信号所控制。每个时序信号的结束就标志着一个微操作或一条指令已经完成。随即开始执行后续的微操作,或自动转向下一条指令的运行。,在同步控制方式下,一条机器指令由确定的机器周期组成

19、,每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成这些节拍和周期。在任何情况下,一条指令的执行所需的机器周期和节拍数都是不变的。,同步控制方式有三种方案:中央控制,局部控制,中央控制和局部控制相结合。,29,1中央控制,中央控制采用完全统一的机器周期执行各种不同的指令。,指令的功能不同,所需的微操作也不同。,以最繁的需时最多的指令为标准来确定机器周期的节拍数和时间间隔。对于那些比较简单的微操作将造成时间浪费。,优点是控制器的逻辑相对简单,时间便于控制。但要求所有的指令都以相同方式进行处理,效率和性能上存在不足。,如果要提高效率,就必须让所有指令的处理时间都相同或相近,因而限制了采用某些

20、功能复杂、处理时间长的指令。,反之,若采用了功能复杂、处理时间长的指令,控制器处理指令的时序要加长,那些功能简单的指令就存在时间浪费、处理效率不高等问题。,30,2局部控制,局部控制采用不同节拍的机器周期,以解决微操作执行时间不统一的问题。给操作较繁的微操作安排节拍数多的机器周期,较简单的微操作安排在较短的机器周期内。,每条指令都有独立的处理方式或时序分配方式。指令周期取决于所需的微操作序列长度。,优点是处理效率高。但控制器逻辑复杂。,31,3中央控制和局部控制相结合,大多数指令的执行过程中包含的微操作个数及指令的执行时间比较接近或相等,可以将这样的指令作为标准建立统一的时序节拍,称为中央节拍

21、,由中央控制器发出。,少数指令执行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。,例如,,乘除法指令,32,3中央控制和局部控制相结合,少数指令执行过程中包含的微操作个数较多,指令的执行时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来完成相应的操作。例如,,执行乘除法指令时,由一组中央节拍完成取指令操作。然后,暂停中央节拍,启动局部节拍,完成N次加法和移位操作。再结束局部节拍,转回中央节拍,继续执行指令的操作。,局部节拍的宽度与中央节拍的宽度相等。,中央节拍,局部节拍,33,(2) 异步控制方式 Asynchronou

22、s Control Mode,不用统一的基准时标信号,而由专用的应答线路控制微操作的时序。前一个微操作的“终了”信号可命令后一个微操作启动。微操作序列没有固定的周期节拍和严格的时钟同步。,系统各个部件之间没有统一的时钟,每条指令、每个微操作需要多少时间就占用多少时间。微操作信号的宽度是由对应微操作的需要来确定,几乎没有时间的浪费。,当控制器发出进行某一微操作控制信号后,等待执行部件在完成该微操作后发回的“回答”信号,作为本次微操作的结束信号,再开始新的操作。,异步控制方式的缺点是:设计比较复杂,器件多,控制方式比较复杂,系统调试难度大,工作可靠性不易保证。,A,B,34,(3) 联合控制方式,

23、将同步控制方式和异步控制方式结合起来,指令的微操作序列既有同步控制的,又有异步控制的。,CPU内部的数据加工、内部数据传送指令的微操作序列的执行时间比较接近,采用同步控制。其中某些执行时间较长的指令采用中央控制和局部控制相结合的方式。,I/O操作指令,由于I/O设备的工作速度与CPU的速度难以匹配,时间难以确定,采用异步控制。以执行部件送回的应答信号作为本次微操作的结束。,CPU与主存储器之间的数据传送操作,需要的时间很长,采用异步控制。,35,(4) 人工控制,为了调试系统和软件开发的需要,计算机的控制台、面板或内部电路板上需设置一些开关、按钮,以进行人工控制。如, Reset,使计算机处于

24、初始状态。, 连续或单步转换开关。, 符合停机,36,Homework,An instruction pipeline is a technique used in the design of computers and other digital electronic devices to increase their instruction throughput (the number of instructions that can be executed in a unit of time).,6 - 8, 9, 14,The fundamental idea is to split

25、the processing of a computer instruction into a series of independent steps, with storage at the end of each step.,This allows the computers control circuitry to issue instructions at the processing rate of the slowest step, which is much faster than the time needed to perform all steps at once.,Many designs include pipelines as long as 7, 10 and even 20 stages (like in the Intel Pentium 4).,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报