【问题标题】:How to calculate the miss rate of Data and Instruction Caches如何计算数据和指令缓存的未命中率
【发布时间】:2012-05-23 05:50:08
【问题描述】:

情况

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

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

(完整)问题

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

用单独的指令计算机器 S 的未命中率 高速缓存和数据高速缓存,每个 n 字节。每个KI 未命中 指令高速缓存的指令,以及每 k 的 d 次未命中 数据缓存指令。

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

关键问题点

鉴于

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

计算:机器失误率

目前的尝试

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

任何帮助都会很棒!

【问题讨论】:

  • 论文中是否有关于数据传输数据引用的说明?他们看起来和我很相似。顺便说一句,问题的文本与您的关键问题点之间存在不一致:“一小部分 Y 指令包含指令引用”(问题)与“一小部分 Y 指令涉及数据引用”。我认为正确的版本是关键点,对吧?
  • 嗨,不,完整的问题是正确的。我现在修改了这个问题。我不相信我真的能回答这个问题,所以暂时先放在这里。

标签: caching architecture hardware computer-architecture


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-01-20
      • 2014-07-29
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 2013-04-30
      • 2019-10-05
      • 1970-01-01
      • 2014-06-26
      相关资源
      最近更新 更多