计算机系统结构随书ppt 清华大学出本社_第1页
计算机系统结构随书ppt 清华大学出本社_第2页
计算机系统结构随书ppt 清华大学出本社_第3页
计算机系统结构随书ppt 清华大学出本社_第4页
计算机系统结构随书ppt 清华大学出本社_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、2021-12-191第五章标量处理机5.1 先行控制技术5.2 流水线技术5.3 相关性分析技术5.4 超标量处理机5.5 超流水线处理机5.6 超标量超流水线处理机2021-12-192只有标量数据表示和标量指令系统的处理机称为标量处理机提高指令执行速度的主要途径:(1) 提高处理机的工作主频(2) 采用更好的算法和设计更好的功能部件(3) 采用指令级并行技术三种指令级并行处理机:(1) 流水线处理机和超流水线(Super- pipelining)处理机(2) 超标量(Superscalar)处理机(3) 超长指令字(VLIW: Very Long Instruction Word)处理机

2、2021-12-1935.1 先行控制技术5.1.1 指令的重叠执行方式1、顺序执行方式执行n条指令所用的时间为:如果每段时间都为 t,则执行n条指令所用的时间为: T=3ntniiiitttT1()执行分析取指令取指令k 分析k 执行k 取指令k+1 分析k+1 执行k+1 2021-12-194主要优点:控制简单,节省设备。主要缺点:执行指令的速度慢,功能部件的利用率很低。2、一次重叠执行方式一种最简单的流水线方式取指 分析 执行取指 分析 执行取指 分析 执行2021-12-195主要优点:指令的执行时间缩短功能部件的利用率明显提高主要缺点:需要增加一些硬件控制过程稍复杂如果三个过程取指

3、令、分析、执行的时间相等,则执行n条指令的时间为:T=(1+2n)t2021-12-1963、二次重叠执行方式理想情况下同时有三条指令在执行如果三过程的时间相等,执行n条指令的时间为:T=(2+n)t处理机的结构要作比较大的改变,必须采用先行控制方式取指k+2 分析k+2 执行k+2取指k+1 分析k+1 执行k+1取指k分析k执行k5.1.2 先行控制方式的原理1、采用二次重叠执行方式,必须解决两个问题:(1) 必须有独立的取指令部件、指令分析部件和指令执行部件。必须有独立的控制器:存储控制器、指令控制器、运算控制器(2) 要解决访问主存储器的冲突问题 取指令、分析指令、执行指令都可能要访问

4、存储器2、解决访存冲突的方法:(1) 采用低位交叉存取方式: 如果取指令、读操作数、写结果不在同一个存储 体中。但是这种方法不能根本解决冲突问题。(2) 两个独立的存储器:独立的指令存储器和数据存 储器。解决取指令和存、取操作数的矛盾。如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,也就是指令形式受到限制,那么,取指令、分析指令和执行指令就可以同时进行。因此,在许多高性能处理机中,有独立的指令Cache和数据Cache。 这种结构被称为哈佛结构。(3) 采用先行控制技术先行控制技术的关键是缓冲技术和预处理技术。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的

5、工作。预处理技术是指把进入运算器的指令都变成寄存器-寄存器型(RR型)指令,它必须与缓冲技术结合,要为进入运算器的指令准备好全部操作数。送入先行操作栈。采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。2021-12-19105.2 流水线技术5.2.1 流水线工作原理5.2.2 流水线的分类5.2.3 线性流水线的性能分析5.2.4 非线性流水线的调度技术2021-12-19115.2.1 流水线工作原理空间并行性:设置多个独立的操作部件多操作部件处理机超标量处理机时间并行性:采用流水线技术。不增加或只增加少量硬件就能使运算速度提高几倍流水线处理机超流

6、水线处理机2021-12-1912一、 流水线的表示方法1、简单流水线流水线的每一个阶段称为流水步、流水步骤、流水段、流水线阶段、流水功能段、功能段、流水级、流水节拍等。分析器分析k+1流水锁存器执行部件执行k流水锁存器输入输出t1t2Stage 1latch输入输出t1t2Stage 2latchStage 3latcht32021-12-1913在每一个流水段的末尾或开头必须设置一个寄存器,称为流水寄存器、流水锁存器、流水闸门寄存器等。会增加指令的执行时间。为了简化,在一般流水线中不画出流水锁存器。注意:1、流水线工作的节拍,是各个功能段中花费时间最长的一个,所以功能段的划分要合理,处理时

7、间尽量相同。 2、流水线m段,任务n个,每段花费的处理时间为t,则花费的时间为: Tpipe=mt+(n-1)t mt为装入时间,所以装入不宜过于频繁2021-12-19142、一种指令流水线一般4至12个流水段,等于及大于8个流水段的称为超流水线处理机3、流水线的时空图一条简单流水线的时空图:分析k分析k+1 分析k+2 分析k+3执行k执行k+1 执行k+2 执行k+3时间空间0t1t2t3t4t5取指形成操作数地址译码取操作数执行保存结果2021-12-1915一个浮点加法器流水线的时空图(由求阶差、对阶、尾数加和规格化4个流水段组成):ED1时间空间0t1t2t3t4t5ED2 ED3

