标量处理机课件_第1页
标量处理机课件_第2页
标量处理机课件_第3页
标量处理机课件_第4页
标量处理机课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

标量处理机5.1指令的重叠执行方式5.2流水线技术5.3超标量处理机与超流水线处理机5.4超标量超流水线处理机5.1指令的重叠执行方式当有多条指令要在处理机中执行时,可以有多种执行方式:1、顺序执行方式执行n条指令所用的时间为:主要优点:控制简单,节省设备。主要缺点:执行指令的速度慢,功能部件的利用率很低。

如果每段时间都为t,则执行n条指令所用的时间为:T=3nt2.一次重叠执行方式一种最简单的流水线方式如果两个过程的时间相等,则执行n条指令的时间为:T=(1+2n)t主要优点:指令的执行时间缩短功能部件的利用率明显提高主要缺点:需要增加一些硬件控制过程稍复杂3、二次重叠执行方式如果三过程的时间相等,执行n条指令的时间为:T=(2+n)t理想情况下同时有三条指令在执行处理机的结构要作比较大的改变,必须采用先行控制方式5.1.2先行控制方式的原理和结构采用二次重叠执行方式,必须解决两个问题:(1)有独立的取指令部件、指令分析部件和指令执行部件独立的控制器:存储控制器、指令控制器、运算控制器(2)要解决访问主存储器的冲突问题取指令、分析指令、执行指令都可能要访问存储器解决访存冲突的方法:(1)采用低位交叉存取方式:这种方法不能根本解决冲突问题。取指令、读操作数、写结果。(2)两个独立的存储器:独立的指令存储器和数据存储器。如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,那么,取指令、分析指令和执行指令就可以同时进行。(3)采用先行控制技术。

先行控制技术的关键是缓冲技术和预处理技术。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作。在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。处理机结构

如图5.3所示,只要在处理机内部设置一定容量的指令缓冲栈,把指令分析器所需要的指令事件取到缓冲栈中,而不必访问主存储器。这样就能够使取指令、分析指令和执行指令重叠起来执行。2.指令执行时序采用先行控制方式,在理想情况下,指令执行部件应该一直是忙碌的,因此,处理机连续执行n条指令所需的时间为:

T先行=t分析1+∑t执行i≈∑t执行3.先行缓冲栈在采用先行控制方式的处理机中,一般要设置四个先行缓冲栈,如图5.3所示,作用如下:

(1)先行指令缓冲栈:作为主存储器与指令分析器之间的一个缓冲部件,用于平滑主存储器和指令分析器的工作。(2)先行操作栈:指令分析器对已经存放在先行指令缓冲栈里的指令进行预处理,把处理之后的指令送入该栈。各种运算型指令、移位指令、数据传送指令等都要先处理成寄存器-寄存器型(RR型)指令,然后送入先行操作栈。(3)先行读数栈:由一组缓冲寄存器和有关控制逻辑等组成。每一个缓冲寄存器由三部分组成,包括先行地址缓冲寄存器、先行操作数缓冲寄存器和标志字段。它是主存储器与运算器之间的一种缓冲存储器,把后续指令要用到的操作数“先行”取出。(4)后行写数栈也由一组缓冲寄存器和有关控制逻辑组成。每一个缓冲寄存器必须包括后行地址缓冲寄存器、后行数据缓冲寄存器和标志字段。其中的后行地址缓冲寄存器和后行数据缓冲寄存器不能合用。4.缓冲深度的设计“缓冲深度”即各个缓冲栈中的缓冲寄存器个数。静态分析是通过分析两种极端情况来计算缓冲深度。一种极端情况是:先行指令缓冲栈从完全充满到全部被取空的过程。另一种极端情况是:先行指令缓冲栈从完全空到全部被充满的过程。通常在一般程序中,执行时间短的指令所占的比例要远远大于执行时间长的指令。所以一般采用第一种情况来计算缓冲深度。5.1.3数据相关

所谓相关是指在一段程序的相近指令之间有某种关系,这种关系可能影响指令的重叠执行。分为两大类:数据相关和控制相关。本节主要介绍数据相关,下一节介绍控制相关。数据相关分为四种:指令相关、主存操作数相关、通用寄存器相关和变址相关。1.指令相关

第k+1条指令本身的内容取决于第k条指令的执行结果,则产生指令相关。解决指令相关的根本办法是在程序设计中不允许修改指令。2.主存操作数相关如果发生:结果地址(k)=主存操作数地址(k+1)则发生主存操作数相关。解决主存操作数相关一般采用推后处理法。3.通用寄存器数据相关看下面两条指令:k:OPR1,A2;R1=(R1)OP(A2)k+1:OPR1,R2;R1=(R1)OP(R2)如果发生:

R1(k)=R1(k+1)则称为R1数据相关。如果发生:

R1(k)=R2(k+1)则称为R2数据相关。解决通用寄存器数据相关一般有如下几种方法:(1)不设置缓冲寄存器或锁存器。(2)分析指令推后一个周期执行。(3)分析指令仅推后一个节拍。(4)设置专用数据通路。

4.变址相关由于在变址寄存器中存放的变址量在指令分析过程中要用它来计算有效地址,因此与通用寄存器的数据相关累死,也可能发生变质相关,解决方法也类似。

5.1.4控制相关

