好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机系统结构课件6.ppt

71页
  • 卖家[上传人]:s9****2
  • 文档编号:584678535
  • 上传时间:2024-08-31
  • 文档格式:PPT
  • 文档大小:320.02KB
  • / 71 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第五章 标量处理机5.1先行控制技术5.2 流水线处理机5.3 超标量与超流水线处理机 只有标量数据表示和标量指令系统的处理机称为标量处理机提高指令执行速度的主要途径:(1) 提高处理机的工作主频(2) 采用更好的算法和设计更好的功能部件(3) 采用指令级并行技术三种指令级并行处理机:(1) 流水线处理机和超流水线(Super- pipelining)处理机(2) 超标量(Superscalar)处理机(3) 超长指令字(VLIW: Very Long Instruction Word)处理机 5.1先行控制技术先行控制技术的关键是缓冲技术和与处理技术 一条指令的执行过程可以分为多个阶段,如:取指分析执行可以有多种处理方式:5.1 指令的重叠执行方式 1、顺序执行方式执行n条指令所用的时间为:如果每段时间都为t,则执行n条指令所用的时间为: T=3nt取指令k 分析k 执行k 取指令k+1 分析k+1 执行k+1 主要优点:控制简单,节省设备主要缺点:执行指令的速度慢,功能部件的利用率很低2、一次重叠执行方式一种最简单的流水线方式如果两个过程的时间相等,则执行n条指令的时间为:T=(1+2n)t 取指 分析 执行取指 分析 执行取指 分析 执行主要优点:指令的执行时间缩短功能部件的利用率明显提高主要缺点:需要增加一些硬件控制过程稍复杂 3、二次重叠执行方式如果三过程的时间相等,执行n条指令的时间为:T=(2+n)t理想情况下同时有三条指令在执行处理机的结构要作比较大的改变,必须采用先行控制方式取指k+2 分析k+2 执行k+2取指k+1 分析k+1 执行k+1取指k分析k执行k 5.1.25.1.2先行控制方式的原理先行控制方式的原理1 1、采用二次重叠执行方式,必须解决两个问题:、采用二次重叠执行方式,必须解决两个问题: (1) (1) 有独立的取指令部件、指令分析部件有独立的取指令部件、指令分析部件 和指令执行部件和指令执行部件 独立的控制器: 存储控制器、指令控制器、运算控制器存储控制器、指令控制器、运算控制器 (2) (2) 要解决访问主存储器的冲突问题要解决访问主存储器的冲突问题 取指令、分析指令、执行指令都可能要访问存储器2 2、解决访存冲突的方法:、解决访存冲突的方法: (1)(1) 采用低位交叉存取方式采用低位交叉存取方式: 这种方法不能根本解决冲突问题。

      取指令、读操作数、写结果 (2) (2) 两个独立的存储器两个独立的存储器:独立的指令存储器和数据存储器独立的指令存储器和数据存储器 如果再规定,执行指令所需要的操作数和执行结果只如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,那么,取指令、分析指令和执行指令就写到通用寄存器,那么,取指令、分析指令和执行指令就可以同时进行可以同时进行 在许多高性能处理机中,有独立的指令在许多高性能处理机中,有独立的指令CacheCache和数据和数据CacheCache 这种结构被称为哈佛结构这种结构被称为哈佛结构 (3) (3) 采用先行控制技术采用先行控制技术 先行控制技术的关键是先行控制技术的关键是缓冲技术缓冲技术和和预处理技术预处理技术 缓冲技术是在工作速度不固定的两个功能部件之间设缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作置缓冲栈,用以平滑它们的工作 在采用了缓冲技术和预处理技术之后,运算器能够专在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。

      心于数据的运算,从而大幅度提高程序的执行速度 5.1.2.1处理机结构图5.3 5.4需要解决的三个问题:(1)指令不同,执行与分析相互等待(2)数据相关(3)转移指令 5.1.2.2指令执行顺序Fig5.6 5.7 5.85.1.2.3先行缓冲栈 Fig5.9先行指令缓冲栈用于平滑主存储器和指令分析器的工作先行指令缓冲栈用于平滑分析与运算先行读数栈用于平滑主存与运算器后行写数栈用于平滑主存与运算器 5.1.2.4缓冲深度的设计——各个缓冲栈中的缓冲寄存器个数的设置静态分析法 一种极端另一种极端 5.1.3数据相关(1)数据相关包括指令相关主存操作数相关通用寄存器相关变址相关(2)解决数据相关的途径:一、推后分析法二、设置专用路径 5.1.4控制相关包括:无条件转移、一般条件转移、安全条件转移解决方法:1、软件猜测法2、硬件猜测法3、两个先行指令缓冲栈 5.2 流水线处理机5.2.1 流水线工作原理5.2.2 流水线的分类5.2.3 线性流水线的性能分析5.2.4 非线性流水线的调度技术5.2.5局部相关5.2.6全局相关 处理机内部并行性 空间并行性: 设置多个独立的操作部件 多操作部件处理机 超标量处理机时间并行性:采用流水线技术。

      不增加或只增加少量硬件就能使运算速度提高几倍流水线处理机超流水线处理机 5.2.1 流水线工作原理1、简单流水线流水线的每一个阶段称为流水步、流水步骤、流水段、流水线阶段、流水功能段、功能段、流水级、流水节拍等`分析器分析k+1流水锁存器执行部件执行k流水锁存器输入输出t1t2 在每一个流水段的末尾或开头必须设置一个寄存器,称为流水寄存器、流水锁存器、流水闸门寄存器等会增加指令的执行时间为了简化,在一般流水线中不画出流水锁存器2、一种指令流水线取指形成操作数地址译码取操作数执行保存结果 一般4至12个流水段,等于及大于8个流水段的称为超流水线处理机3、流水线的时空图一条简单流水线的时空图:分析k 分析k+1分析k+2分析k+3执行k 执行k+1执行k+2执行k+3时间空间0t1t2t3t4t5 一个浮点加法器流水线的时空图(由求阶差、对阶、尾数加和规格化4个流水段组成):ED1时间空间0t1t2t3t4t5ED2 ED3 ED4 ED5EA1 EA2 EA3 EA4 EA5MA1MA2MA3MA4MA5NL1 NL2 NL3 NL4 NL5t6t7t8NL:规格化MA:尾数加EA:对阶ED:求阶差 4、流水线的主要特点只有连续提供同类任务才能充分发挥流水线的效率:对于指令流水线:要尽量减少因条件分支造成的“断流”对于操作部件:主要通过编译技术,尽量提供连续的同类操作在流水线的每一个流水线段中都要设置一个流水锁存器时间开销:流水线的执行时间加长是流水线中需要增加的主要硬件之一 各流水段的时间应尽量相等流水线处理机的基本时钟周期等于时间最长的流水段的时间长度流水线需要有“装入时间”和“排空时间”装装入入时时间间::在在流流水水线线开开始始时时有有一一段段流流水水线线填填入入时时间,使得流水线填满。

      间,使得流水线填满正正常常流流动动时时间间::流流水水线线正正常常工工作作,,各各功功能能段段源源源源不断满载工作不断满载工作排排空空时时间间::在在流流水水线线第第一一条条指指令令结结束束时时,,其其他他指指令还需要一段释放时间令还需要一段释放时间 5.2.2 流水线的分类1、线性流水线与非线性流水线流水线的各个流水段之间是否有反馈信号线性流水线(Linear Pipelining)每个流水段都流过一次,且仅流过一次非线性流水线(Nonlinear Pipelining)在流水线的某些流水段之间有反馈回路或前馈回路线性流水线能够用流水线连接图唯一表示非线性流水线必须用流水线连接图流水线预约表等共同表示 S1输入S2S3输出前馈回路反馈回路一种简单的非线性流水线 2、按照流水线的级别来分处理机级流水线, 又称为指令流水线 (Instruction Pipelining)例如:在采用先行控制器的处理机中,各功能部件之间的流水线先行指令缓冲栈输入先 行 控 制 方 式中的指令流水线先行指令分析器先行读数栈先行操作栈取指译码取操作数指令执行部件后行写数栈输出执行写结果 部件级流水线(操作流水线),如浮点加法器流水线处理机之间的流水线称为宏流水线 (Macro Pipelining)每个处理机对同一个数据流的不同部分分别进行处理求阶差输入输出t1对阶尾数加规格化t2t3t4P1输入任务1MM…P2任务2MP3任务3输出 3、单功能流水线与多功能流水线单功能流水线:只能完成一种固定功能的流水线Cray-1计算机中有12条;YH-1计算机有18条;Pentium有一条5段的定点和一条8段的浮点流水线;PentiumⅢ有三条指令流水线,其中两条定点指令流水线,一条浮点指令流水线。

      多功能流水线:流水线的各段通过不同连接实现不同功能 Texas公司的ASC计算机中的8段流水线,能够实现:定点加减法、定点乘法、浮点加法、浮点乘法、逻辑运算、移位操作、数据转换、向量运算等 4、静态流水线与动态流水线静态流水线:同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能只有连续出现同一种运算时,流水线的效率才能得到充分的发挥动态流水线:在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能 5.2.3 线性流水线的性能分析衡量流水线性能的主要指标有:吞吐率、加速比和效率1、吞吐率(Through Put)定义:单位时间内能处理的指令条数或能输出的数据量吞吐率越高,计算机系统的处理能力就越强就流水线而言,吞吐率就是单位时间内能流出的任务数或能流出的结果数求流水线吞吐率的最基本公式:TP = n / Tk n为任务数, Tk为完成n个任务所用时间各段执行时间相等,输入连续任务情况下完成n个连续任务需要的总时间为:Tk= (k+n-1) t k为流水线的段数, t为时钟周期 吞吐率:最大吞吐率为:各段执行时间不相等、输入连续任务情况下:吞吐率为:最大吞吐率为: 2、加速比(Speedup)计算流水线加速比的基本公式:S = 顺序执行时间T0 / 流水线执行时间Tk各段执行时间相等,输入连续任务情况下加速比为: 最大加速比为:各段执行时间不等,输入连续任务情况下实际加速比为: 3、效率(Efficiency)定义:设备的利用率,直接反映了处理机结构有效程度。

      计算流水线效率的一般公式:各流水段执行时间相等,输入n个连续任务流水线的效率为: 流水线的最高效率为:各流水段执行时间不等,输入n个连续任务流水线的效率为: 流水线各段的设备量或各段的价格不相等时:流水线的效率为:即:其中,ai < k,且 流水线的吞吐率、加速比与效率的关系:因为因此:E=TP· t ,S=k·E5、流水线性能分析举例对于单功能线性流水线,输入连续任务的情况,通过上面给出的公式很容易计算出流水线的吞吐率、加速比和效率 例5.1:用一条4段浮点加法器流水线求8个浮点数的和:Z=A+B+C+D+E+F+G+H分析:1、线性流水线,输入任务不连续2、存在数据相关,如只有A+B的运算结果出来之后才能做加C的运算3、如果这样,与顺序执行方式完全一样4、如果作如下变换:Z = [(A+B) + (C+D)] + [(E+F) + (G+H)]小括号内的操作之间,没有数据相关,可以连续输入到流水线中 解:Z = [(A+B) + (C+D)] + [(E+F) + (G+H)]1时间空间2 3求阶差45671 2 3 45671 2 3 45671 2 3 4567对阶尾数加规格化加数A C E GA+BE+FB D F HC+DG+HA+B+C+DE+F+G+H结果A+BC+DE+FG+HA+B+C+DE+F+G+H 7个浮点加法共用了15个时钟周期。

      流水线的吞吐率为:流水线的加速比为:流水线的效率为: 5.2.4非流水线的调度技术5.2.4.1非线性流水线的表示1、一条非流水线一般需要一个各功能段之间的连接图和一张预约表共同来表示2、一张非线性流水线的预约表可能与多个非线性流水线连接图相对应3、一个非线性流水线的连接图也可能对应有多张预约表 5.2.4.2非线性流水线的冲突 向一条非线性流水线的输入端连续输入两个任务之间的时间间隔称为非线性流水线的启动距离或等待时间 非线性流水线的冲突:某一个或几个功能段中发生的多个任务同时争用同一功能段的情况 禁止启动距离:引起非线性流水线功能段冲突的启动距离所有的禁止启动距离为冲突向量 非线性流水线中,不发生冲突的启动距离通常情况下是一个循环数列 恒定循环 5.2.4.3无冲突调度方法对于一张有K列的预约表,则有m<=k-1禁止向量用C=(Cm…C3C2C1), 如果i在禁止向量中,则Ci=1,否则Ci=0,其中Cm一定为1,因为m比在禁止向量中一张预约表对应一个状态图不同的预约也可能有相同的状态图 5.2.4.4优化调度方法1、最小平均启动距离的下限是任意一行中“叉号”的最多个数2、最小平均启动距离小于或等于任意一个简单循环的平均启动距离。

      3、最小平均启动距离的上限是1的个数加1 上述方法适用于单功能非线性流水线和静态多功能非线性流水线 5.2.5局部相关5.2.5.1顺序流动与乱序流动先写后读——写读先读后写——读写写写B0和B2之间的相关是全局相关,B2内部的相关是局部相关B0B1B2 5.2.5.2数据相关及其避免方法先写后读先读后写写——写避免方式:(1)延迟执行(2)建立专用路径如采用分散控制的公共数据总线法,采用集中控制的CDC记分牌法等 5.2.5.3 数据重定向P308 图5.62P309 图5.635.2.5.4 Tomasula动态指令调度算法——令牌法 5.2.6 全局相关全局相关是由条件转移或程序中断引起的相关,也叫控制相关5.2.6.1 转移的影响为了不破坏通用寄存器和主存储器中的内容,有两种方法:(1)只进行指令译码和准备好运算所需要的操作数,在转移条件没有形成之前不执行运算——简单(2)一直执行运算,但不送回运算结果——设置缓冲器,回送结果复杂 减少条件转移指令影响可采取的措施1、延迟转移技术和指令取消技术2、静转移预测技术3、动态转移预测技术 5.2.6.2动态转移预测技术动态转移预测技术要解决的两个问题:(1)如何记录转移历史信息。

      2)如何根据所记录的转移历史信息预测转移的方向 三种动态转移预测技术方法一:在指令Cache中记录转移历史信息方法二:转移目标地址缓冲栈方法三:转移目标指令缓冲栈5.2.6.3提前形成条件码5.2.6.4精确断点与不精确断点不精确断点——最后进入流水线的那条指令的地址精确断点——从中间进入流水线的那条指令的地址 5.3超标量处理机与超流水线处理机指令级并行处理机:超标量 m超流水线 n超标量超流水线 (m,n)区别:一般流水线处理机,具有一个多功能的操作部件ILP<1多操作部件处理机,具有多个独立的操作部件ILP<1上述三种处理机ILP>1 5.3.1 超标量处理机5.3.1 .1基本结构5.3.1.2 单发射与多发射5.3.1.3 超标量处理机性能 5.3.1 基本结构典型结构典型结构((1 1)多个操作部件多个操作部件2 2)一个或几个较大的通用寄存器堆一个或几个较大的通用寄存器堆3 3)一个或两个高速)一个或两个高速Cache.Cache.先进的先进的((1 1)三个处理单元)三个处理单元包括包括A A 定点定点CPU-CPU-由多个整数处理部件组成由多个整数处理部件组成B B 浮点浮点CPU-CPU-浮点加法和乘除部件组成。

      浮点加法和乘除部件组成C C 图形加速部件图形加速部件((2 2)大量的寄存器)大量的寄存器 5.3.1.2 单发射与多发射单发射处理机:取指、译码各设置一套,ILP的期望值1一般为ILP<1多发射处理机:取指、译码各设置两套以上,ILP的期望值m一般为1

      也有些功能段不能再细分,如WR功能段一般不再细分因此有超流水线的另外一种定义:有8个或8个以上流水段的处理机称为超流水线处理机 5.3.2.2 典型处理机结构MIPS R4000处理机每个时钟周期包含两个流水段,是一种很标准的超流水线处理机结构指令流水线有8个流水段有两个Cache,指令Cache和数据Cache的容量各8KB,每个时钟周期可以访问Cache两次,因此在一个时钟周期内可以从指令Cache中读出两条指令,从数据Cache中读出或写入两个数据主要运算部件有整数部件和浮点部件 5.3.2.3 超流水线处理机性能指令级并行度为(1,n)的超流水线处理机,执行N条指令所的时间为:K是指令流水线的时钟周期数,而不是流水线级数超流水线处理机相对于单流水线普通标量处理机的加速比为: 即:超流水线处理机的加速比的最大值为:S(1,n)MAX = n 5.3.3 超标量超流水线处理机把超标量与超流水线技术结合在一起,就成为超标量超流水线处理机从开发程序的指令级并行性来看(1)超标量开发空间并行性——依靠多个操作在重复设置的部件上并行操作来提高速度2)超标量开发时间并行性——在同一个部件操作上重叠操作。

      5.3.3.1 指令执行时序5.3.3.2 典型处理机结构5.3.3.3 超标量超流水线处理机性能 5.5.1 指令执行时序超标量超流水线处理机在一个时钟周期内分时发射指令n次,每次同时发射指令m条,每个时钟周期总共发射指令m  n条 IF时钟周期指令I1I2I3IDEXWR12345I4I5I6I7I8I9IFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRIFIDEXWRI10I11I12每时钟周期发射3次,每次3条指令 5.5.2 典型处理机结构DEC公司的Alpha处理机采用超标量超流水线结构主要由四个功能部件和两个Cache组成:整数部件EBOX、浮点部件FBOX、地址部件ABOX和中央控制部件IBOX中央控制部件IBOX可以同时从指令Cache中读入两条指令,同时对读入的两条指令进行译码,并且对这两条指令作资源冲突检测,进行数据相关性和控制相关性分析如果资源和相 关性允许,IBOX就把两条指令同时发射给EBOX、ABOX和FBOX三个指令执行部件中的两个指令流水线采用顺序发射乱序完成的控制方式。

      在指令Cache中有一个转移历史表,实现条件转移的动态预测在EBOX内还有多条专用数据通路,可以把运算结果直接送到执行部件Alpha 21064处理机共有三条指令流水线整数操作流水线和访问存储器流水线分为7个流水段,其中,取指令和分 析指令为4个流水段,运算2个流水段,写结果1个流水段浮点操作流水线分为10个流水段,其中,浮点执行部件FBOX的延迟时间为6个流水段所有指令执行部件EBOX、IBOX、ABOX和FBOX中都设置由专用数据通路Alpha 21064处理机的三条指令流水线的平均段数为8段,每个时钟周期发射两条指令因此,Alpha 21064处理机是超标量超流水线处理机 5.5.3 超标量超流水线处理机性能指令级并行度为(m,n)的超标量超流水线处理机,连续执行N条指令所需要的时间为:超标量超流水线处理机相对于单流水线标量处理机的加速比为: 在理想情况下,超标量超流水线处理机加速比的最大值为:S(m, n)MAX=m n 本 章 重 点1、指令的重叠执行方式及时空图表示方法2、线性流水线的性能分析及计算3、超标量处理机的指令执行时序及性能4、超流水线处理机的指令执行时序及性能5、超标量超流水线处理机的指令执行时序 及性能 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.