第五章系统结构优秀课件.ppt
《第五章系统结构优秀课件.ppt》由会员分享,可在线阅读,更多相关《第五章系统结构优秀课件.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章系统结构第1页,本讲稿共70页 一、基本思想和一次重迭一、基本思想和一次重迭 基本思想基本思想 一条指令解释由三个过程完成:一条指令解释由三个过程完成:取指取指分析(译码)分析(译码)执行执行取指取指K分析分析K执行执行K取指取指K+1分析分析K+1执行执行K+1 5.15.1重迭方式重迭方式 为了充分发挥机器各部分工作效率,提出让若干条指令在为了充分发挥机器各部分工作效率,提出让若干条指令在时间上重迭地解释。时间上重迭地解释。顺序解释顺序解释第2页,本讲稿共70页 硬件支持硬件支持:增设先进先出指令缓冲器(增设先进先出指令缓冲器(指令予取队列)指令予取队列),用于予用于予取下一条或下几
2、条指令存放于指缓中(取下一条或下几条指令存放于指缓中(“分析分析K”可与取可与取指指K+1就可重迭了)就可重迭了)。由于可予取指令由于可予取指令(即指令还未执行,就提前取到(即指令还未执行,就提前取到CPU的指令队列中了)的指令队列中了),当取指令时,很快可从指令予当取指令时,很快可从指令予取(队列)缓冲器中得到,时间很短,将这一微操作取(队列)缓冲器中得到,时间很短,将这一微操作合并合并“分析分析K+1”过程中过程中。第3页,本讲稿共70页 为实现这样的重迭,需要有硬件上的独立的指令分析部件为实现这样的重迭,需要有硬件上的独立的指令分析部件和执行部件支持。和执行部件支持。分析分析执行执行K分
3、析分析K+1执行执行K+2分析分析K+2执行执行K+2分析分析执行执行所以一条指令的解释合并为(内部)所以一条指令的解释合并为(内部)第4页,本讲稿共70页为使硬件和控制不过分繁杂,采用在任何时候指令分析部件和为使硬件和控制不过分繁杂,采用在任何时候指令分析部件和指令执行部件只对两条相邻指令进行重迭解释,这就是指令执行部件只对两条相邻指令进行重迭解释,这就是“一次一次重迭重迭”。为实现为实现“分析分析K+1”和和“执行执行K”的一次重迭的一次重迭“在控制上在控制上需解决的问题。需解决的问题。一一 次次 重重 迭迭 重迭方式的机器在程序中尽量减少使用条转指令重迭方式的机器在程序中尽量减少使用条转
4、指令。第5页,本讲稿共70页 数据地址发生的关联:数据地址发生的关联:如果分析如果分析K+1 所要读出的操所要读出的操作数正好是执行作数正好是执行K 的结果,它们之间如果重迭解释,因的结果,它们之间如果重迭解释,因为执行为执行K到周期结尾才出结果,必然出错。这是由于第到周期结尾才出结果,必然出错。这是由于第K、K+1条指令的数据地址之间有了关联,称之为产生了条指令的数据地址之间有了关联,称之为产生了“数数相关相关”。见书。见书P181 “指令相关指令相关”:有有“数相关数相关”,也就会有,也就会有“指令相关指令相关”。有指令。有指令K存通用寄存器;(通用寄存器)存通用寄存器;(通用寄存器)=(
5、K+1),),产生指令产生指令K+1:(:(指令指令K执行完后,执行完后,K+1指令才会产生)。指令才会产生)。要解决好相邻指令之间可能出现的某种关联。要解决好相邻指令之间可能出现的某种关联。第6页,本讲稿共70页 这样,这样,“分析分析K+1”分析的不是真正的执行分析的不是真正的执行K 以后产生的(K+1)指令,而是事先预取到指令缓冲器中紧随第指令,而是事先预取到指令缓冲器中紧随第K条指令条指令之后的指令(之后的指令(K+1),),这种情况称这种情况称第第K、K+1条指令之间发生条指令之间发生了关联。了关联。为避免出错,它们不能同时解释。为避免出错,它们不能同时解释。分析分析K+1执行执行K
6、 但是,由于但是,由于一次重迭一次重迭 两个操作是在同一时间两个操作是在同一时间解释解释(而指令而指令K+1是在指是在指令令K执行完后才会产生执行完后才会产生 无论发生何种相关,都会引起解释出错无论发生何种相关,都会引起解释出错/重迭效率下降,所以重迭效率下降,所以必须对相关进行正确处理。必须对相关进行正确处理。第7页,本讲稿共70页是由于在程序执行过程中机器指令允许被修改而引起(如上所是由于在程序执行过程中机器指令允许被修改而引起(如上所讲的:讲的:K+1指令被指令被K指令执行后修改了)。所以为避免出现指令执行后修改了)。所以为避免出现“指令相关指令相关”,不允许在程序运行过程中修改机器指令
7、,不允许在程序运行过程中修改机器指令,二、进行相关处理(二、进行相关处理(Correlation)的若干方法的若干方法 (自学自学)指令相关处理:指令相关处理:将必须要修改的指令转变成为将必须要修改的指令转变成为“执行执行”指令的操作数指令的操作数处理处理。见 书书P182第8页,本讲稿共70页 主存空间数相关的处理主存空间数相关的处理 主存空间数据相关主存空间数据相关:两相邻指令之间出现对主存同一单两相邻指令之间出现对主存同一单元要求元要求先写而后读先写而后读的关联。的关联。处理:当有处理:当有CPU访存和通道访存同时发生,出现访存冲访存和通道访存同时发生,出现访存冲突时,由存储器控制器在每
8、个主存周期对所有访存请求进行突时,由存储器控制器在每个主存周期对所有访存请求进行优先权排队,其中写数优先级别安排高于读数级别。当出现优先权排队,其中写数优先级别安排高于读数级别。当出现执行执行K(写数申请)和分析写数申请)和分析K+1(读数申请)读数申请)之间主存数相关之间主存数相关时,时,由存储器控制器将由存储器控制器将“分析分析K+1的读操作数推后一个主存的读操作数推后一个主存周期执行。周期执行。见书见书P183图图5、6第9页,本讲稿共70页 通用寄存器组相关处理通用寄存器组相关处理 通用寄存器组可以存放操作数、运算结果,也可以存放基通用寄存器组可以存放操作数、运算结果,也可以存放基地址
9、或变址值。在指令解释过程中,依它的不同用途,微操作地址或变址值。在指令解释过程中,依它的不同用途,微操作执行时间是不同的,具体如下示意图(时间关系):执行时间是不同的,具体如下示意图(时间关系):分析周期分析周期 执行周期执行周期 指令:指令:存基存基/变址值变址值 取操作数用操作数取操作数用操作数 存结果存结果 (前半周期)(前半周期)(后半周期)(后半周期)(周期结尾(周期结尾)所以通用寄存器的数相关和基址所以通用寄存器的数相关和基址/变址值相关处理方法不同。变址值相关处理方法不同。执行分析第10页,本讲稿共70页 由上分析,执行周期使用通用寄存器时间关系可知:由上分析,执行周期使用通用寄
10、存器时间关系可知:“分分析析K+1”取得的操作数(取得的操作数(L1)和(和(L2)并不是并不是“执行执行K”的结果。的结果。通用寄存器组相关处理方法:通用寄存器组相关处理方法:方法一:推后方法一:推后“分析分析K+1”到到“执行执行K”结束时。结束时。方法二:在运算器输出到方法二:在运算器输出到B、C寄存器之间增设相关专用通路寄存器之间增设相关专用通路 一次重迭如仍达不到速度要求,可用同时解释多一次重迭如仍达不到速度要求,可用同时解释多条指令的流水方式。条指令的流水方式。小结小结:第11页,本讲稿共70页 流水线是一种通过改进结构来提高程序解释速度流水线是一种通过改进结构来提高程序解释速度的
11、方法。的方法。处理机解释程序的方式有处理机解释程序的方式有顺序方式顺序方式、重叠方式重叠方式、流水方式流水方式 等。等。顺序方式顺序方式 是解释完一条指令再开始解释下一条。是解释完一条指令再开始解释下一条。流水方式流水方式 是指:是指:把一条指令的解释过程分解为若干个子过程,把一条指令的解释过程分解为若干个子过程,每个子过程可以与其它子过程同时进行,以此提高单位时间内解释每个子过程可以与其它子过程同时进行,以此提高单位时间内解释指令的数目指令的数目;重叠方式重叠方式 是一种简单的流水方式,它把指令分成是一种简单的流水方式,它把指令分成2个子过个子过程,每条指令的执行过程只与下一条指令的分析过程
12、相重叠程,每条指令的执行过程只与下一条指令的分析过程相重叠。5.2 流流 水水 方方 式式第12页,本讲稿共70页5.流水技术一一.流水方式的特点流水方式的特点(1)(1)流水过程由多个相联系的子过程组成,每个流水过程由多个相联系的子过程组成,每个子过程称为流水线的子过程称为流水线的“级级”或或“段段”。“段段”的数的数目称为流水线的目称为流水线的“深度深度”。(2)(2)每个子过程由专用的功能段实现;每个子过程由专用的功能段实现;(3)(3)各个功能段所需时间应尽量相等,否则,时间长的各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的功能段将成为流水线的瓶颈
13、,会造成流水线的“堵塞堵塞”和和“断流断流”。这个时间一般为一个时钟周期(拍);。这个时间一般为一个时钟周期(拍);第13页,本讲稿共70页(4)(4)流水线需要有流水线需要有“通过时间通过时间”(建立时间建立时间),),即第一即第一个任务流出结果所需的时间,在此之后流水过程才进个任务流出结果所需的时间,在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结入稳定工作状态,每一个时钟周期(拍)流出一个结果;果;(5)(5)流水技术适合于大量重复的时序过程,只有输流水技术适合于大量重复的时序过程,只有输入端能连续地提供任务,流水线的效率才能充分发入端能连续地提供任务,流水线的效率才能
14、充分发挥。挥。第14页,本讲稿共70页第15页,本讲稿共70页第16页,本讲稿共70页浮点加法流水线浮点加法流水线 书书P158P158第17页,本讲稿共70页时空图从时间和空间两个方面描述了流水线的工时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。水线的各个段。时间段号S5S4S3S2S18888877777666665555544444333332122221111二二.流水线时空图(参见书流水线时空图(参见书P156.P159)第18页,本讲稿共70页第19页,本讲稿共70页段号段号段号4
15、354213432238765432111111118888887777776666665555554444434333332222222(c)流水段重复的时空图(b)流水段细分后的时空图(a)原流水线时空图时间时间时间S4S4S4S3cS3cS3S3bS3bS2S1S1S2S2S3aS3aS188877766655544433321221111时空图3a第20页,本讲稿共70页流水线可以按不同的观点进行分类。流水线可以按不同的观点进行分类。分为五类分为五类 n操作部件级,处理器级操作部件级,处理器级,系统级系统级n单功能,多功能单功能,多功能n静态,动态静态,动态n线性,非线性线性,非线性n
16、标量,向量标量,向量三三.流水线的分类流水线的分类 见书见书P156第21页,本讲稿共70页依向上扩展和向下扩展的思路分,在计算机系统依向上扩展和向下扩展的思路分,在计算机系统不同等级上使用流水线,不同等级上使用流水线,部件级流水部件级流水:指构成部件内的各子部件间的流水(指构成部件内的各子部件间的流水(ALU内内的浮点加。的浮点加。Cache和多体并行主存之间)。和多体并行主存之间)。处理机级流水处理机级流水:指构成处理机的各部件之间的流水(如指构成处理机的各部件之间的流水(如“取指取指”、“分析分析”、“执行执行”。系统级流水:系统级流水:也称宏流水,指构成计算机系统的多处理机也称宏流水,
17、指构成计算机系统的多处理机之间的流水。之间的流水。流水按处理的级别分可分为部件级、处理机级和系统流水按处理的级别分可分为部件级、处理机级和系统级。级。第22页,本讲稿共70页 从流水线具有功能的多少来看,可分为单功能从流水线具有功能的多少来看,可分为单功能/多功能流水线。多功能流水线。单功能流水线单功能流水线 (unification pipelining):即一条流水线即一条流水线只能完成一种固定的功能(如只能实现浮点数加只能完成一种固定的功能(如只能实现浮点数加/减的流水线)减的流水线)。当要实现多种不同功能时,可采用多条单功能流水线组合。当要实现多种不同功能时,可采用多条单功能流水线组合
18、。多功能流水线多功能流水线 (multifunction pipelining):指流水线的各指流水线的各段可进行不同的连接,在不同段可进行不同的连接,在不同/相同的时间内,通过不同的连相同的时间内,通过不同的连接方式实现不同的功能。接方式实现不同的功能。例如:例如:TI ASC的多功能流水线的多功能流水线第23页,本讲稿共70页第24页,本讲稿共70页静态流水线与动态流水线静态流水线与动态流水线按在同一时间内,能否将多功能流水线连接成多种方式,按在同一时间内,能否将多功能流水线连接成多种方式,同时使多种功能并行执行来划分。同时使多种功能并行执行来划分。动态流水线动态流水线(dynamic p
19、ipelining):指在同一时间段,多功能流水线中各段可按不同方式连指在同一时间段,多功能流水线中各段可按不同方式连接,接,同时执行多种功能(各种功能之间无冲突)。同时执行多种功能(各种功能之间无冲突)。第25页,本讲稿共70页 静态流水线静态流水线(static pipelining):指在某一时间段内,指在某一时间段内,多功能流水线中的各功能段多功能流水线中的各功能段只能只能按一种方式连接,实现一种固定功能。按一种方式连接,实现一种固定功能。只有当按这种连只有当按这种连接方法实现的所有功能操作全部完成(流水线流完),接方法实现的所有功能操作全部完成(流水线流完),才能切换成(按另一种功能
20、)别的连接,以实现另外才能切换成(按另一种功能)别的连接,以实现另外的功能。的功能。第26页,本讲稿共70页以机器所具有的数据表示划分以机器所具有的数据表示划分标量流水机;标量流水机;没有向量数据表示,只能用标量循环方没有向量数据表示,只能用标量循环方式来处理向量和数组。式来处理向量和数组。向量流水机:向量流水机:是向量数据表示和流水技术的结合。机是向量数据表示和流水技术的结合。机器有向量数据表示,设置有向量指令和向量运算硬件,能流器有向量数据表示,设置有向量指令和向量运算硬件,能流水地处理向量和数组中的各个元素水地处理向量和数组中的各个元素。标量流水机和向量流水标量流水机和向量流水第27页,
21、本讲稿共70页(亦称顺序和乱序流水线)(亦称顺序和乱序流水线)依流水线中各功能段之间是否有反馈回路划分依流水线中各功能段之间是否有反馈回路划分线性流水线:线性流水线:流水线各段串行连接,一次流水各段只流水线各段串行连接,一次流水各段只经过一次,没有反馈回路(各任务在流水线中按输入顺序一经过一次,没有反馈回路(各任务在流水线中按输入顺序一个任务段接着一个任务段的流动)。个任务段接着一个任务段的流动)。非线性流水线:流水线除了有串行联接通路外,还有反非线性流水线:流水线除了有串行联接通路外,还有反馈回路,使任务段经流水线可多次经过某个段或越过某些段。馈回路,使任务段经流水线可多次经过某个段或越过某
22、些段。线性线性/非线性流水非线性流水1432举例:举例:第28页,本讲稿共70页 主要性能:主要性能:吞吐率吞吐率(Throughput Rate TP)和效率和效率(Efficiency)定义;定义;吞吐率:吞吐率:即单位时间内机器能处理的最多指令条数即单位时间内机器能处理的最多指令条数或或 机器能输出的最多结果数。、机器能输出的最多结果数。、四、流水线处理机的主要性能(性能分析)四、流水线处理机的主要性能(性能分析)对于线性流水线,如果各个子过程所需要的时间分别对于线性流水线,如果各个子过程所需要的时间分别是是 ,则线性流水线的,则线性流水线的最大吞吐率为最大吞吐率为:tTPD D=1ma
23、xmaxtttmi,.,.,11D DD DD Dtttmi,.,.,1D DD DD D第29页,本讲稿共70页考虑以下几种情况的最大吞吐率考虑以下几种情况的最大吞吐率顺序解释顺序解释:一条指令的执行时间由个:一条指令的执行时间由个t完成。完成。采用一次重迭解释:采用一次重迭解释:机器每隔一个机器每隔一个t 就能输就能输出一条指令执行结果,机器最大吞吐率提高了一倍。出一条指令执行结果,机器最大吞吐率提高了一倍。流水线达到不间断流水的稳定状态后可获得的吞流水线达到不间断流水的稳定状态后可获得的吞吐率。吐率。最大吞吐率最大吞吐率:第30页,本讲稿共70页 T=2t,则每隔则每隔t=T/2输出一个
24、结果输出一个结果 T=4t,则每隔则每隔t=T/4输出一个结果输出一个结果 如果一条指令由如果一条指令由m个子部件完成,个子部件完成,T=mt,则每隔则每隔 t=T/m输出一个结果输出一个结果 机器最大吞吐率取决于子过程经过的时间机器最大吞吐率取决于子过程经过的时间t,t越小,机器越小,机器最大吞叶率就越高。最大吞叶率就越高。注意:这里的讨论忽略了流水线的建立时间,如前面例,建立时注意:这里的讨论忽略了流水线的建立时间,如前面例,建立时间为间为3t 一条指令执行时间为一条指令执行时间为采用流水进行指令解释:个子过程,如下分析采用流水进行指令解释:个子过程,如下分析:第31页,本讲稿共70页机器
25、最大吞吐率取决于子过程经过的时间机器最大吞吐率取决于子过程经过的时间t t,t t越小,越小,机器最大吞叶率就越高。机器最大吞叶率就越高。同时,它受限于流水线中最慢子过程(同时,它受限于流水线中最慢子过程(瓶颈子过程瓶颈子过程)所经过)所经过的时间。的时间。“瓶颈瓶颈”问题:问题:第32页,本讲稿共70页方法一:见书方法一:见书P161图图5、21(a)、(b)将将“瓶颈瓶颈”子过程再细分成更小的子过程,使子过程再细分成更小的子过程,使各子过程均使用时间各子过程均使用时间t0。则最大吞吐率得以提高。如图则最大吞吐率得以提高。如图所示:所示:流水线瓶颈的解决流水线瓶颈的解决方法二:见书方法二:见
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 系统 结构 优秀 课件
限制150内