【问题标题】:Understanding block offset bits in caching了解缓存中的块偏移位
【发布时间】:2016-02-24 16:05:24
【问题描述】:

我一直在阅读 Bryant 和 O'Hallaron 撰写的“计算机系统:程序员的观点”中关于缓存的章节,但我在理解块偏移位时遇到了一些问题。这是本书的截图:

在这个例子中,他们假设单词有 4 个字节长,这是一个直接映射,每行包含 8 个字节。他们使用 3 位来确定最左侧单元格的偏移量,因此根据我的理解,如果块偏移量为 010,缓存会将数据从 w2 返回到 w5。但我不明白如果块偏移量为 100 会发生什么,块中没有第 8 个单元格,所以我们不能返回从 w5 开始的 4 字节字,所以只使用 2 位更有意义块偏移。我在这里做错了什么?

【问题讨论】:

    标签: caching memory block


    【解决方案1】:

    你是对的。

    无法返回从 w5 开始的 4 字节字。

    但是该图的二进制位为 100 -> 2^2 -> w4。所以你从 w4 开始。数到 w7,你会得到 4 个字节,也就是一个单词,它构成了 w_4、w_5、w_6、w_7 中的字节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      • 1970-01-01
      相关资源
      最近更新 更多