如何计算数据和指令缓存的未命中率

时间:2012-05-15 16:56:17

标签: caching architecture hardware computer-architecture

情况

我正在尝试回答我在过去的考试试卷中发现的有关教学和数据缓存的架构问题(不是作业!)。

这个问题似乎提供了很多我在解决方案中没有使用过的信息。这让我觉得我错过了什么,如果有人可以帮助我,我会非常感激!

(完整)问题

这是文章中提出的完整问题。有关要点摘要,请参阅下文。

  

使用单独的指令计算机器S的未命中率   缓存和数据缓存,每个n个字节。每IK次失误   指令缓存的指令,以及每个k的d次   数据缓存的说明。

     

分数X指令涉及数据传输,而一部分   Y指令包含指令引用,其余包含   数据参考。点击需要H个周期,未命中为M   周期。

关键问题点

鉴于

  • 数据和指令缓存是分开的
  • 每个缓存都有 N 字节
  • I 错过每 K 指令缓存说明
  • D 错过了 K 数据缓存说明
  • 指示的 X 分数涉及数据传输
  • 指令的分数 Y 涉及指令参考
  • 其余说明包含指令参考
  • 点击需要 H 周期
  • 未命中罚分 M 周期

计算:错过机器费率

到目前为止的尝试

我最初认为未命中率为(I/K)*Y + (D/K)*(1 - X - Y),但由于这并未使用所提供的所有数据,因此我认为它不对:(。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:2)

我认为您可能会将问题解释错误或问题没有得到很好的解释。缓存的丢失率显然是no. of misses/total no. of accesses。我能想到的唯一使用问题的所有信息的是计算缓存未命中的未命中罚分