1、第 5章 重叠、流水和向量处理机5.1 重叠方式5.2 流水方式5.3 向量的流水处理与向量流水处理机5.4 指令级高度并行的超级处理机本章重点:流水的性能分析及时空图 ,相关处理、流水线调度、向量指令流水的并行与链接。本章难点:针对所要求的重叠关系,计算全部指令完成的时间。根据题目要求画出功能静态流水时空图,计算吞吐率、效率和加速比。单功能非线性流水线的调度。向量指令间的并行、链接、串行的判断及所需拍数的计算。5.1 重叠方式5.1.1 基本思想和一次重叠一条指令的执行过程可以分为多个阶段, 如: 取指 分析 执行可以有多种处理方式:顺序执行、一次重叠、二次重叠 。1、顺序解释: 各条指令之
2、间顺序串行地进行;每条指令内部的各个微操作也顺序串行地进行。2、 解释一条机器指令的微操作可归并成 取指令,分析和执行 三个部份 执行 n条指令所用的时间为:如果每段时间都为 t, 则执行 n条指令所用的时间为: T=3nt对一条机器指令的解释 优点: 控制简单,节省设备。 缺点: 执行指令的速度慢,功能部件的利用率很低。3、指令的重叠: 是在解释第 K条指令的操作完成之前,就可开始解释第 K+1条指令。取指令 k 分析 k 执行 k 取指令 k+1 分析 k+1 执行 k+1取指 k+2 分析 k+2 执行 k+2取指 k+1 分析 k+1 执行 k+1取指 k 分析 k 执行 k重叠解释的
3、一种方式(二次重叠)4、重叠方式对计算机组成的要求 解决主存冲突问题(在同一时刻同时访问第 K条指令的操作数和第 K+1条指令的指令码): 一是把操作数和指令分别存放在两个独立的存储器;二是采用多体交叉主存系统;三是增设采用先进先出方式工作的指令缓冲寄存器。5、一次重叠: 指令分析部件和指令执行部件任何时候只有相邻两条指令在重叠解释的方法。分析 k 执行 k分析 k+1分析 k+2执行 k+1执行 k+2一次重叠工作方式“ 一次重叠 ” 解释的优点 :省硬件 ,简化控制 ,指令的执行时间缩短 ,功能部件的利用率明显提高。( 1)为了实现 “ 执行 k” 与 “ 分析 k+1 ” , 硬件还应有
4、独立的指令分析部件和指令执行部件; 以增加某些硬件为代价的。( 2)要解决因条件转移指令带来的重叠效率下降问题;采取延迟转移技术。( 3)要解决 “ 相关 ” 问题。5.1.2 相关处理1、基本概念 “ 相关 ” : 邻近指令之间出现关联,为了防出错让它们不能同时解释的现象; “ 数相关 ” : 邻近两条指令的数据地址有了关联; “ 指令相关 ” : 采用机器指令可修改的方法在第K条指令执行后才产生第 K+1条指令的现象。 即:为了避免出错,第 k、第 k+1条指令就不能同时解释。 2、 指令相关的处理: 禁止指令修改,还可另设置一条执行指令来解决程序设计灵活性。3、 主存空间数相关的处理:
5、推后读 。推后读是指若出现相邻两条指令之间出现对主存同一单元要求先写后读的关联。4、 通用寄存器组相关的处理 通用寄存器组数相关的处理方法: 推后 “ 分析k+1” 和设置 “ 相关专用通路 ” ,前面降低速度为代价,后者增加硬件成本为代价。设置 “ 相关专用通路 ” 是指第 K条指令的运算结果直接通有硬件专用通道回送到寄存器。通用寄存器组基址值或变址值相关的处理: 方法同上类拟,只不推后分析的推后时间不同及设置 “ 相关专用通路 ” 回写是到访存操作数地址形成机构。 5.2 流水方式5.2.1 基本概念1.流水是重叠的引申 流水 是重叠的引申:把指令的解释过程分为更多子过程; 取指令 指令译码 取操作数入 出执行指令解释的流水处理