第5章系统结构精选文档.ppt

上传人:石*** 文档编号:48027225 上传时间:2022-10-04 格式:PPT 页数:40 大小:3.04MB
返回 下载 相关 举报
第5章系统结构精选文档.ppt_第1页
第1页 / 共40页
第5章系统结构精选文档.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《第5章系统结构精选文档.ppt》由会员分享,可在线阅读,更多相关《第5章系统结构精选文档.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第5章系统结构本讲稿第一页,共四十页 一、基本思想和一次重迭一、基本思想和一次重迭 基本思想基本思想 一条指令解释由三个过程完成:一条指令解释由三个过程完成:取指取指分析(译码)分析(译码)执行执行取指取指K分析分析K执行执行K取指取指K+1分析分析K+1执行执行K+1 5.15.1重迭方式重迭方式 为了充分发挥机器各部分工作效率,提出让若干条指令在时间上为了充分发挥机器各部分工作效率,提出让若干条指令在时间上重迭地解释。重迭地解释。顺序解释顺序解释本讲稿第二页,共四十页 硬件支持硬件支持:增设先进先出指令缓冲器(增设先进先出指令缓冲器(指令予取队列)指令予取队列),用用于予取下一条或下几条指

2、令存放于指缓中(于予取下一条或下几条指令存放于指缓中(“分析分析K”可与取指可与取指K+1就可重迭了)就可重迭了)。由于可予取指令由于可予取指令(即指令还未执行,就提前取到(即指令还未执行,就提前取到CPU的指令队列中了)的指令队列中了),当取指令时,很快可从指令当取指令时,很快可从指令予取(队列)缓冲器中得到,时间很短,将这一微操予取(队列)缓冲器中得到,时间很短,将这一微操作合并作合并“分析分析K+1”过程中过程中。本讲稿第三页,共四十页 为实现这样的重迭,需要有硬件上的独立的指令分析为实现这样的重迭,需要有硬件上的独立的指令分析部件和执行部件支持。部件和执行部件支持。分析分析K执行执行K

3、分析分析K+1 执行执行K+1分析分析K+2 执行执行K+2分析分析执行执行所以一条指令的解释合并为(内部)所以一条指令的解释合并为(内部)本讲稿第四页,共四十页为使硬件和控制不过分繁杂,采用在任何时候指令分析部件和指令执为使硬件和控制不过分繁杂,采用在任何时候指令分析部件和指令执行部件只对两条相邻指令进行重迭解释,这就是行部件只对两条相邻指令进行重迭解释,这就是“一次重迭一次重迭”。为实现为实现“分析分析K+1”和和“执行执行K”的一次重迭的一次重迭“在控制上需解决在控制上需解决的问题。的问题。一一 次次 重重 迭迭 重迭方式的机器在程序中尽量减少使用条转指令重迭方式的机器在程序中尽量减少使

4、用条转指令。本讲稿第五页,共四十页 数据地址发生的关联:数据地址发生的关联:如果分析如果分析K+1 所要读出的操作数所要读出的操作数正好是执行正好是执行K 的结果,它们之间如果重迭解释,因为执行的结果,它们之间如果重迭解释,因为执行K到周到周期结尾才出结果,必然出错。这是由于第期结尾才出结果,必然出错。这是由于第K、K+1条指令的数据地条指令的数据地址之间有了关联,称之为产生了址之间有了关联,称之为产生了“数相关数相关”。见书。见书P148 “指令相关指令相关”:有有“数相关数相关”,也就会有,也就会有“指令相关指令相关”。有。有指令指令K存通用寄存器;(通用寄存器)存通用寄存器;(通用寄存器

5、)=(K+1),),产生指令产生指令K+1:(:(指令指令K执行完后,执行完后,K+1指令才会产生)。指令才会产生)。要解决好相邻指令之间可能出现的某种关联。要解决好相邻指令之间可能出现的某种关联。本讲稿第六页,共四十页 这样,这样,“分析分析K+1”分析的不是真正的执行分析的不是真正的执行K 以后产生的(K+1)指指令,而是事先预取到指令缓冲器中紧随第令,而是事先预取到指令缓冲器中紧随第K条指令之后的指令条指令之后的指令(K+1),),这种情况称这种情况称第第K、K+1条指令之间发生了关联。条指令之间发生了关联。为避免出错,为避免出错,它们不能同时解释。它们不能同时解释。分析分析K+1执行执

