我已经实现了直接映射缓存模拟,现在我想实现集合关联缓存,为此我使用以下代码来计算来自跟踪主内存引用的地址索引:
long index = ((address >> BLOCK_SHIFT) & (CACHE_SIZE - 1)) / 6;
其中地址是用于缓存模拟的跟踪主内存引用,Block Shift 为 5,对于 32 位缓存块大小,缓存大小为 1024。
除以 6,实现关联性 = 64 ,如 2^6=64..
但是这个除以 6 并没有给出正确的结果..
任何想法如何计算 64 位关联级别的地址索引..