冒险和预测
流水线设计的三大冒险
- 结构冒险
- 数据冒险
- 控制冒险
hazard
冒险拿到了一个提升指令吞吐率的机会
结构冒险
为啥工程师喜欢机械键盘?
全键无冲
高速缓存分成指令缓存和数据缓存
数据冒险
三种不同的依赖关系
先写后读、先读后写、写后再写
数据依赖
反依赖
输出依赖
再等等: 通过流水线停顿解决数据冒险
通过增加资源来解决数据冒险
可以通过等待插入无效的NOP操作的方式来解决冒险问题
冒险和预测
流水线设计的三大冒险
hazard
冒险拿到了一个提升指令吞吐率的机会
结构冒险
为啥工程师喜欢机械键盘?
全键无冲
高速缓存分成指令缓存和数据缓存
数据冒险
三种不同的依赖关系
先写后读、先读后写、写后再写
数据依赖
反依赖
输出依赖
再等等: 通过流水线停顿解决数据冒险
通过增加资源来解决数据冒险
可以通过等待插入无效的NOP操作的方式来解决冒险问题