题目
采用指令Cache与数据Cache分离的主要目的是_______。A. 降低Cache的缺失损失B. 提高Cache的命中率C. 降低CPU平均访存时间D. 减少指令流水线资源冲突
采用指令Cache与数据Cache分离的主要目的是_______。
A. 降低Cache的缺失损失
B. 提高Cache的命中率
C. 降低CPU平均访存时间
D. 减少指令流水线资源冲突
题目解答
答案
D. 减少指令流水线资源冲突
解析
指令Cache与数据Cache分离的核心目的是优化处理器流水线的效率。在流水线结构中,指令的取指、译码、执行等阶段可能同时发生对指令和数据的访问。若两者共用同一Cache,会导致以下问题:
- 资源竞争:指令和数据的访问可能占用同一总线或Cache资源,引发冲突,导致流水线阻塞。
- 局部性差异:指令访问具有较强的局部性(如顺序执行),而数据访问局部性较弱(如随机访问),合并管理难以同时优化两者性能。
分离后,指令和数据的访问可并行进行,减少流水线断点,提升整体效率。
选项分析
-
A. 降低Cache的缺失损失
缺失损失主要与Cache容量、块大小和替换算法相关,与是否分离无关。 -
B. 提高Cache的命中率
分离可能通过独立优化局部性提高命中率,但并非主要目的。 -
C. 降低CPU平均访存时间
分离可减少总线竞争,间接降低时间,但非直接目标。 -
D. 减少指令流水线资源冲突
流水线中指令和数据的并发访问若冲突,会导致阻塞。分离后两者独立访问,避免冲突,直接提升流水线效率。