8、 ED4 ED5EA1 EA2 EA3 EA4 EA5MA1MA2MA3MA4MA5NL1 NL2 NL3 NL4 NL5t6t7t8NL:规格化MA:尾数加EA:对阶ED:求阶差2021-12-1916浮点数加法:浮点数加法:一般格式: 31 31 23 22 0加法:符号阶码尾数阶码阶码1阶码阶码2尾数尾数1尾数尾数2对阶对阶尾数调整尾数调整加加/减减结果规格化结果规格化计算阶码差计算阶码差2021-12-19174. 流水线的主要特点5. (1)只有连续提供同类任务才能充分发挥流水线的效率:对于指令流水线:要尽量减少因条件分支造成的“断流”对于操作部件:主要通过编译技术,尽量提供连续的同

9、类操作6. (2)在流水线的每一个流水线段中都要设置一个流水锁存器时间开销:流水线的执行时间加长是流水线中需要增加的主要硬件之一2021-12-1918(3)各流水段的时间应尽量相等流水线处理机的基本时钟周期等于时间最长的流水段的时间长度(4)流水线需要有“装入时间”和“排空时间”新任务装入装入时间新旧任务替换排空时间 2021-12-19195.2.2 流水线的分类1、线性流水线与非线性流水线流水线的各个流水段之间是否有反馈信号(1)线性流水线(Linear Pipelining)每个流水段都流过一次,且仅流过一次(2)非线性流水线(Nonlinear Pipelining)在流水线的某些流

10、水段之间有反馈回路或前馈回路线性流水线能够用流水线连接图唯一表示非线性流水线必须用流水线连接图和流水线预约表等共同表示2021-12-1920S1输入S2S3输出前馈回路反馈回路一种简单的非线性流水线S3S2S14321对应的两种预约表S3S2S143215XX2021-12-19212、按照流水线的级别来分处理机级流水线, 又称为指令流水线 (Instruction Pipelining)例如:在采用先行控制器的处理机中,各功能部件之间的流水线先行指令缓冲栈输入先行控制方式中的指令流水线先行指令分析器先行读数栈先行操作栈取指译码取操作数指令执行部件后行写数栈输出执行写结果2021-12-19

11、22部件级流水线(操作流水线),如浮点加法器流水线(运算流水线,arithmetic pipelining)处理机之间的流水线称为宏流水线 (Macro Pipelining)每个处理机对同一个数据流的不同部分分别进行处理求阶差输入输出t1对阶尾数加规格化t2t3t4P1输入任务1MMP2任务2MP3任务3输出2021-12-19233、单功能流水线与多功能流水线单功能流水线:只能完成一种固定功能的流水线Cray-1计算机中有12条;YH-1计算机有18条;Pentium有一条5段的定点和一条8段的浮点流水线;Pentium有三条指令流水线,其中两条定点指令流水线,一条浮点指令流水线。2021

