wf-流水线技术-相关.ppt
文本预览下载声明
(1) 指令发射(issue):指令从译码段(ID)进入 执行段(EX)。 相应的指令称为已发射的指令。 (2) DLX整数流水线中,可以在ID段检测所有的 数据相关; 若数据相关,则在指令发射前,让其暂停。 (3) 在ID段确定需要什么样的定向,并设置相应控制; 这样能减少硬件复杂度(因为不必挂起已 改变了机器状态的指令)。 6. 对DLX流水线控制的实现 3.3 流水线中的相关 (4) 也可以在需要用到操作数的那个时钟周期检测 相关或定向;(5) 举例说明: ◆ 由Load指令引起的RAW相关的互锁(简称Load 互锁)可以通过ID段的检测来实现; ◆ 到ALU输入的定向可以在EX段实现。 3.3 流水线中的相关 Load互锁 ◆ 流水线相关硬件可以检测到的各种相关情况 可以看出,仅需把Load指令的目的寄存 器地址与Load指令后的两条指令的源寄存器 地址进行比较。 ◆ 当检测到相关后,控制部件必须在流水线中 插入暂停周期,并使IF和ID段中的指令停止 前进。 将ID/EX中的控制部分清“O”。 IF/ID内容回送到其自身入口。 3.3 流水线中的相关 3.3.3 流水线的控制相关 1. 分支指令的执行结果 一、分支引起的暂停及减少分支开销的方法 ◆ 转移失败:PC值加4◆ 转移成功:将PC值改变为转移目标地址 到MEM段的末尾才改变 一旦检测到分支指令(在ID段),就暂停执行其后的指令,直到分支指令到达MEM段,确定出新的PC值为止。 2. 处理分支指令最简单的方法 3.3 流水线中的相关 在DLX流水线中,分支转移成功导致暂停3个时钟周期。 若分支指令的频度为30%,理想CPI=1, 则 实际CPI=1+30%×3≈2 3. 减少分支开销的两种途径 ◆ 在流水线中尽早判断分支转移是否成功;◆ 转移成功时,尽早计算出转移目标地址。两者应同时采用,缺一不可。 对于DLX作如下改进:(1) 把“=0?”测试移至ID段; 3.3 流水线中的相关 (2) 在ID段增设一个加法器,这样可以把分支 开销减少一拍。 改进后流水线的分支操作 (表3.5) 3.3 流水线中的相关 三、减少流水线分支损失的方法 (4种简单的静态方法,编译时预测) 1. “冻结”或“排空”流水线 在流水线中停住或删除分支后的指令, 直到知道转移目标地址。 优点:简单。 2.预测分支失败 ◆ 流水线继续照常流动,就像没发生什么似的。 3.3 流水线中的相关 ◆ 在知道分支结果之前,分支指令后的指令不 能改变机器状态,或者改变了之后能够回退。◆ 若分支失败,则照常执行;否则,从转移目 标处开始取指令执行。 DLX流水线的处理过程 3.3 流水线中的相关 3. 预测分支成功 ◆ 假设分支转移成功,并开始从分支目标地址 处取指令执行。 ◆ 起作用的前题:先知道分支目标地址,后知 道分支是否成功。 ◆ 对DLX流水线没有任何好处。 3.3 流水线中的相关 4. 延迟分支 (delayed branch) (1) 基本概念 把分支开销为n 的分支指令看成是延迟长 度为n 的分支指令,其后紧跟有n 个延迟槽。 流水线遇到分支指令时,按正常方式处理,顺 带执行延迟槽中的指令,从而减少分支开销。 延迟分支以及指令的执行顺序 3.3 流水线中的相关 (2) 具有一个分支延迟槽的DLX流水线的执行过程 分支延迟槽中的指令“掩盖”了流水线原来 必需插入的暂停周期。 3.3 流水线中的相关 * * DLX的基本流水线 1、流水线的基本概念 第五章 标量处理机 2、流水线性能分析 3、流水线中的相关 4、流水线调度 1.相关的概念 流水线中的相关是指相邻或相近的两条指令因存在某种关联,后一条指令不能在原指定的时钟周期开始执行。 3、流水线中的相关 ◆ 数据相关 当一条指令需要用到前面某条指令的结 果,从而不能重叠执行时,就发生了数据相关。 ◆ 控制相关 当流水线遇到分支指令和其他能够改变 PC值的指令时,就会发生控制相关。 ◆ 结构相关 当硬件资源满足不了同时重叠执行的指令的要求,而发生资源冲
显示全部