第三章流水线技术 31流水线的基本概念 32MPS基本流水线 33MIPS中多周期操作的处理 34M|PSR4000流水线 中国科学技术大学 chapter2
第三章 流水线技术 3.1流水线的基本概念 3.2 MIPS基本流水线 3.3 MIPS中多周期操作的处理 3.4 MIPS R4000流水线 中国科学技术大学 chapter03.2
流水线的基本概念 一个任务可以分解为k个子任务 K个子任务在K个不同阶段(使用不同的资源)运行 每个子任务执行需要1个单位时间 整个任务的执行时间为K倍单位时间 流水线执行模式是重叠执行模式 K个流水段并行执行K个不同任务 每个单位时间进入腐离开流水线一个任务 2“A 12…k Serial Execution Pipelined Execution One completion every k time units One completion every 1 time unit 中国科学技术大学 chapter 3
流水线的基本概念 • 一个任务可以分解为k 个子任务 – K个子任务在 K 个不同阶段(使用不同的资源)运行 – 每个子任务执行需要1个单位时间 – 整个任务的执行时间为 K倍单位时间 • 流水线执行模式是重叠执行模式 – K个流水段并行执行K个不同任务 – 每个单位时间进入/离开流水线一个任务 中国科学技术大学 chapter03.3
同步流水线 流水段之间采用时钟控制的寄存器文件( clocked registers) 时钟上升沿到达时 所有寄存器同时保存前一流水段的结果 流水段是组合逻辑电路 流水线设计中希望各段相对平衡 即所有段的延迟时间大致相等 时钟周期取决于延迟最长的流水段 Input S 2 k H Output Clock 中国科学技术大学 chapter 4
同步流水线 • 流水段之间采用时钟控制的寄存器文件(clocked registers) • 时钟上升沿到达时… – 所有寄存器同时保存前一流水段的结果 • 流水段是组合逻辑电路 • 流水线设计中希望各段相对平衡 – 即所有段的延迟时间大致相等 • 时钟周期取决于延迟最长的流水段 中国科学技术大学 chapter03.4
流水线的性能 &y= time delay in stage S ·时钟周期z=max()为最长的流水段延迟 时钟频率f=1=1max() ·流水线可以在k+n-1个时钟周期内完成n个任务 完成第一个任务需要k个时钟周期 其他n-1个任务需要n-1个时钟周期完成 K段流水线的理想加速比(相对于串行执行) Serial execution in cycles nk Sk→ k for large n Pipelined execution in cycles k+n-1 中国科学技术大学 chapter 5
流水线的性能 • 设 = time delay in stage Si • 时钟周期 = max( ) 为最长的流水段延迟 • 时钟频率 f = 1/ = 1/max( ) • 流水线可以在k+n-1个时钟周期内完成n个任务 – 完成第一个任务需要k个时钟周期 – 其他n-1个任务需要n-1个时钟周期完成 • K-段流水线的理想加速比(相对于串行执行) 中国科学技术大学 chapter03.5
简单的5段流水线 5个流水段,每段的延迟为1个 cycle ·IF:取值阶段 选择地址:下一条指令地址、转移地址 ·ID:译码阶段 确定控制信号并从寄存器文件中读取寄存器值 EX:执行 Load、 Store:计算有效地址 Branch:计算转移地址并确定转移方向 MEM:存储器访问(仅Load和 Store) WB:结果写回 中国科学技术大学 chapter6
简单的5段流水线 • 5个流水段,每段的延迟为1个cycle • IF: 取值阶段 – 选择地址:下一条指令地址、转移地址 • ID: 译码阶段 – 确定控制信号 并从寄存器文件中读取寄存器值 • EX: 执行 – Load 、Store:计算有效地址 – Branch:计算转移地址并确定转移方向 • MEM: 存储器访问(仅Load和Store) • WB: 结果写回 中国科学技术大学 chapter03.6