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