计算机组织与结构第7章

上传人:我** 文档编号:116804007 上传时间:2019-11-17 格式:PPT 页数:98 大小:3.43MB
返回 下载 相关 举报
计算机组织与结构第7章_第1页
第1页 / 共98页
计算机组织与结构第7章_第2页
第2页 / 共98页
计算机组织与结构第7章_第3页
第3页 / 共98页
计算机组织与结构第7章_第4页
第4页 / 共98页
计算机组织与结构第7章_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《计算机组织与结构第7章》由会员分享,可在线阅读,更多相关《计算机组织与结构第7章(98页珍藏版)》请在金锄头文库上搜索。

1、第7章 重叠与流水方式 任课教师:李静梅 主要内容 1.重叠解释方式的基本思想 2.相关处理方法 3.流水方式 4.流水机器的相关处理和流水线调度 7.1 重叠解释方式的基本思想 计算机组成设计为了加快机器语言的 解释过程,通常采取: 选用更高速的器件、采用更好的运算方 法、提高指令内各微操作的并行程度、 减少解释时所需要的拍数。 通过控制机构同时解释两条或多条以至 整段程序也可以加快机器语言的解释方 式。 7.1.1 微操作解释方式 一条机器指令的执行通常可以分为取指、分析 与执行三个阶段。 取指:按主存地址访主存,取该指令送入指令 寄存器。 分析:对操作码进行译码,按操作数的寻址方 式取操

2、作数(可能访主存,也可能访寄存器)。 取指分析执行 执行:对操作数进行处理和运算,或存结果( 此时,又可能访主存)。 在这三个阶段中的每一个阶段都有可能发生 对主存的访问。 7.1.2 顺序解释与重叠解释 1顺序解释: 如果机器指令的解释是顺序实现的,则三条相邻 的指令的执行过程就应该为: 下一条指令的地址,总是在本条指令的末尾形成 的。由此,容易得到这种顺序解释方式的优点与不 足。 优点:控制简单。 缺点:速度慢,部件的利用率低。 例如: 主存 运算器 取指或取操作数 忙 空闲的 对操作数运算 空闲的 忙 2重叠解释:在解释第k条指令的操作完成之前, 就可以开始解释第k+1条指令。 注意:重

3、叠并不能加快一条指令的执行,但可以加快 相邻两条以至一段程序的总的解释时间。 当然,这仅仅是重叠的一种方式,还有诸如I/O指令 与其它指令间的重叠等,例如通道处理机方式也属于 重叠的一种方式。 7.1.3 重叠对计算机组成的要求 1访主存冲突:由于通常指令和操作数混存在同一 主存内,而且主存同时只能访问一个存储单元。如 果不解决访主存冲突,则分析k与取指k + 1便无法 实现重叠。 (1)指令和数据分体存放,且独立 编址,两个分体要满足可同时访问。 解决方法: (2)指令和数据分体存放,但统一编 址,只要不发生分体冲突即可。 (3)增设指令缓冲寄存器,如下图所示 。 2部件要独立:要有独立的指

4、令分析部件 地址 加法器。 独立的指令执行部件 操作数加 法器。 3控制上要同步:尽管“分析”与“执行”所需的 时间可能不同,但只要在硬件上解 决好同步问题,还是可以做到一次 重叠的。下图所示的指令的分析与 执行所需的时间并不相同,但仍然 存在一定时间上的重叠机会,所以 ,只要能做到控制上的同步操作, 重叠执行仍然可以实现。 一次重叠的好处:省硬件,只需一套分析部件和 执行部件,控制简单。 多次重叠:多套相同功能部件,当然控制会复杂 化,如果一次重叠满足不了速度上的要求,可采 用流水。 4减少条件转移指令的使用:在下图中,由于存 在条件转移指令,所以可能会造成流水线的停顿 现象,为此要求在程序

5、中尽量少用条件转移指令 以避免降低流水线的效率。 5相关问题 指令相关 数相关 寄存器相关 相关:由于程序中的邻接机器指令之间出现某 种关联,使得它们同时被解释,可能出错的现象 。 (1)指令相关:如果经第k条指令的执行形成第 k+1条指令,即指令在执行时是允许被修改的,则 会发生指令相关。 因为在第k条指令的末尾才形成k+ 1条指令, 而按照一次重叠,分析k+1所分析的是早已取入指 缓的旧内容,故会出错。显然,指缓越大,发生 指令相关的概率也越高,为了判断与哪些指令相 关的比较次数也越多,这些势必会影响机器的整 体效率。 (2)数相关:在下图中存在着数据相关现象,即 第K条指令的运算结果正好

