了解缓存中的块偏移位

时间:2016-02-24 16:05:24

标签: caching memory block

我一直在阅读Bryant和O'Hallaron在“计算机系统:程序员的角度”中关于缓存的章节,而且我对块偏移位的理解有些困难。以下是该书的快照:enter image description here

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

1 个答案:

答案 0 :(得分:0)

你是对的。

  

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

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