控制相关是指因为程序的执行方向可能被改变而引起的相关。本节主要介绍因各种转移指令引起的相关。(1)无条件转移(2)一般条件转移(3)复合条件转移5.2流水线技术5.2.1流水线工作原理流水线方式是把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。由于这种工作方式与工厂中的生产流水线十分相似,因此,把它称为流水线工作方式。1.从重叠到流水线一次重叠执行方式就是一种简单的指令流水线。2、流水线的时空图一条简单流水线的时空图:一个浮点加法器流水线的时空图(由求阶差、对阶、尾数加和规格化4个流水段组成):NL:规格化MA:尾数加EA:对阶ED:求阶差3、流水线的主要特点只有连续提供同类任务才能充分发挥流水线的效率:

对于指令流水线:要尽量减少因条件分支造成的“断流”对于操作部件:主要通过编译技术,尽量提供连续的同类操作在流水线的每一个流水线段中都要设置一个流水锁存器

时间开销:流水线的执行时间加长是流水线中需要增加的主要硬件之一各流水段的时间应尽量相等

流水线处理机的基本时钟周期等于时间最长的流水段的时间长度流水线需要有“装入时间”和“排空时间”4.流水线的特点在处理机中采用流水线方式与采用传统的串行方式相比具有如下特点:(1)在流水线中处理的必须是连续任务,只有连续不断地提供任务才能充分发挥流水线的效率。(2)把一个任务分解成几个有联系的子任务,每个子任务由一个专门的功能部件来实现。(3)在流水线的每个功能部件的后面都要有一个缓冲寄存器,用于保存本段的执行结果。(4)流水线中各段的时间应尽量相等,否则将引起“堵塞”、“断流”等。(5)流水线需要有“装入时间”和“排空时间”。5.2.2流水线的分类1.线性流水线与非线性流水线按照流水线的各个功能段之间是否有反馈信号,可以把流水线分为线性流水线和非线性流水线两类。2.流水线的级别按照流水线使用的不同级别,可以把流水线分为功能部件级、处理机级和处理机间级等多种类型。3.单功能与多功能流水线一条流水线只能完成一种固定的功能,称为单功能流水线。流水线的各段可以进行不同的连接,实现不同的功能称为多功能流水线。4.静态流水线与动态流水线按照在同一时间内是否能够连接成多种方式,同时执行多种功能,可以把流水线分为静态流水线和动态流水线。5.2.3线性流水线的性能分析衡量流水线的主要指标有吞吐率、加速比和效率。1.吞吐率流水线的吞吐量(thoughputrate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。

TP=n/Tk2.加速比完成一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比(speedupratio)。如果不使用流水线的时间为T0,使用流水线的执行时间为Tk,则流水线的加速比为:

S=T0/Tk3.效率流水线的效率是指流水线的设备利用率。5.2.4非线性流水线的调度技术1.非线性流水线的表示2.非线性流水线的冲突3.无冲突调度方法4.优化调度方法5.2.5局部相关

1.顺序流动与乱序流动2.数据相关及其避免方法3.数据重定向5.3超标量处理机与超流水线处理机5.3.1超标量处理机1.基本结构一般流水线处理机:一条指令流水线,一个多功能操作部件,每个时钟周期平均执行指令的条数小于1。多操作部件处理机:一条指令流水线,多个独立的操作部件,操作部件可以采用流水线,也可以不流水。多操作部件处理机的指令级并行度小于1。

超标量处理机典型结构:多条指令流水线先进的超标量处理机有:定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU大量的通用寄存器,两个一级高速Cache超标量处理机的指令级并行度大于15.3.2单发射与多发射单发射处理机:每个周期只取一条指令、只译码一条指令,只执行一条指令,只写回一个运算结果取指部件和译码部件各设置一套可以只设置一个多功能操作部件,也可以设置多个独立的操作部件操作部件中可以采用流水线结构,也可以不采用流水线结构设计目标是每个时钟周期平均执行一条指令,ILP的期望值1多发射处理机:每个周期同时取多条指令、同时译码多条指令,同时执行多条指令,同时写回多个运算结果需要多个取指令部件,多个指令译码部件和多个写结果部件设置多个指令执行部件,复杂的指令执行部件一般采用流水线结构设计目标是每个时钟周期平均执行多条指令,ILP的期望值大于15.3.3超标量超流水线处理机为了进一步提高处理机的指令级并行度,可以把超标量技术与超流水线技术结合在一起,这就是超标量流水线处理机。两种定义:一个周期内能够分时发射多条指令的处理机称为超流水线处理机指令流水线有8个或更多功能段的流水线处理机称为超流水线处理机提高处理机性能的不同方法:超标量处理机是通过增加硬件资源为代价来换取处理机性能的超流水线处理机则通过各硬件部件充分重叠工作来提高处理机性能两种不同并行性:超标量处理机采用的是空间并行性超流水线处理机采用的是时间并行性1、指令执行时序每隔1/n个时钟周期发射一条指令,流水线周期为1/n个时钟周期在超标量处理机中,流水线的有些功能段还可以进一步细分例如:ID功能段可以再细分为译码、读第一操作数和读第二操作数三个流水段。也有些功能段不能再细分,如WR功能段一般不再细分。因此有超流水线的另外一种定义:有8个或8个以上流水段的处理机称为超流水线处理机每个时钟周期分时发送3条指令的超流水线2、典型处理机结构MIPSR4000处理机每个时钟周期包含两个流水段,是一种很标准的超流水线处理机结构。指令流水线有8

温馨提示

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

评论

0/150

提交评论