6、行K 但是,由于但是,由于一次重迭一次重迭 两个操作是在同一时间解两个操作是在同一时间解释释(而指令而指令K+1是在指令是在指令K执执行完后才会产生行完后才会产生 无论发生何种相关,都会引起解释出错无论发生何种相关,都会引起解释出错/重迭效率下降,重迭效率下降,所以必须对相关进行正确处理。所以必须对相关进行正确处理。本讲稿第七页,共四十页是由于在程序执行过程中机器指令允许被修改而引起(如上所讲的:是由于在程序执行过程中机器指令允许被修改而引起(如上所讲的:K+1指令被指令被K指令执行后修改了)。所以为避免出现指令执行后修改了)。所以为避免出现“指令相关指令相关”,不,不允许在程序运行过程中修改

7、机器指令,允许在程序运行过程中修改机器指令,二、进行相关处理(二、进行相关处理(Correlation)的若干方法的若干方法指令相关处理:指令相关处理:将必须要修改的指令转变成为将必须要修改的指令转变成为“执行执行”指令的操作数处理指令的操作数处理。见 书书P182本讲稿第八页,共四十页 主存空间数相关的处理主存空间数相关的处理 主存空间数据相关主存空间数据相关:两相邻指令之间出现对主存同一单元要两相邻指令之间出现对主存同一单元要求求先写而后读先写而后读的关联。的关联。处理:当有处理:当有CPU访存和通道访存同时发生,出现访存冲突时,访存和通道访存同时发生,出现访存冲突时,由存储器控制器在每个

8、主存周期对所有访存请求进行优先权排队,由存储器控制器在每个主存周期对所有访存请求进行优先权排队,其中写数优先级别安排高于读数级别。当出现其中写数优先级别安排高于读数级别。当出现执行执行K(写数申请)写数申请)和分析和分析K+1(读数申请)读数申请)之间主存数相关时,之间主存数相关时,由存储器控制器将由存储器控制器将“分析分析K+1的读操作数推后一个主存周期执的读操作数推后一个主存周期执行。行。见书见书P183图图5、6本讲稿第九页,共四十页 通用寄存器组相关处理通用寄存器组相关处理 通用寄存器组可以存放操作数、运算结果,也可以存放基地址或通用寄存器组可以存放操作数、运算结果,也可以存放基地址或