6、是第K+1条指令所需要 的操作数。那么在顺序解释阶段,这样的相邻指 令在执行过程不会产生问题。但在重叠解释过程 中,由于上一条指令的执行结果还没有存回相应 的目的地址中时,下一条指令已经目的单元地址 中的旧数据取出并进行了分析,所以会产生错误 。这便是数据相关。 7.2.1 指令相关的处理 一旦发生指令相关,就得让取进指缓的相关指令 作废,并发生重取、更换指缓中内容的情况。这 会使操作控制复杂,增加了辅助操作时间,还要 花一个主存周期去访存重新取指,速度受到影响 。 解决方法1:不允许修改指令。 解决方法2:增设新指令“执行指令”,将指令相 关变成数相关,统一用处理数相关的方法来解决 。 7.

7、2 相关处理方法 例如:IBM 370机为了解决指令相关,新增加了一 条“执行指令”,该指令的格式为: 有了这条新指令的代码编写如下图所示。操作数 区的“逻辑或”运算提高了指令被修改的灵活性 。 执行R1X2B2D2 7.2.2主存空间数相关的处理 主存空间数相关是指相邻两条指令之间出现要求 对同一主存单元先写入而后再读出的关联,如下 图所示。 解决方法:推后读。即由存控将“写数”的 优先级高于“读数”的优级即可如下图所示。这 种解决问题的方式是以牺牲时间为代价的。 7.2.3通用寄存器组相关的处理 设机器的指令格式为: L1,L2,L3分别为第一、第二和结果寄存器代号。 B2:存放基值或变址

8、值的寄存器代号。 D2:相对位移量。 操作码L1L3B2D2 操作码L1L3L2 通用寄存器在不同的应用中,所对应的微操作的 执行时间是不相同的,如下图所示。正是由于寄 存器在应用中可能用做基址变址值或用于存放操 作数,所以,它们被强制要求在一条指令的不同 阶段准备好就可以了。 正因为要求它们准备好数据的时间不同,对通用 寄存器数相关与通用寄存器基址/变址相关的处理 方法也有所不同。 通用寄存器组相关分为: 1通用寄存器数相关 2通用寄存器基址/变址值相关 1通用寄存器数相关:设“分析”与“执行”的周 期与主存周期都是4拍,如下图所示,其中B和C是 运算器中的两个寄存器。 假定通用寄存器做在一

9、个片子上,且发生了: L1相关:L1 (k + 1) = L3 (k) L2相关:L2 (k + 1) = L3 (k) 解决措施: 推后4拍: 推后2拍 : 以牺牲速度,不增加硬件为前提。 (2)设置相关专用通路:通过增加硬件专用通路的 方式解决相关问题,如下图所示。 在上图中,当发生L1和L2相关时,让相关专用通路 接通,“执行k”的结果送通用寄存器组的同时, 也回送到B或C寄存器。就是说,原先将通用寄存 器的旧内容经数据总线分别在“分析k+1”的第3 拍或第4拍末送入了B或C中,但之后经相关专用通 路在“执行k+1”真正用它之前,B和C又重新获得 了第k条指令送来的新结果。 相关概率高时

10、,可采用相关专用通路。像主存数 相关要比寄存器组数相关低得多,所以通常采用 推后读。 2寄存器组基址值或变址值相关:下图是典型的 通用寄存器基值变址值相关。 B的一次相关:B(k+1)=L3(k) B的二次相关:B(k+2)=L3(k) 由于运算结果是在“执行”周期的末尾送于通用 寄存器组的,它不可能立即出现在通用寄存器输 出总线上。即k的运算结果来不及作为“分析 k+2”的基址值用,当然分析k+1就更来不及。 解决措施:(1)推后读 (2)设置相关专用通路 (1)推后读:该方法解决相关时的推后情况如下图 (a)、(b)所示。只需推后到分析K+2或K+1开始执 行时,K的运算结果出现在寄存器的

