Pipeline CPi Examples Time Measure from when first instruction finishes to when last instruction in sequence finishes Inst 1 inst 3 instructions finish in 3 cycles nst 3 cPl=3/3=1 Inst 1 Inst 3 instructions finish in 4 cycles Bubble CP|=4/3=133 Inst Inst 1 Bur ble Inst 2 3 instructions finish in cycles Bubble 2 CP|=5/3=167 Inst 3
Pipeline CPI Examples 12 Time 3 instructions finish in 3 cycles CPI = 3/3 =1 Inst 1 Inst 2 Inst 3 3 instructions finish in 4 cycles CPI = 4/3 = 1.33 Inst 1 Inst 2 Inst 3 Bubble Measure from when first instruction finishes to when last instruction in sequence finishes. 3 instructions finish in 5cycles CPI = 5/3 = 1.67 Inst 1 Inst 2 Inst 3 Bubble 1 Bubble 2 Inst 3
肖减结构相关 当两条指令同时需要相同的硬件资源时,就会 发生结构相关(冲突) 方法1:通过将新指令延迟到前一条指令执行完 释放资源后)执行 方法2:增加新的资源 ·E.g,如果两条指令同时需要操作存储器,可以通过增加 到两个存储器操作端口来避免结构冲突 经典的RsC5-段整型数流水线通过设计可以 没有结构相关 很多RSC实现在多周期操作时存在结构相关 ·例如多周期操作的 multipliers, dividers, floating-point units 等,由于没有多个寄存器文件写端口导致结构冲突 13
消减结构相关 • 当两条指令同时需要相同的硬件资源时,就会 发生结构相关(冲突) – 方法1:通过将新指令延迟到前一条指令执行完 (释放资源后)执行 – 方法2:增加新的资源 • E.g., 如果两条指令同时需要操作存储器,可以通过增加 到两个存储器操作端口来避免结构冲突 • 经典的 RISC 5-段整型数流水线通过设计可以 没有结构相关 – 很多RISC实现在多周期操作时存在结构相关 • 例如多周期操作的multipliers, dividers, floating-point units 等,由于没有多个寄存器文件写端口 导致 结构冲突 13
三种基本的数据相关 写后读相关( Read after write(RAW) I: add x1, x2 x3 由于实际的数据交换需求而引起的 了:subx4,x1,x3 读后写相关( Write After Read (WAr) 工:subx4,x1,x3 了:addx1,X2,x3 编译器编写者称之为“ anti-dependence”(反相关),是由于重复使用 寄存器名“x1”引起的 ·写后写相关( Write After write(WAW)) 工:subx1,x4,x3 j: add x1,x2, x3 编译器编写者称之为“ output dependence”,是由于重复使用寄存 器名“x1引起的 在后面的复杂的流水线中我们将会看到WAR和WAW相关 2/112021 chapter3. 14
三种基本的数据相关 • 写后读相关(Read After Write (RAW)) – 由于实际的数据交换需求而引起的 • 读后写相关(Write After Read (WAR) – 编译器编写者称之为“anti-dependence”(反相关),是由于重复使用 寄存器名“x1”引起的. • 写后写相关(Write After Write (WAW)) – 编译器编写者称之为“output dependence” ,也是由于重复使用寄存 器名 “x1”引起的. – 在后面的复杂的流水线中我们将会看到 WAR 和WAW 相关 2/11/2021 chapter3.14
03/18-review ·微程序控制的单总线互连的处理器设计 重要概念: 数据通路、数据通路上的基本操作-寄存器传输 控制部件:控制信号、控制点 控制存储器 ·用微程序控制宏指令( macroinstruction)运行的基本过程 理解微程序控制器的优劣势 基本流水线回顾 2/112021 15
03/18-review • 微程序控制的单总线互连的处理器设计 – 重要概念: • 数据通路、数据通路上的基本操作--寄存器传输 • 控制部件:控制信号、控制点 • 控制存储器 • 用微程序控制宏指令(macroinstruction)运行的基本过程 – 理解微程序控制器的优劣势 • 基本流水线回顾 2/11/2021 15
03/18-Review lecture 流水线技术要点 多个任务重叠(并发/并行)执行,但使用不同的资源 流水线技术提高整个系统的吞吐率,不能缩短单个任务的执 行时间 其潜在的加速比=流水线的级数 影响流水线性能的因素 流水线中的瓶颈—最慢的那一段 流水段所需时间不均衡将降低加速比 流水线存在装入时间和排空时间,使得加速比降低 由于存在相关 Hazards)问题,会导致流水线停顿 Hazards问颞:流水线的执行可能会导致对资源的访问冲突,或 破坏对资源的访问顺芧 流水线正常工作的基本条件 增加寄存器文件保存当前段传送到下一段的数据和控制信息 需要更高的存储器带宽 2/112021 chapter3.16
03/18-Review lecture • 流水线技术要点 – 多个任务重叠(并发/并行)执行,但使用不同的资源 – 流水线技术提高整个系统的吞吐率,不能缩短单个任务的执 行时间 – 其潜在的加速比=流水线的级数 – 影响流水线性能的因素 • 流水线中的瓶颈——最慢的那一段 • 流水段所需时间不均衡将降低加速比 • 流水线存在装入时间和排空时间,使得加速比降低 – 由于存在相关(hazards)问题,会导致流水线停顿 • Hazards 问题:流水线的执行可能会导致对资源的访问冲突,或 破坏对资源的访问顺序 • 流水线正常工作的基本条件 – 增加寄存器文件保存当前段传送到下一段的数据和控制信息 – 需要更高的存储器带宽 2/11/2021 chapter3.16