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