12、-12-1924多功能流水线:流水线的各段通过不同连接实现不同功能 Texas公司的ASC计算机中的8段流水线,能够实现:定点加减法、定点乘法、浮点加法、浮点乘法、逻辑运算、移位操作、数据转换、向量运算等。 A B A B A B A B输入输入输入输入求阶差求阶差求阶差求阶差对阶对阶对阶对阶尾数加尾数加尾数加尾数加规格化规格化规格化规格化尾数乘尾数乘尾数乘尾数乘累加累加累加累加输出输出输出输出g= f(A ,B)定点乘浮点加浮点点积(a)功能段间的互连 (b)定点乘法 (c)浮点加法 (d)浮点点积浮点点积指:浮点点积指: n1iiiBA)B,A( fg2021-12-19264、静态流水线

13、与动态流水线静态流水线:同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能。只有连续出现同一种运算时,静态流水线的效率才能得到充分的发挥。动态流水线:在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。2021-12-19271时间空间02 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 4 1 2 3 1 2 1输入求阶差对阶尾数加规格化尾数乘累加输出静态流水线时空图浮点加法定点乘法2021-12-19281时间空间02 3 n1 2 3 n1 2 3 n1 2 3 n1 2 3 n1 2

14、3 n输入求阶差对阶尾数加规格化尾数乘累加输出动态流水线时空图1 2 35461 2 3541 2 3 41 2 3浮点加法定点乘法2021-12-19295、流水线的其他分类方法按照数据表示方式:标量流水线和向量流水线按照控制方式:同步流水线和异步流水线顺序流水线与乱序流水线:乱序流水线又称为无序流水线、错序流水线或异步流水线等S1就绪回答S2就绪回答S3就绪回答输出就绪回答输入2021-12-19305.2.3 线性流水线的性能分析衡量流水线性能的主要指标有:吞吐率、加速比和效率1、吞吐率(Though Put)求流水线吞吐率的最基本公式:TP = n / Tkn为任务数, Tk为完成n个

15、任务所用时间各段执行时间相等,输入连续任务情况下完成n个连续任务需要的总时间为:Tk= (k+n-1) t k为流水线的段数, t为时钟周期2021-12-19311时间空间S123 n-1 nS2S3S4123 n-1 n123 n-1 n123 n-1 nkt(n-1) tnt(k-1)tT2021-12-1932吞吐率:最大吞吐率为:各段执行时间不相等、输入连续任务情况下:吞吐率为:最大吞吐率为:tnknTP) 1(nTPLimnknttmax() 11),max() 1(211kkiitttntnTP ),max(121ktttTP 2021-12-1933流水线各段执行时间不相等的解

16、决办法S1输入t1=tS2t2=3tS3t3=tS4t4=t输出1时间空间S1S2S3S4ti(n-1)t2Tk23 n123n123 n123 n2021-12-1934一是将“瓶颈”流水段细分(如果可分的话):二是将 “瓶颈”流水段重复设置:S1输入输出tS2-1tS2-2tS2-3tS3tS4tS2(3t)S1输入输出t1=tS2-1S2-1S2-1S3S4t3=tt4=tt2=3t2021-12-19351时间空间2 3nS1流水段重复设置的流水线S2-14 5 614n-2 n-1n-225n-136n1 2 3n4 5 6n-2 n-11 2 3n4 5 6n-2 n-1S2-2S

17、2-3S3S42021-12-19362、加速比(Speedup)计算流水线加速比的基本公式:S = 顺序执行时间T0 / 流水线执行时间Tk各段执行时间相等,输入连续任务情况下加速比为: 最大加速比为:各段执行时间不等,输入连续任务情况下实际加速比为:1) 1(nknktnktnkSSLimk nknknmax12021-12-1937Snttntttiikiikk11121() max(, ,) K=6 K=10任务个数加速比102468112481632 64 1282021-12-19383、效率(Efficiency)(设备利用率)计算流水线效率的一般公式:各流水段执行时间相等,输入

18、n个连续任务流水线的效率为: 流水线的最高效率为:各流水段执行时间不等,输入n个连续任务流水线的效率为:kTkTknE0个流水段的总的时空区个任务占用的时空区1) 1(nkntnkktnkE11maxnknLimEn2021-12-1939流水线各段的设备量或各段的价格不相等时:流水线的效率为:即:其中,ai为i段的权值,ai k,且),max() 12111kkiikiitttntktnE (空区个流水段的总的加权时区个任务占用的加权时空knE ), ,max() 121111nkiiikiIikiiitttntaatanE(kakii12021-12-1940流水线的吞吐率、加速比与效率的

19、关系:因为因此:E=TP t ,S=kE4、流水线性能分析举例对于单功能线性流水线,输入连续任务的情况,通过上面给出的公式很容易计算出流水线的吞吐率、加速比和效率。例5.1:用一条4段浮点加法器流水线求8个浮点数的和:ZABCDEFGHtnknTP) 1(1nknkS1nknE2021-12-1941解: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

20、+DE+F+G+H2021-12-19427个浮点加法共用了15个时钟周期。流水线的吞吐率为:流水线的加速比为:流水线的效率为:ttTnTPk147015787115740ttTTSk470154740ttTkTEk2021-12-19435. 流水线最佳段数的选择 其中最大吞吐量=1/(t/k+d) ;t 任务总时间,d 锁存器时间,k 段数 流水线价格=(a+kb) ;a 所有功能段价格,b 锁存器价格PCR的最佳值是: (书上P292)流流水水线线价价格格最最大大吞吞吐吐量量)价价格格比比(性性能能 PCR/bd)at(k0 2021-12-1944由于非线性,不能每次输入一个任务,需要

21、调度。1、向一条流水线的输入端,顺序输入两个任务之间的时间间隔称为启动距离(initiation interval)或称为等待时间(latency)。2、几个任务同时争用同一个流水段的情况称为非线性流水线的冲突(collision).3、引起非线性流水线冲突的启动距离成为禁止启动距离5.2.4.1非线性流水线的表示5.2.4 非线性静态流水线的调度技术2021-12-19465.2.4.2非线性流水线的冲突无无冲突冲突2021-12-19472021-12-19481、禁止向量(禁用表,Forbidden List) 指任务连续进入流水线禁用的时间间隔 对应于以下的预留表: F =(4,1)2

22、、冲突向量(Collision Vector) 长度m的二进制数 m:禁用表中的最大数 C =(1 0 0 1)S3S2S143215Stage 1Stage2Stage 3几个重要的描述用的参数几个重要的描述用的参数2021-12-1949 C = c4 c3 c2 c1 =(1 0 0 1) 4 3 2 1 - 时间间隔 F =(4,1)3、状态图:右移三位右移三位与原冲突向量或与原冲突向量或操作操作右移二位右移二位与原冲突与原冲突向量向量或操作或操作2021-12-19504、平均启动距离(平均等待周期) 不同的状态循环有不同的平均启动距离 例如:C0-a1-C1-a2 C0 周期称为 C(2,3) L=(2+3)/2=2.5 C0-a3-C0-a3 周期称为 C(3) L=3 2021-12-19515、最小平均启动距离 平均启动距离中最小的一个。 上述例子中为2.5 在控制上是比较复杂的(时间间隔依

温馨提示

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

评论

0/150

提交评论