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
答案 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。