情况
我正在尝试回答我在过去的试卷中找到的关于指令和数据缓存的架构问题(不是家庭作业!)。
这个问题似乎提供了很多我没有在我的解决方案中使用的信息。这让我觉得我错过了一些东西,如果有人能帮助我,我将不胜感激!
(完整)问题
这是论文中提出的完整问题。有关关键点的摘要,请参见下文。
计算具有单独指令缓存和数据缓存的机器 S 的未命中率,每个 N 字节。
I
对于指令高速缓存,每条指令有未命中K
,对于数据高速缓存,每 k 条指令有 d 未命中。一小部分
X
指令涉及数据传输,而一小部分Y
指令包含指令引用,其余的包含数据引用。命中需要H
循环,未命中惩罚是M
循环。
关键问题点
给定:
- 数据和指令缓存是分开的
- 每个缓存都有
N
字节 I
指令缓存的每条K
指令未命中D
K
数据缓存的每条指令未命中- 一小部分
X
指令涉及数据传输 - 一小部分
Y
指令涉及指令引用 - 其余指令包含指令参考
- 命中需要
H
循环 - 未命中惩罚是
M
循环
计算:机器未命中率
迄今为止的尝试
我最初认为未命中率会是(I/K)*Y + (D/K)*(1 - X - Y)
,但由于这并没有使用提供的所有数据,所以我认为它不正确:(。
任何帮助都是极好的!