将指令分为多个阶段,让各个阶段并发执行,以带来加速。
微操作数是流水线级数的最大值。
流水线性能增强的限制
- 存储器访问冲突
- 各阶段时间不一致
- 转移指令
- 中断
- 其他冲突
条件转移处理
- 多指令流
- 出现条件转移时,在两条流水线上分别预取转移发生、转移不发生的两组指令
- 前一转移未解决,可能出现新的转移,加剧对寄存器、存储器的竞争
- 预取转移目标
- 出现条件转移时,在两条流水线上分别预取转移发生、转移不发生的两组指令
- 前一转移未解决,不理会出现的新转移
- 循环缓冲器
- 类似cache,保存最近取来的若干条指令
- 静态转移预测
- 根据操作码判断,例如:对JNZ,JB预测转移发生,对JA,JGE预测转移不发生
- 动态转移预测
- 在指令cache中存储“上一次这个条件转移是否发生?”开关,根据上次情况预测这次是否发生转移
在RISC流水线中,不需要进行转移预测。