11、输出总线上即 可。 (a) B二次相关的推后处理 (b)B一次相关的推后处理 (2)增设相关专用通路:如下图所示。相关专用通 路只是节省了在上图中的虚线圆卷这部分的推后 读时间,对B的一次和B的二次相关都如此。 7.3 流水方式 7.3.1基本概念 1.流水是重叠的引申 一次重叠是把一条指令的解释分解为两个子过程 ,分析和执行,而流水则是分解为多个子过程, 如下图所示。前者同时解释两条指令,而后者可 同时解释多条指令,但两种方式都只需一套硬件 设备,所以叫一次重叠,否则叫多次重叠。 一次重叠的指令流水线 将分析过程进一步分解为取指令和指令译码, 将执行也分解为取操作数和执行,且假定每个子 过程

12、的执行时间 , =1/2* ,则指令流水 线的时空图如下图(b)所示。 (a)指令解释的流水处理 (b)流水线时-空图 最大吞吐率Tp max:单位时间内机器所能处理 的最多指令数或机器能输出的最多结果数。 流水线正常满负荷工作时,才能每隔t时间 流出一个结果,达到最大吞吐率。但流水线总有 第一条指令的建立时间和最后一条指令的排空时 间,这段时间里,流水线并没有结果输出,所以 通常Tp m时,才 能使实际吞吐率TP接近于理 想的最大吞吐率TP max。 3.加速比SP:加速比用来表明采用流水处理后速 度提高的程度。 可见:仅当n m时,SP才趋于最大值m,即流水 处理的效率能提高到是顺序处理效

13、率的m倍。m是 流水线上的子过程数或段数。 极端情况:n=1时,由于m的增多,锁存器也增多 ,从而实际上增大了任务从流入到流出的流水线 通过时间,以至于其速度反而比顺序串行的还要 低。 当m段中的各段时间 不等时,设 ,则有: 4效率 效率 :也称流水线设备的时间利用率,是设备 实际使用时间占整个设备运行时间的比值。 如果是线性流水线,且m段的经过时间都相同,都 是 ,共处理n条指令,如下图所示。其中 , 表示第i个设备的总的工作时间, 表示第i个设备 的效率,表示流水线的平均效率。 第i个设备的效率图 由上图可知: 即只有n m时, 当然, 当流水线各段经过时间不等时,各段的效率也会 不等,

14、平均效率与每段的效率有关。 =(n个任务实际占用的时-空区域)/(m个段占用 的总的时-空区域) 加权问题:由于各子过程的重要性、数量、价格 等的不同,而赋以不同的权值 ,则有: 例1:流水线工作举例,设有A和B两个向量,各含有 4个元素,求向量的点积 要求在已知的静态 双功能流水线上完成运算,同时画出时-空图,并 求该流水线的Tp、Sp和 解:根据已知条件可知, , 则有 即A与B的点积结果C只含有一个元素C11,为了 求得该结果需做4次乘法和3次加法运算。如果中 间输出结果可直接反馈到输入端或暂存,延迟时 间即可忽略不计,则求解过程如下图。 例1的时-空图 虽然设备利用率不足1/3,但解题

15、速度却提高为串 行的1.6倍。 例2:假设一条指令的解释可分为取指、分析和执 行3步,每步的时间相应地位t取指、t分析和t执行。 (1)分别计算下列三种情况下,执行完100条指令 所需时间的一般关系式: 顺序执行。 仅“执行k”和“取指k+1”的一次重叠。 “执行k”、“分析k+1”和“取指k+2”的 重叠。 (2)分别在 t取指=t分析=2,t执行=1 t取指= t执行=5,t分析=2的情况下,求上述a、 b、c的各结果。 情况b的一般图形表现方式 情况c的一般图形表现方式 解: (1)通过左图表现方式可知: T =100*(t取指 +t分析 +t执行 ) T =t取指 +100 * t分析

16、 +99*maxt取指, t执行+t执行 T =t取指 +maxt分析,t取指 +98*maxt取指,t分析, t执行 + maxt执行,t分析+t执行 (2)把具体数值代入(1)的表 达式,求结果即可。 例3:某流水线由4个功能部件组成,每个功能部 件的延迟时间均为 。当输入10个数据后,间歇 5 ,又输入10个数据,如此周期性地工作,若连 续输入m组数据,求此时流水线的吞吐率,并画出 时-空图。 解:根据已知条件,画出时-空图如下图所示 根据时-空图,容易计算出: 例4:有一具有双输入端的静态加、乘双功能流水 线,由1、2、3、4四个段构成,延时分别为 、 、2 和 ,“加法”由124组成,“乘法” 由134组成,输入可直接返回或锁存,现要求 (1)画出流水线结构图。 (2)画出

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号