直接映射缓存命中&小姐

时间:2013-12-03 07:26:22

标签: caching memory binary hit

4位地址

标记1位

索引2位

偏移1位

每个块

2个字节

4套(每套1个街区)

我正在尝试确定以下地址是点击还是未命中。我将介绍迄今为止所获得的信息。 (所有信用都将给予堆栈溢出)

地址

14

设置3

v = 0

tag = 1

offset = 0

9

设为0

v = 0

tag = 1

offset = 1

2

设置1

v = 0

tag = 0

offset = 0

6

设置3

v = 1

tag = 0

offset = 0

3

设置1

v = 1

tag = 0

offset = 1

1 个答案:

答案 0 :(得分:3)

由于它是直接映射缓存,并且它有4组,这意味着它具有4个块的容量。

1)二进制的地址14:1110

假设在开始时缓存是空的,我们得到了一个未命中,我们将这个字存储在缓存中。标签1,在第3组。

2)地址9,二进制为:1001

标签1,设置#0,我们错过了。因此我们将它存储在集合0上。

3)二进制地址2; 0010

这个块在第1组上进行,它是空的。我们错了并存储它。标签为0

4)二进制地址6:0110 由于我们已经在第3组中存储了一个块,因此我们对它进行比较。由于他们的标签是不同的标签0!=标签1我们驱逐前一个,我们存储新的。小姐

5)二进制地址3:0011 这个块进入第1组,因为我们已经在第1组中有一个块,我们对它进行比较。 由于他们的标签等于0 = 0,我们得到了一个HIT。