推荐答案
测试一下
题目
以下那个方法,可以解决所有的冒险?
A. 让流水线停顿
B. 提高时钟频率
C. 增加流水线深度
D. 增加运算部件
参考答案与知识点
参考答案
正确答案是A。解析:流水线冒险分为结构冒险、数据冒险和控制冒险。让流水线停顿(stall)是一种通用方法:对于结构冒险,停顿至资源空闲;对于数据冒险,停顿至数据就绪;对于控制冒险,停顿至分支结果确定。因此理论上停顿可以解决所有冒险,但会降低性能。B提高时钟频率会加剧冒险,无法解决。C增加流水线深度会引入更多冒险,且不能解决现有冒险。D增加运算部件只能缓解部分结构冒险,对数据和控制冒险无效。故只有A正确。
涉及知识点
- 流水线冒险分类(结构、数据、控制)
- 冒险解决方法:停顿、转发、分支预测
- 停顿的通用性与局限性
- 时钟频率与冒险的关系
- 流水线深度对冒险的影响