一、中间位做组索引位
- 道理很简单:
地址低位变化比地址高位快
高位相对低位稳定不变
低位变化快就不可能重复 将它编码成组索引位就将相邻内存块映射到不同缓存组
同时还能共用相同的标记位t
0000
0001
0010
0011
四个内存块地址共用标记位t =00
二、练习题6.11
- A: 如果高位做组索引s
低位自然是标记位t
显然一个缓存块映射2^t个内存块 - B:t = 32 - log2(512) =
18
一个缓存块映射pow(2, 18)个内存块 array大小为4096*4B/32B = 512块 所以array映射到一个缓存块