情况
我正在尝试回答一道关于指令缓存和数据缓存的架构问题,这是我在过去的一份考试试卷中找到的(不是作业!)。
这道题似乎提供了很多信息,但我在解决方案中没有使用它们。这让我觉得我可能漏掉了什么,如果有人能帮我解决这个问题,我会非常感激!
(完整)问题
这是试卷中提出的完整问题。请参阅以下重点摘要。
计算具有单独指令缓存和数据缓存的机器S的缺失率,每个缓存大小为n字节。对于指令缓存,每k条指令有I次缺失,对于数据缓存,每k条指令有d次缺失。
一部分指令涉及数据传输,比例为X;另一部分指令包含指令引用,比例为Y,其余指令包含数据引用。命中需要H个周期,而缺失惩罚为M个周期。
关键问题点
已知:
- 数据和指令缓存是分开的
- 每个缓存有
N
字节 - 每
K
条指令中有I
次指令缓存缺失 - 每
K
条指令中有D
次数据缓存缺失 - 一部分指令涉及数据传输
- 一部分指令涉及指令引用
- 其余指令包含数据引用
- 命中需要
H
个周期 - 缺失惩罚为
M
个周期
计算: 机器的缺失率
尝试过的方法
我最初认为缺失率应该是(I/K)*Y + (D/K)*(1 - X - Y)
,但由于这并没有使用提供的所有数据,所以我不认为它是正确的 :(。
任何帮助都将非常感谢!