计算机系统结构(第15讲).ppt
《计算机系统结构(第15讲).ppt》由会员分享,可在线阅读,更多相关《计算机系统结构(第15讲).ppt(99页珍藏版)》请在三一办公上搜索。
1、,计算机系统结构(第15讲),计算机系统结构,第一章 基本概念第二章 指令系统第三章 存储系统第四章 输入输出系统第五章 标量处理机,第六章 向量处理机第七章 互连网络第八章 并行处理机和 多处理机,第五章标量处理机,5.1 指令的重叠执行方式5.2 流水线技术5.3 超标量处理机5.4 超流水线处理机5.5 超标量超流水线处理机,只有标量数据表示和标量指令系统的处理机称为标量处理机提高指令执行速度的主要途径:(1)提高处理机的工作主频(2)采用更好的算法和设计更好的功能部件(3)采用指令级并行技术三种指令级并行处理机:(1)流水线处理机和超流水线(Super-pipelining)处理机(2
2、)超标量(Superscalar)处理机(3)超长指令字(VLIW:Very Long Instruction Word)处理机,5.1 指令的重叠执行方式1、顺序执行方式执行n条指令所用的时间为:如果每段时间都为t,则执行n条指令所用的时间为:T=3nt,取指令k,分析k,执行k,取指令k+1,分析k+1,执行k+1,主要优点:控制简单,节省设备。主要缺点:执行指令的速度慢,功能部件的利用率很低。2、一次重叠执行方式一种最简单的流水线方式如果两个过程的时间相等,则执行n条指令的时间为:T=(1+2n)t,取指,分析,执行,取指,分析,执行,取指,分析,执行,主要优点:指令的执行时间缩短功能部
3、件的利用率明显提高主要缺点:需要增加一些硬件控制过程稍复杂,3、二次重叠执行方式如果三过程的时间相等,执行n条指令的时间为:T=(2+n)t理想情况下同时有三条指令在执行处理机的结构要作比较大的改变,必须采用先行控制方式,取指k+2,分析k+2,执行k+2,取指k+1,分析k+1,执行k+1,取指k,分析k,执行k,先行控制方式的原理1、采用二次重叠执行方式,必须解决两个问题:(1)有独立的取指令部件、指令分析部件 和指令执行部件 独立的控制器:存储控制器、指令控制器、运算控制器(2)要解决访问主存储器的冲突问题 取指令、分析指令、执行指令都可能要访问存储器2、解决访存冲突的方法:(1)采用低
4、位交叉存取方式:这种方法不能根本解决冲突问题。取指令、读操作数、写结果。,(2)两个独立的存储器:独立的指令存储器和数据存储器。如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,那么,取指令、分析指令和执行指令就可以同时进行。在许多高性能处理机中,有独立的指令Cache和数据Cache。这种结构被称为哈佛结构。(3)采用先行控制技术。先行控制技术的关键是缓冲技术和预处理技术。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作。在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。,(2)两个独立的存储器:独立的指令存储器
5、和数据存储器。如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,那么,取指令、分析指令和执行指令就可以同时进行。在许多高性能处理机中,有独立的指令Cache和数据Cache。这种结构被称为哈佛结构。(3)采用先行控制技术。先行控制技术的关键是缓冲技术和预处理技术。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作。在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。,计算机系统结构(第16讲),第五章标量处理机,5.1 先行控制技术5.2 流水线技术5.3 超标量处理机5.4 超流水线处理机5.5 超标量超流水线处理机
6、,5.2 流水线技术5.2.1 流水线工作原理5.2.2 流水线的分类5.2.3 线性流水线的性能分析5.2.4 非线性流水线的调度技术,5.2 流水线技术空间并行性:设置多个独立的操作部件多操作部件处理机超标量处理机时间并行性:采用流水线技术。不增加或只增加少量硬件就能使运算速度提高几倍流水线处理机超流水线处理机,5.2.1 流水线工作原理1、简单流水线流水线的每一个阶段称为流水步、流水步骤、流水段、流水线阶段、流水功能段、功能段、流水级、流水节拍等。,分析器分析k+1,流水锁存器,执行部件执行k,流水锁存器,输入,输出,t1,t2,在每一个流水段的末尾或开头必须设置一个寄存器,称为流水寄存
7、器、流水锁存器、流水闸门寄存器等。会增加指令的执行时间。为了简化,在一般流水线中不画出流水锁存器。2、一种指令流水线,取指,形成操作数地址,译码,取操作数,执行,保存结果,一般4至12个流水段,等于及大于8个流水段的称为超流水线处理机3、流水线的时空图一条简单流水线的时空图:,分析k,分析k+1,分析k+2,分析k+3,执行k,执行k+1,执行k+2,执行k+3,时间,空间,0,t1,t2,t3,t4,t5,一个浮点加法器流水线的时空图(由求阶差、对阶、尾数加和规格化4个流水段组成):,ED1,时间,空间,0,t1,t2,t3,t4,t5,ED2,ED3,ED4,ED5,EA1,EA2,EA3
8、,EA4,EA5,MA1,MA2,MA3,MA4,MA5,NL1,NL2,NL3,NL4,NL5,t6,t7,t8,NL:规格化,MA:尾数加,EA:对阶,ED:求阶差,4、流水线的主要特点只有连续提供同类任务才能充分发挥流水线的效率:对于指令流水线:要尽量减少因条件分支造成的“断流”对于操作部件:主要通过编译技术,尽量提供连续的同类操作在流水线的每一个流水线段中都要设置一个流水锁存器时间开销:流水线的执行时间加长是流水线中需要增加的主要硬件之一,各流水段的时间应尽量相等流水线处理机的基本时钟周期等于时间最长的流水段的时间长度流水线需要有“装入时间”和“排空时间”,5.2.2 流水线的分类1、
9、线性流水线与非线性流水线流水线的各个流水段之间是否有反馈信号线性流水线(Linear Pipelining)每个流水段都流过一次,且仅流过一次非线性流水线(Nonlinear Pipelining)在流水线的某些流水段之间有反馈回路或前馈回路线性流水线能够用流水线连接图唯一表示非线性流水线必须用流水线连接图流水线预约表等共同表示,S1,输入,S2,S3,输出,前馈回路,反馈回路,一种简单的非线性流水线,计算机系统结构(第17讲),2、按照流水线的级别来分处理机级流水线,又称为指令流水线(Instruction Pipelining)例如:在采用先行控制器的处理机中,各功能部件之间的流水线,先行
10、指令缓冲栈,输入,先行控制方式中的指令流水线,先行指令分析器,先行读数栈先行操作栈,取指,译码,取操作数,指令执行部件,后行写数栈,输出,执行,写结果,部件级流水线(操作流水线),如浮点加法器流水线处理机之间的流水线称为宏流水线(Macro Pipelining)每个处理机对同一个数据流的不同部分分别进行处理,求阶差,输入,输出,t1,对阶,尾数加,规格化,t2,t3,t4,P1,输入,任务1,M,M,P2,任务2,M,P3,任务3,输出,3、单功能流水线与多功能流水线单功能流水线:只能完成一种固定功能的流水线Cray-1计算机中有12条;YH-1计算机有18条;Pentium有一条5段的定点
11、和一条8段的浮点流水线;Pentium有三条指令流水线,其中两条定点指令流水线,一条浮点指令流水线。,多功能流水线:流水线的各段通过不同连接实现不同功能 Texas公司的ASC计算机中的8段流水线,能够实现:定点加减法、定点乘法、浮点加法、浮点乘法、逻辑运算、移位操作、数据转换、向量运算等。,4、静态流水线与动态流水线静态流水线:同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能。只有连续出现同一种运算时,流水线的效率才能得到充分的发挥。动态流水线:在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。,1,时间,空间,0,2,3,n
12、,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,4,1,2,3,1,2,1,输入,求阶差,对阶,尾数加,规格化,尾数乘,累加,输出,静态流水线时空图,浮点加法,定点乘法,1,时间,空间,0,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,输入,求阶差,对阶,尾数加,规格化,尾数乘,累加,输出,动态流水线时空图,1,2,3,5,4,6,1,2,3,5,4,1,2,3,4,1,2,3,浮点加法,定点乘法,5、流水线的其他分类方法按照数据表示方式:标量流水线和向量流水线按照控制方式:同步流水线和异步流水线顺序流
13、水线与乱序流水线:乱序流水线又称为无序流水线、错序流水线或异步流水线等,S1,就绪,回答,S2,就绪,回答,S3,就绪,回答,输出,就绪,回答,输入,5.2.3 线性流水线的性能分析衡量流水线性能的主要指标有:吞吐率、加速比和效率1、吞吐率(Though Put)求流水线吞吐率的最基本公式:TP=n/Tkn为任务数,Tk为完成n个任务所用时间各段执行时间相等,输入连续任务情况下完成n个连续任务需要的总时间为:Tk=(k+n-1)t k为流水线的段数,t为时钟周期,1,时间,空间,S1,2,3,n-1,n,S2,S3,S4,1,2,3,n-1,n,1,2,3,n-1,n,1,2,3,n-1,n,
14、kt,(n-1)t,nt,(k-1)t,T,吞吐率:最大吞吐率为:各段执行时间不相等、输入连续任务情况下:吞吐率为:最大吞吐率为:,流水线各段执行时间不相等的解决办法,S1,输入,t1=t,S2,t2=3t,S3,t3=t,S4,t4=t,输出,1,时间,空间,S1,S2,S3,S4,ti,(n-1)t2,Tk,2,3,n,1,2,3,n,1,2,3,n,1,2,3,n,一是将“瓶颈”流水段细分(如果可分的话):二是将“瓶颈”流水段重复设置:,S1,输入,输出,t,S2-1,t,S2-2,t,S2-3,t,S3,t,S4,t,S2(3t),S1,输入,输出,t1=t,S2-1,S2-1,S2-
15、1,S3,S4,t3=t,t4=t,t2=3t,1,时间,空间,2,3,n,S1,流水段重复设置的流水线,S2-1,4,5,6,1,4,-2,-1,n-2,2,5,n-1,3,6,n,1,2,3,n,4,5,6,-2,-1,1,2,3,n,4,5,6,-2,-1,S2-2,S2-3,S3,S4,2、加速比(Speedup)计算流水线加速比的基本公式:S=顺序执行时间T0/流水线执行时间Tk各段执行时间相等,输入连续任务情况下加速比为:最大加速比为:各段执行时间不等,输入连续任务情况下实际加速比为:,计算机系统结构(第18讲),5.2.3 线性流水线的性能分析衡量流水线性能的主要指标有:吞吐率、
16、加速比和效率1、吞吐率(Though Put)求流水线吞吐率的最基本公式:TP=n/Tkn为任务数,Tk为完成n个任务所用时间各段执行时间相等,输入连续任务情况下完成n个连续任务需要的总时间为:Tk=(k+n-1)t k为流水线的段数,t为时钟周期,1,时间,空间,S1,2,3,n-1,n,S2,S3,S4,1,2,3,n-1,n,1,2,3,n-1,n,1,2,3,n-1,n,kt,(n-1)t,nt,(k-1)t,T,吞吐率:最大吞吐率为:各段执行时间不相等、输入连续任务情况下:吞吐率为:最大吞吐率为:,2、加速比(Speedup)计算流水线加速比的基本公式:S=顺序执行时间T0/流水线执
17、行时间Tk各段执行时间相等,输入连续任务情况下加速比为:最大加速比为:各段执行时间不等,输入连续任务情况下实际加速比为:,K=6,K=10,任务个数,加速比,10,2,4,6,8,1,1,2,4,8,16,32,64,128,3、效率(Efficiency)计算流水线效率的一般公式:各流水段执行时间相等,输入n个连续任务流水线的效率为:流水线的最高效率为:各流水段执行时间不等,输入n个连续任务流水线的效率为:,流水线各段的设备量或各段的价格不相等时:流水线的效率为:即:其中,ai k,且,流水线的吞吐率、加速比与效率的关系:因为因此:E=TP t,S=kE5、流水线性能分析举例对于单功能线性流
18、水线,输入连续任务的情况,通过上面给出的公式很容易计算出流水线的吞吐率、加速比和效率。例5.2:用一条4段浮点加法器流水线求8个浮点数的和:ZABCDEFGH,解:Z=(A+B)+(C+D)+(E+F)+(G+H),1,时间,空间,2,3,求阶差,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,对阶,尾数加,规格化,加数,A,C,E,G,A+B,E+F,B,D,F,H,C+D,G+H,A+B+C+D,E+F+G+H,结果,A+B,C+D,E+F,G+H,A+B+C+D,E+F+G+H,7个浮点加法共用了15个时钟周期。流水线的吞吐率为:流水线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 15
链接地址:https://www.31ppt.com/p-6432910.html