4

情况

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

这个问题似乎提供了很多我没有在我的解决方案中使用的信息。这让我觉得我错过了一些东西,如果有人能帮助我,我将不胜感激!

(完整)问题

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

计算具有单独指令缓存和数据缓存的机器 S 的未命中率,每个 N 字节。I对于指令高速缓存,每条指令有未命中K ,对于数据高速缓存,每 k 条指令有 d 未命中。

一小部分X指令涉及数据传输,而一小部分 Y指令包含指令引用,其余的包含数据引用。命中需要H循环,未命中惩罚是M 循环。

关键问题点

给定

  • 数据和指令缓存是分开的
  • 每个缓存都有N字节
  • I指令缓存的每条K指令未命中
  • DK数据缓存的每条指令未命中
  • 一小部分X指令涉及数据传输
  • 一小部分Y指令涉及指令引用
  • 其余指令包含指令参考
  • 命中需要H循环
  • 未命中惩罚是M循环

计算:机器未命中率

迄今为止的尝试

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

任何帮助都是极好的!

4

2 回答 2

2

我认为您可能对问题的解释有误,或者问题的框架不正确。缓存的错过率是很明显的no. of misses/total no. of accesses。我能想到的唯一使用问题的所有信息的是计算缓存未命中的未命中惩罚

于 2012-05-17T03:15:39.187 回答
-1

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

于 2015-04-29T17:24:28.827 回答