推荐答案
测试一下
题目
在处理器流水线设计中,如果硬件无法同时支持指令所有可能的组合方式,就会产生资源冲突,从而导致结构冒险。如下不属于结构冒险的是
A. 指令Cache读写接口冲突
B. 数据Cache Miss
C. 执行单元数量冲突
D. 流水线暂停
参考答案与知识点
参考答案
正确答案为 B、D。结构冒险(Structural Hazard)指因硬件资源不足,导致多条指令在流水线中同时请求同一硬件模块而产生的冲突。A 选项:指令 Cache 读写接口冲突,例如单端口 Cache 在同一周期既被取指又被访存,属于典型的结构冒险。C 选项:执行单元数量冲突,例如只有一个 ALU 却需要同时执行多条运算指令,也属于结构冒险。B 选项:数据 Cache Miss 是指令访问的数据不在 Cache 中,需从下级存储器读取,这会造成流水线暂停,但暂停的原因不是硬件资源冲突,而是数据未命中所引起的等待,属于数据冒险或存储层次问题,并非结构冒险。D 选项:流水线暂停是一种解决冒险的机制(如插入气泡),本身不是一种冒险类型,任何类型的冒险都可能导致暂停,因此它不属于结构冒险。易错点:混淆 Cache Miss 与 Cache 端口冲突,误认为所有暂停都源于资源竞争。
涉及知识点
- 结构冒险定义与常见场景
- Cache 冲突与 Cache Miss 的区别
- 流水线暂停的成因分类
- 资源冲突与数据冒险的界限
- 结构性、数据性与控制性冒险的辨析