流水线处理器PPT演示课件_第1页
流水线处理器PPT演示课件_第2页
流水线处理器PPT演示课件_第3页
流水线处理器PPT演示课件_第4页
流水线处理器PPT演示课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四节:流水线处理器,1,一、流水线原理一条指令的执行可以分为取值、分析和执行3个阶段,这3个阶段的执行分别由控制器内部的取值部件、指令分析部件和指令执行部件3个独立的功能部件完成。在传统的控制器中,这3个阶段在时间上是分时进行的,即指令的3个阶段在时间上是顺序执行的,指令的这种执行方式又称为串行执行。,2,在串行执行方式中,n条指令的执行时间为:如果取指令、分析指令和执行指令的3段时间都相等,每段时间都等于t,则执行n条指令的时间为:T=3nt,取指令K,分析指令K,执行指令K,取指令K+1,执行指令K+1,分析指令K+1,空间,指令执行部件,指令分析部件,取指部件,0,T1,T2,T3,T4,T5,T6,指令串行执行空间图,3,采用串行执行指令的方式的优点是控制简单,节省硬件。缺点是:执行指令的速度慢。只有当上一条指令执行完毕后,才能开始下一条指令的执行,即在任何时刻,控制器中只有一条指令在执行。功能部件利用率低。例如,在取指令时,取指部件是“忙”的,而指令分析部件和执行部件是“空闲”的。因此,串行执行指令并不能充分发挥控制器内各独立功能部件的作用。,4,为了克服串行执行指令的缺点,提高指令的执行速度和控制器各部件和利用率,指令的执行过程可以采用类似于工厂中的流水线装配形式,使指令的3个执行阶段在控制器各部件实现流水作业,控制器各部件总处于“忙”状态。,取指令K+1,分析指令K+1,执行指令K+1,取指令K,分析指令K,执行指令K,取指令K+2,取指令K+3,分析指令K+2,取指令K+4,分析指令K+3,执行指令K+2,空间,指令执行部件,指令分析部件,取指部件,0,T1,T2,T3,T4,T5,指令流水线执行时空图,5,如果取指令、分析指令和执行指令的3段时间都相等,且每段时间都等于t,则执行n条指令的时间为:T=(2+n)t。上述分析是针对在一条流水线有3个独立的功能部件而言的。若一条流水线有m个功能独立的部件S1,S2,Sm,这种流水线控制器的并行程度会显著提高。,高速缓冲器,S1,高速缓冲器,高速缓冲器,高速缓冲器,Sm,S2,高速缓冲器,输入,输出,流水线控制器的基本结构,6,为了充分发挥流水线的作用,流水线中的功能部件和任务必须满足以下条件:(1)在流水线中处理的任务必须是连续的,只有连续不断的任务才能充分发挥流水线的效率。(2)把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个独立的功能部件来完成。(3)在流水线中的每一个功能部件的后面都要有一个高速缓冲器用于保存本段的执行结果。(4)流水线中各段的执行时间应尽可能相等,否则将会引起“堵塞”或“断流”现象。(5)流水线需要有“装入时间”和“排空时间”。只有流水线完全充满时,整个流水线的效率才能得到充分发挥。,7,二、流水线分类按并行等级技术分类,可以将流水线分为指令流水线、算术流水线和处理器流水线3种。1、指令流水线指令流的处理过程可分为取值、分析指令(译码)、取操作数、执行几个过程段,将这几个过程段并行处理的流水线称为指令流水线。目前,几乎所有的高性能控制器都采用指令流水线。,取指令,分析指令,取操作数,执行指令,输入,输出,指令流水线的原理图,8,2、算术流水线对算术运算的各步骤实现并行操作,称为算术流水线。如流水线加法器、流水线乘法器、流水线快速傅里叶变换等。现代处理器中广泛采用算术流水线,如STAR-100采用4级流水运算器,Pentium处理器采用8级定点流水线和2级浮点流水线。3、处理器流水线在程序步骤上实现操作并行称为处理器流水线,有时称为宏流水线。这种流水线把两个或两个以上处理器通过存储器串行连接起来,每个处理器对同一数据流的不同部分分别进行并行处理。,处理器1,处理器2,处理器n,存储器,存储器,存储器,输入,功能,任务1,任务2,任务n,处理器流水线原理图,9,三、流水线中的相关问题所谓相关,是指在一段程序的相近指令之间存在某种关系,这种关系影响指令的并行执行。通常把相关问题分为两大类:一类是数据相关,另一类是控制相关。,10,1、数据相关在执行本条指令的过程中,如果用到的指令、操作数、变址偏移量等正好是前面指令的执行结果,则必须等待前面的指令执行完成,并把结果写到主存或通用寄存器中之后,本条指令才能开始执行,这种相关称为数据相关。数据相关主要有指令相关、主存操作数相关、通用寄存器相关和变址相关4种。解决数据相关的方法通常有两种:一种方法是推后分析法,在遇到数据相关时,推后本条指令的分析,直到所需的数据写到相关的存储单元中;另一种方法是设置专用路径,即不必等待所需的数据写入到相关存储单元中,而是经专门设置的数据通路读取所需要的数据。,11,1)指令相关在一个顺序执行的程序段中,当下一条指令(或若干条指令)本身的内容取决于当前指令的执行结果,就产生指令相关。解决指令相关的根本方法是程序设计时不允许修改指令,即后续指令的内容和前面指令的执行结果无关。当然,不允许修改指令还有更重要的原因,即现代计算机设计方法要求程序具有再入性,可以被递归调用等。另外,在程序执行过程中不修改指令也有利于程序的诊断和调试。,12,2)主存操作数相关当当前指令的执行结果要写到主存,下一条指令的操作数也取自主存,并且这两个主存单元地址相同时,就发生了主存操作数相关。解决主存操作数相关一般采用推后处理法。处理方法如图所示。第k条指令的“结果写主存A1单元”发生在一个时钟周期接近末尾处,而第k+1条指令的,13,“读主存A1单元”请求出现在同一周期的开始位置。在设置有存储控制器的处理器中,只要把写结果的优先级安排得高于读操作数的优先级。由于存储控制器访问请求是定时进行的,它在一个时钟周期的最末尾处对这一周期的所有访问源进行排队。在一般处理器中,对访问主存的请求,排队的优先级从高到低分别为输入输出请求、写结果、读操作数和取指令。,分析指令K,执行指令K,取指令K+1,分析指令K+1,执行指令K+1,“结果写主存A1单元”请求,“读主存A1单元”请求,存控排队器先响应写主存请求,T,主存操作数相关及其处理方法,14,3)通用寄存器数据相关在寄存器寄存器型(RR型)指令和寄存器存储器型(RS型)指令的执行过程中,就可能发生通用寄存器数据相关。发生通用寄存器数据相关的情况与寄存器本身的结构和所采用的控制时序也有关系。如果通用寄存器是用D触发器构成,而且在通用寄存器到运算器之间建有直接数据通路,而不设置缓冲寄存器或锁存器,则不会发生通用寄存器数据相关。D触发器允许在同一节拍中实现寄存器之间的循环传送。,15,在这种情况下,实际上不需要分析周期,在一个节拍就可以完成从通用寄存器中通过两个多路选择分别读两个操作数到运算器,操作数在运算器中完成运算,并把结果再写到通用寄存器中。如果构成通用寄存器的不是D触发器,或者是在通用寄存器到运算器之间设置有缓冲寄存器或锁存器,则可能发生通用寄存器数据相关。在这种情况下,为了保证送入通用寄存器的数据是正确的,可以将“分析指令k+1”推后一个周期到“执行指令k”完成之后再开始,实际上是分析指令和执行指令串行进行。,通用寄存器,多路选择器,多路选择器,运算器,一种典型的运算器结构,16,4)变址相关在许多处理器中,把通用寄存器兼做变址寄存器使用。由于在变址寄存器中存放的变量在指令分析过程中用它来计算有效地址,因此与通用寄存器数据相关类似,有可能发生变址相关。因为计算有效地址在指令分析的一开始就进行,因此变址相关造成的后果要比通用寄存器数据相关更为严重。解决变址相关的方法可以采用推后分析和设置专用通路两种方法。采用专用通路实际上是通过增加硬件设备来换取提高指令执行速度的一种方法。,17,2、控制相关控制相关是指由条件分支指令、转子程序指令、中断等引起的相关。在流水线中,控制相关对流水线的吞吐率和效率的影响比数据相关要大得多,而且条件转移指令在一般程序中所占的比例相当大。中断虽然在程序中所占的比例不大,但是中断发生在程序中的哪一条指令,发生在一条指令执行过程中的哪一个功能段都是不确定的,因此处理好条件转移和中断引起的控制相关很重要。其中的关键问题有两个:一是要确保流水线能正常工作,二是减少因“断流”引起的吞吐率和效率的下降。,18,对于条件转移指令,一般情况下都要在指令执行到流水线的最后功能段时,转移条件才能建立,因此在条件转移指令进入流水线后,到形成转移条件前,后续指令不能进入流水线。很显然,这会使流水线的吞吐率和效率严重下降。从相关的角度来看,条件转移指令或断点指令与后续指令存在着一种相关,使它们不能同时进入流水线中执行。这种相关是一种控制上的相关,因此被称为控制相关或全局相关。,19,当遇到控制相关问题时,可以采用以下4种方法解决:(1)延迟转移技术。延迟转移技术是在遇到转移指令时,依靠编译器把一条或几条没有数据相关或控制相关的指令调度到转移指令的后面。当被调度的指令执行完成后,转移指令的有效目标地址也已经计算出来了。(2)静态转移预测技术。所谓静态转移预测是指在处理器的硬件或软件设计完成后,转移预测的方向就已经确定了,预测的方向可能是转移成功的方向,也可能是转移不成功的方向。在程序实际执行过程中,转移预测的方向不能改变。如果在硬件上设置一个目标缓冲栈及相应的控制逻辑,静态转移预测技术还可以在转移成功和不成功两个方向都预取指令。这样,转移造成的损失可以减少一些。,20,(3)动态转移预测技术。所谓动态预测技术是指控制器能够根据程序的执行过程动态地改变转移的预测方向,根据近期转移是否成功的历史记录来预测下一次的转移目标。(4)提前形成条件码。对于一般的条件转移指令,转移条件码是由上一条运算型指令产生的。对于大多数情况,不必等运算完成之后,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论