好的。我对缓存映射有疑问。这是问题所在。
内存大小为1 MB
字节可累加
缓存块大小为16字节。
缓存大小为64kb
由于内存为1 mb = 2 ** 20字节。
因此,一个地址需要20位。
由于它是字节可寻址的,每个块的大小是16个字节,因此我们需要4位偏移量
并且对于64 KB / 16字节的索引等于2乘以12的幂
,因此索引需要12位
因此剩下的部分留给了标签,即20-(12 + 4)= 4位。
在那之后,我给出了一个十六进制的32位长的地址。例如
0X66349068
我的问题是如何从上述地址中找到标签,索引和偏移量?我的想法是问题是错误的。因为我们的物理内存地址长20位,所以我们首先要拥有32位地址