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