概92指令流水线技术 理 6 PM 7 8 接 时间 米在 304040404020 第 4 务顺 A 版序 机 B 械 洗衣房的流水作业 业 17 三个阶段: 出 版 1.水洗(30) 社 片 2.烘干(40) 3.熨烫(20)午
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 9.2 指令流水线技术 洗衣房的流水作业 三个阶段: 1. 水洗(30) 2. 烘干(40) 3. 熨烫(20) A B C D 6 PM 7 8 9 任 务 顺 序 时间 30 40 40 40 40 20
9.21指令流水线 微机原理与接口技术·第4版机械工业出版社 又指 执行 取指 译码 执行 取指」译码}地址」执行」回写 S2 S3 S4 S5 指令读取 指令译码 地址计算 指令执行 结果回写
微机原理与接口技术·第4版机械工业出版社 9.2.1 指令流水线 取指 执行 取指 译码 执行 取指 译码 地址 执行 回写 S1 S2 S3 S4 S5 指令读取 指令译码 地址计算 指令执行 结果回写
薇1.流水线思想 理指令流水线技术:把执行指令这个过程分解成多 接个子过程,执行指令的功能单元也设计成多个相 技应的处理单元,多个子过程在多个处理单元并行 术 操作,同时处理多条指令 第 4>没有减少每个指令的执行时间 版 有助于减少整个程序(多条指令)的执行时间 机 >指令流水线开始需要“填充时间(Fil)”,最 业出版社 后有一个“排空时间( Drain) 要发挥流水线效率需要连续不断地处理指令 不要断流 时空图
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 1. 流水线思想 ➢ 指令流水线技术:把执行指令这个过程分解成多 个子过程,执行指令的功能单元也设计成多个相 应的处理单元,多个子过程在多个处理单元并行 操作,同时处理多条指令 ➢ 没有减少每个指令的执行时间 ➢ 有助于减少整个程序(多条指令)的执行时间 ➢ 指令流水线开始需要“填充时间(Fill)” ,最 后有一个“排空时间(Drain)” 要发挥流水线效率需要连续不断地处理指令 时空图
概2.流水线中的指令相关 理指令相关:指令之间存在相互依赖关系 常使下一条指令无法在设计的单位时间内执行 术 导致流水线的“断流”,性能降低 第有三种类型的指令相关 资源冲突:当指令重叠执行过程中,硬件资源 满足不了指令重叠执行的要求 亚·数据相关:在同时执行的多条指令中,一条指 出 令依赖前一条指令的执行结果(数据)无法得到 控制相关:流水线遇到分支指令或其他改变PC 值的指令 数据旁路预取分支目标分支预测
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 2. 流水线中的指令相关 ➢指令相关:指令之间存在相互依赖关系 常使下一条指令无法在设计的单位时间内执行 导致流水线的“断流” ,性能降低 ➢有三种类型的指令相关 资源冲突:当指令重叠执行过程中,硬件资源 满足不了指令重叠执行的要求 数据相关:在同时执行的多条指令中,一条指 令依赖前一条指令的执行结果(数据)无法得到 控制相关:流水线遇到分支指令或其他改变PC 值的指令 数据旁路 预取分支目标 分支预测
9.2.280486的指令流水线 理>5级指令流水线,每级1个时钟周期 苔①P指令预取( prefetch) 术 ②D1指令译码1( decode stage1) 第对所有操作码和寻址方式信息进行译码 版③D2指令译码2( decode stage2) 机 械 将操作码扩展为ALU控制信号,存储器地址计算 ④EX指令执行( execute) 版完成AL操作和 ICache存取 社 ⑤WB回写( write back) 更新在EX步骤得到的寄存器数据和状态标志
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 9.2.2 80486的指令流水线 ➢5级指令流水线,每级1个时钟周期 PF⎯⎯指令预取(prefetch) D1⎯⎯指令译码1(decode stage 1) 对所有操作码和寻址方式信息进行译码 D2⎯⎯指令译码2(decode stage 2) 将操作码扩展为ALU控制信号,存储器地址计算 EX⎯⎯指令执行(execute) 完成ALU操作和Cache存取 WB⎯⎯回写(write back) 更新在EX步骤得到的寄存器数据和状态标志