【发布时间】:2016-02-24 16:05:24
【问题描述】:
我一直在阅读 Bryant 和 O'Hallaron 撰写的“计算机系统:程序员的观点”中关于缓存的章节,但我在理解块偏移位时遇到了一些问题。这是本书的截图:
在这个例子中,他们假设单词有 4 个字节长,这是一个直接映射,每行包含 8 个字节。他们使用 3 位来确定最左侧单元格的偏移量,因此根据我的理解,如果块偏移量为 010,缓存会将数据从 w2 返回到 w5。但我不明白如果块偏移量为 100 会发生什么,块中没有第 8 个单元格,所以我们不能返回从 w5 开始的 4 字节字,所以只使用 2 位更有意义块偏移。我在这里做错了什么?
【问题讨论】: