为了实现“分析”和“执行”分别连续进行,8086微处理器把 CPU分为总线接口部件和执行部件,且设置一个指令队列,可在执 第k条指令时由总线接口部件预取第k+1、k+2甚至k+2条指令。 以上可见,先行控制技术实 主存 质上是预取处理技术和缓冲技 存储控制器 术的结合,缓冲部件一般采用 指令 读数据 写数据 先进先出寄存器,其个数称为 缓冲栈 缓冲栈 缓冲栈 缓冲深度。先行控制逻辑如图[指令分析器 执行 4.7所示,其中缓冲区的深度 先行操作栈 部件 般应满足以下关系: 图4.7先行控制逻辑 D取指栈≥D操作数≥D读栈≥D写栈
为了实现“分析”和“执行”分别连续进行,8086微处理器把 CPU分为总线接口部件和执行部件,且设置一个指令队列,可在执 行第k条指令时由总线接口部件预取第k+1、k+2甚至k+2条指令。 图4.7 先行控制逻辑 以上可见,先行控制技术实 质上是预取处理技术和缓冲技 术的结合,缓冲部件一般采用 先进先出寄存器,其个数称为 缓冲深度。先行控制逻辑如图 4.7所示,其中缓冲区的深度一 般应满足以下关系: D取指栈≥D操作数≥D读栈≥D写栈
4.2标量流水线工作原理 4.2.1标量流水线工作原理 4.2.2标量流水线分类 4.2.3流水线性能分析 4.2.4流水线中的主要障碍 4.2.5流水线的实现与控制 4.2.6流水线的动态调度
4.2 标量流水线工作原理 4.2.1 标量流水线工作原理 4.2.2 标量流水线分类 4.2.3 流水线性能分析 4.2.4 流水线中的主要障碍 4.2.5 流水线的实现与控制 4.2.6 流水线的动态调度
4.2.1标量流水线工作原理 1标量流水线工作原理 如果能把指令的执行过程细分为五个部分,如图4.8所示。这五 个部分由相应的硬件来实现,因此也称为五个子过程或状态,用S表 示。这样,前一条指令只要走出第一子过程,就可以读取下一条指令 于是,构成标量流水线工作方式 IF EX MEM WB 输入一取指 译码 执行 访存 写 输出 图48流水过程示意图
4.2.1 标量流水线工作原理 1.标量流水线工作原理 如果能把指令的执行过程细分为五个部分,如图4.8 所示。这五 个部分由相应的硬件来实现,因此也称为五个子过程或状态,用Si表 示。这样,前一条指令只要走出第一子过程,就可以读取下一条指令 ……。于是,构成标量流水线工作方式。 图4.8 流水过程示意图
设每子过程时间相同,指令流入,经过五个子过程后从输出端流出 若用二维坐标表示,即可构成如图49乐示时空图,即空间与时间之间的二 维关系图。在理想情况下每经一个时钟周期指令向右移动格,新的指令从 左边进入。经过4个时钟周期后五个部件全部工作,其中前4个时钟周期称为 填入阶段;以后,称为填满,即正常工作;最后,各条指令—退岀,称为 排空阶段 若用m表示部件或空间段数,整个时间可为两个部分。m提第一条指 流出时间,即流出第一个结果的时间;以后(n1)△冲,每经拍流出 个结果 填满(正常 排空 (段号) sss L I n t2 I3 44 Ir-1 In (n1)△ 图49流水线各段组成与时空图
设每一子过程时间相同,指令流入,经过五个子过程后从输出端流出, 若用二维坐标表示,即可构成如图4.9所示时空图,即空间与时间之间的二 维关系图。在理想情况下每经一个时钟周期指令向右移动一格,新的指令从 左边进入。经过4个时钟周期后五个部件全部工作,其中前4个时钟周期称为 填入阶段;以后,称为填满,即正常工作;最后,各条指令一一退出,称为 排空阶段。 若用m表示部件或空间段数,整个时间可为两个部分。m△t是第一条指 令流出时间,即流出第一个结果的时间;以后(n-1)△t中,每经一拍流出 一个结果。 图4.9 流水线各段组成与时空图
2.流水线工作特点 概括起来,流水线的工作特点主要有以下几点: (1)一条流水线通常由多个流水段组成; (2)在每个流水段有专门的功能部件,对指令进行某种加 工处理; (3)流水线的工作一般分为三个阶段,即建立(填入)、填 满和排空; (4)在理想情况下,各流水段所需要的时间是相等的,流水 线填满后每隔4时间就会有一个结果流出流水线
2.流水线工作特点 概括起来,流水线的工作特点主要有以下几点: (1)一条流水线通常由多个流水段组成; (2)在每一个流水段有专门的功能部件,对指令进行某 种加 工处理; (3)流水线的工作一般分为三个阶段,即建立(填入)、填 满和排空; (4)在理想情况下,各流水段所需要的时间是相等的,流水 线填满后每隔△t时间就会有一个结果流出流水线