9、变址值。在指令解释过程中,依它的不同用途,微操作执行时间是不变址值。在指令解释过程中,依它的不同用途,微操作执行时间是不同的,具体如下示意图(时间关系):同的,具体如下示意图(时间关系):分析周期分析周期 执行周期执行周期 指令:指令:存基存基/变址值变址值 取操作数用操作数取操作数用操作数 存结果存结果 (前半周期)(前半周期)(后半周期)(后半周期)(周期结尾(周期结尾)所以通用寄存器的数相关和基址所以通用寄存器的数相关和基址/变址值相关处理方法不同。变址值相关处理方法不同。执行分析本讲稿第十页,共四十页 由上分析,执行周期使用通用寄存器时间关系可知:由上分析,执行周期使用通用寄存器时间关

10、系可知:“分析分析K+1”取得的操作数(取得的操作数(L1)和(和(L2)并不是并不是“执行执行K”的结果。的结果。通用寄存器组相关处理方法:通用寄存器组相关处理方法:方法一:推后方法一:推后“分析分析K+1”到到“执行执行K”结束时。结束时。方法二:在运算器输出到方法二:在运算器输出到B、C寄存器之间增设相关专用通路寄存器之间增设相关专用通路 一次重迭如仍达不到速度要求,可用同时解释多一次重迭如仍达不到速度要求,可用同时解释多条指令的流水方式。条指令的流水方式。小结小结:本讲稿第十一页,共四十页 流水线是一种通过改进结构来提高程序解释速度的方流水线是一种通过改进结构来提高程序解释速度的方法。

11、法。处理机解释程序的方式有处理机解释程序的方式有 顺序方式顺序方式、重叠方式重叠方式、流水方式流水方式 等。等。顺序方式顺序方式 是解释完一条指令再开始解释下一条。是解释完一条指令再开始解释下一条。流水方式流水方式 是指:是指:把一条指令的解释过程分解为若干个子过程,把一条指令的解释过程分解为若干个子过程,每个子过程可以与其它子过程同时进行,以此提高单位时间内解释每个子过程可以与其它子过程同时进行,以此提高单位时间内解释指令的数目指令的数目;重叠方式重叠方式 是一种简单的流水方式,它把指令分成是一种简单的流水方式,它把指令分成2个子过程,个子过程,每条指令的执行过程只与下一条指令的分析过程相重

12、叠每条指令的执行过程只与下一条指令的分析过程相重叠。5.2 流流 水水 方方 式式本讲稿第十二页,共四十页5.流水技术一一.流水方式的特点流水方式的特点(1)(1)流水过程由多个相联系的子过程组成,每个流水过程由多个相联系的子过程组成,每个子过程称为流水线的子过程称为流水线的“级级”或或“段段”。“段段”的数目称为流水线的的数目称为流水线的“深度深度”。(2)(2)每个子过程由专用的功能段实现;每个子过程由专用的功能段实现;(3)(3)各个功能段所需时间应尽量相等,否则,时间长的功各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的能段将成为流水线的瓶颈,会造成

13、流水线的“堵塞堵塞”和和“断流断流”。这个时间一般为一个时钟周期(拍);。这个时间一般为一个时钟周期(拍);本讲稿第十三页,共四十页(4)(4)流水线需要有流水线需要有“通过时间通过时间”(建立时间建立时间),),即第一即第一个任务流出结果所需的时间,在此之后流水过程才个任务流出结果所需的时间,在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一进入稳定工作状态,每一个时钟周期(拍)流出一个结果;个结果;(5)(5)流水技术适合于大量重复的时序过程,只有输入端流水技术适合于大量重复的时序过程,只有输入端能连续地提供任务,流水线的效率才能充分发挥。能连续地提供任务,流水线的效率才能充分

14、发挥。本讲稿第十四页,共四十页本讲稿第十五页,共四十页本讲稿第十六页,共四十页浮点加法流水线浮点加法流水线 书书P158P158本讲稿第十七页,共四十页时空图从时间和空间两个方面描述了流水线时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。标代表流水线的各个段。时间段号S5S4S3S2S18888877777666665555544444333332122221111二二.流水线时空图(参见书流水线时空图(参见书P156.P159)本讲稿第十八页,共四十页本讲稿第十九页,共四十页段号段号段号43542

15、13432238765432111111118888887777776666665555554444434333332222222(c)流水段重复的时空图(b)流水段细分后的时空图(a)原流水线时空图时间时间时间S4S4S4S3cS3cS3S3bS3bS2S1S1S2S2S3aS3aS188877766655544433321221111时空图3a本讲稿第二十页,共四十页流水线可以按不同的观点进行分类。流水线可以按不同的观点进行分类。分为五类分为五类 n操作部件级,处理器级操作部件级,处理器级,系统级系统级n单功能,多功能单功能,多功能n静态,动态静态,动态n线性,非线性线性,非线性n标量,向

16、量标量,向量三三.流水线的分类流水线的分类 见书见书P156本讲稿第二十一页,共四十页依向上扩展和向下扩展的思路分,在计算机系统不同等依向上扩展和向下扩展的思路分,在计算机系统不同等级上使用流水线,级上使用流水线,部件级流水:部件级流水:指构成部件内的各子部件间的流水(指构成部件内的各子部件间的流水(ALU内的浮点内的浮点加。加。Cache和多体并行主存之间)。和多体并行主存之间)。处理机级流水:处理机级流水:指构成处理机的各部件之间的流水(如指构成处理机的各部件之间的流水(如“取指取指”、“分析分析”、“执行执行”。系统级流水:系统级流水:也称宏流水,指构成计算机系统的多处理机之间的也称宏流

17、水,指构成计算机系统的多处理机之间的流水。流水。流水按处理的级别分可分为部件级、处理机级和系流水按处理的级别分可分为部件级、处理机级和系统级。统级。本讲稿第二十二页,共四十页 从流水线具有功能的多少来看,可分为单功能从流水线具有功能的多少来看,可分为单功能/多功能流水线。多功能流水线。单功能流水线单功能流水线 (unification pipelining):即一条流水线只能完成即一条流水线只能完成一种固定的功能(如只能实现浮点数加一种固定的功能(如只能实现浮点数加/减的流水线)。当要实现减的流水线)。当要实现多种不同功能时,可采用多条单功能流水线组合。多种不同功能时,可采用多条单功能流水线组

18、合。多功能流水线多功能流水线 (multifunction pipelining):指流水线的各段可指流水线的各段可进行不同的连接,在不同进行不同的连接,在不同/相同的时间内,通过不同的连接方式实现不同相同的时间内,通过不同的连接方式实现不同的功能。的功能。例如:例如:TI ASC的多功能流水线的多功能流水线本讲稿第二十三页,共四十页本讲稿第二十四页,共四十页静态流水线与动态流水线静态流水线与动态流水线按在同一时间内,能否将多功能流水线连接成多种方式,同时按在同一时间内,能否将多功能流水线连接成多种方式,同时使多种功能并行执行来划分。使多种功能并行执行来划分。动态流水线动态流水线(dynami

19、c pipelining):指在同一时间段,多功能流水线中各段可按不同方式连指在同一时间段,多功能流水线中各段可按不同方式连接,接,同时执行多种功能(各种功能之间无冲突)。同时执行多种功能(各种功能之间无冲突)。本讲稿第二十五页,共四十页 静态流水线静态流水线(static pipelining):指在某一时间段内,指在某一时间段内,多功能流水线中的各功能段多功能流水线中的各功能段只能按一只能按一种方式连接,实现一种固定功能。种方式连接,实现一种固定功能。只有当按这种连接方法只有当按这种连接方法实现的所有功能操作全部完成(流水线流完),才能切换成实现的所有功能操作全部完成(流水线流完),才能切

20、换成(按另一种功能)别的连接,以实现另外的功能。(按另一种功能)别的连接,以实现另外的功能。本讲稿第二十六页,共四十页以机器所具有的数据表示划分以机器所具有的数据表示划分标量流水机;标量流水机;没有向量数据表示,只能用标量循环方没有向量数据表示,只能用标量循环方式来处理向量和数组。式来处理向量和数组。向量流水机:向量流水机:是向量数据表示和流水技术的结合。机是向量数据表示和流水技术的结合。机器有向量数据表示,设置有向量指令和向量运算硬件,能流器有向量数据表示,设置有向量指令和向量运算硬件,能流水地处理向量和数组中的各个元素水地处理向量和数组中的各个元素。标量流水机和向量流水标量流水机和向量流水

21、本讲稿第二十七页,共四十页(亦称顺序和乱序流水线)(亦称顺序和乱序流水线)依流水线中各功能段之间是否有反馈回路划分依流水线中各功能段之间是否有反馈回路划分线性流水线:线性流水线:流水线各段串行连接,一次流水各段只经过一流水线各段串行连接,一次流水各段只经过一次,没有反馈回路(各任务在流水线中按输入顺序一个任务段接着次,没有反馈回路(各任务在流水线中按输入顺序一个任务段接着一个任务段的流动)。一个任务段的流动)。非线性流水线:流水线除了有串行联接通路外,还有反馈回路,使非线性流水线:流水线除了有串行联接通路外,还有反馈回路,使任务段经流水线可多次经过某个段或越过某些段。任务段经流水线可多次经过某

22、个段或越过某些段。线性线性/非线性流水非线性流水1432举例:举例:本讲稿第二十八页,共四十页 主要性能:主要性能:吞吐率吞吐率(Throughput Rate TP)和效率和效率(Efficiency)定义;定义;吞吐率:吞吐率:即单位时间内机器能处理的最多指令条数或即单位时间内机器能处理的最多指令条数或 机器机器能输出的最多结果数。、能输出的最多结果数。、四、流水线处理机的主要性能(性能分析)四、流水线处理机的主要性能(性能分析)对于线性流水线,如果各个子过程所需要的时间分别是对于线性流水线,如果各个子过程所需要的时间分别是 ,则线性流水线的,则线性流水线的最大吞吐率为最大吞吐率为:tTP

23、D D=1maxmaxtttmi,.,.,11D DD DD Dtttmi,.,.,1D DD DD D本讲稿第二十九页,共四十页考虑以下几种情况的最大吞吐率考虑以下几种情况的最大吞吐率顺序解释顺序解释:一条指令的执行时间由个:一条指令的执行时间由个t完成。完成。采用一次重迭解释:采用一次重迭解释:机器每隔一个机器每隔一个t 就能输就能输出一条指令执行结果,机器最大吞吐率提高了一倍。出一条指令执行结果,机器最大吞吐率提高了一倍。流水线达到不间断流水的稳定状态后可获流水线达到不间断流水的稳定状态后可获得的吞吐率。得的吞吐率。最大吞吐率最大吞吐率:本讲稿第三十页,共四十页 T=2t,则每隔则每隔t

24、=T/2输出一个结果输出一个结果 T=4t,则每隔则每隔t=T/4输出一个结果输出一个结果 如果一条指令由如果一条指令由m个子部件完成,个子部件完成,T=mt,则每隔则每隔 t=T/m输出一个结果输出一个结果 机器最大吞吐率取决于子过程经过的时间机器最大吞吐率取决于子过程经过的时间t,t越小,机器最大吞越小,机器最大吞叶率就越高。叶率就越高。注意:这里的讨论忽略了流水线的建立时间,如前面例,建立时间注意:这里的讨论忽略了流水线的建立时间,如前面例,建立时间为为3t 一条指令执行时间为一条指令执行时间为采用流水进行指令解释:个子过程,如下分析采用流水进行指令解释:个子过程,如下分析:本讲稿第三十

25、一页,共四十页机器最大吞吐率取决于子过程经过的时间机器最大吞吐率取决于子过程经过的时间t t,t t越小,越小,机器最大吞叶率就越高。机器最大吞叶率就越高。同时,它受限于流水线中最慢子过程(同时,它受限于流水线中最慢子过程(瓶颈子过程瓶颈子过程)所经)所经过的时间。过的时间。“瓶颈瓶颈”问题:问题:本讲稿第三十二页,共四十页方法一:见书方法一:见书P161图图5、21(a)、(b)将将“瓶颈瓶颈”子过程再细分成更小的子过程,使各子子过程再细分成更小的子过程,使各子过程均使用时间过程均使用时间t0。则最大吞吐率得以提高。如图所示:则最大吞吐率得以提高。如图所示:流水线瓶颈的解决流水线瓶颈的解决方

26、法二:见书方法二:见书P161图图5、22(a)、(b)当不能细分瓶颈过程时,可重复设置多套瓶颈段并联,使当不能细分瓶颈过程时,可重复设置多套瓶颈段并联,使它们交叉并行。每隔一个它们交叉并行。每隔一个t0轮流给其中一个瓶颈段分配任轮流给其中一个瓶颈段分配任务,使整个流水线仍可每隔一个务,使整个流水线仍可每隔一个t0解释完成一条指令。解释完成一条指令。如图所示如图所示本讲稿第三十三页,共四十页流流 水水 线线 瓶瓶 颈颈 的的 解解 决决(c)瓶颈段重复设置部件图8-2 消除流水线瓶颈段的两种方法消除流水线瓶颈段的两种方法3DtDtDtDt瓶颈段细分(a)原流水线,第 3 段为瓶颈(b)3c3b

27、3aDtDtDtDtDtDt3DtDtDtDt方方法法一一方方法法二二本讲稿第三十四页,共四十页(c)瓶颈段重复设置部件图8-2 3DtDtDtDt瓶颈段细分(a)原流水线,第3 段为瓶颈(b)3c3b3aDtDtDtDtDtDt3DtDtDtDt方方法法一一方方法法二二本讲稿第三十五页,共四十页 流水线实际吞吐率的分析流水线实际吞吐率的分析在实际工作过程中,实际吞吐率在实际工作过程中,实际吞吐率TP是小于是小于Tpmax。因为有:流水线开始需要因为有:流水线开始需要建立时间建立时间;流水结束需;流水结束需排空时排空时间间;输入流水线的任务;输入流水线的任务不一定连续不一定连续;数据的相关处理

28、及多;数据的相关处理及多功能流水线的功能流水线的某些功能段跳过某些功能段跳过等因素影响。等因素影响。经书经书P160162对对TP实实的公式分析,可得结论;采用流的公式分析,可得结论;采用流水方式,且任务水方式,且任务n要要任务子过程段数任务子过程段数m,才可使实际才可使实际吞吐率接近于吞吐率接近于TP最大最大本讲稿第三十六页,共四十页对于线性流水线,完成对于线性流水线,完成n个任务所需时间为个任务所需时间为T=mD Dt+(n-1)D Dt,实际吞吐率为:实际吞吐率为:本讲稿第三十七页,共四十页2.加速比加速比流水方式的工作速度与等效的顺序工流水方式的工作速度与等效的顺序工流水方式的工作速度

29、与等效的顺序工流水方式的工作速度与等效的顺序工 作方式时间的比值。作方式时间的比值。作方式时间的比值。作方式时间的比值。见书见书见书见书P162P162对于线性流水线对于线性流水线对于线性流水线对于线性流水线:本讲稿第三十八页,共四十页整个运行时间整个运行时间流水线中设备实际使用流水线中设备实际使用时间时间3、效率、效率:用工作时间的时空区与流水线中各段总的时空区用工作时间的时空区与流水线中各段总的时空区用工作时间的时空区与流水线中各段总的时空区用工作时间的时空区与流水线中各段总的时空区之比之比之比之比来表示来表示。流水线效率也称流水线设备时间利流水线效率也称流水线设备时间利用率。用率。本讲稿第三十九页,共四十页从时空图中看:效率实际上就是从时空图中看:效率实际上就是n个任务占用的时空区面积与个任务占用的时空区面积与m个段个段总的时空区面积之比。总的时空区面积之比。与实际吞吐率与实际吞吐率TP实实一样,只有当一样,只有当nm时,效率时,效率才趋于才趋于1。对于线性流水且每段经过时间相等时,流水线的效率正比于吞吐对于线性流水且每段经过时间相等时,流水线的效率正比于吞吐率。率。本讲稿第四十页,共四十页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