流水线的寄存器的意义?
当我们流水线化数据路径时,每个阶段的值需要在 每个时钟周期。
管道中的每个阶段仅对一小组值进行操作, 但是这些值对于当前的指令需要是正确的 正在处理。 假设我们以加载字(lw)为例:如果它处于EX阶段, 那么 EX 阶段应该看起来像单周期数据路径的快照。 这 rs1、rs2、immediate 和 PC 值上的值应该好像 lw 是唯一的 整个路径中的指令。 这也包括控制逻辑:指令是 在每个阶段传入,为该阶段生成适当的控制信号 感兴趣,并且该阶段可以正确执行。
lw Data hazard
load delay slot
装载时间槽——等待lw访存的空阶段,类似于bubble.(防止阻塞)
控制冒险: 鲁莽会浪费指令!——HOW缩减次数?——分支预测(猜它,并检验)
级,即stage
怎样更好的提升处理器的性能?
超标量处理器?
多条流水线!
CPI < 1
What is the speedup from the single cycle datapath to the pipelined datapath? Why
is the speedup less than 5?
(1) the necessity of adding pipeline registers, which have clk-to-q and setup times
(2) the need to set the clock to the maximum of the five stages, which take different amounts of
time.
一句话说明白, 就是必要的时延,导致cycle-time变长。
CSAPP: Lec14
disc08 4.2 Think!!!