如何计算数据缓存和指令缓存的失效率

4

情况

我正在尝试回答一道关于指令缓存和数据缓存的架构问题,这是我在过去的一份考试试卷中找到的(不是作业!)。

这道题似乎提供了很多信息,但我在解决方案中没有使用它们。这让我觉得我可能漏掉了什么,如果有人能帮我解决这个问题,我会非常感激!

(完整)问题

这是试卷中提出的完整问题。请参阅以下重点摘要。

计算具有单独指令缓存和数据缓存的机器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),但由于这并没有使用提供的所有数据,所以我不认为它是正确的 :(。

任何帮助都将非常感谢!


论文中是否有关于数据传输和数据引用的澄清?它们在我看来非常相似。顺便说一下,问题文本和您的关键问题点之间存在不一致:“一小部分指令包含指令引用”(问题)与“一小部分指令涉及数据引用”(关键问题点)。我假设正确的版本是关键问题点中的那个,对吗? - betabandido
嗨,不,原来的问题是正确的。我现在已经修改了问题。我不认为我曾经真正回答过它,所以暂时把它留在这里。 - Pete Hamilton
2个回答

3

我觉得你可能对问题的解释有误,或者这个问题没有很好地被提出。Cache的缺失率显然是缺失次数/总访问次数。我所能想到的唯一可以使用这个问题所有信息的事情是计算Cache错失的代价。


-1

命中时间L1 + 未命中率L1 * (命中时间L2 + 未命中率L2 * 未命中惩罚L2)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接