5 questions to test your understanding
A program alternately accesses two arrays. Both arrays' base addresses happen to differ by exactly the cache size, so they map to the same cache lines. Performance is poor despite the working set fitting in cache. What type of miss is causing this?
Why are fully associative caches not used for large L1 caches, even though they eliminate all conflict misses?
Increasing cache size from 32KB to 256KB will eliminate compulsory (cold) misses on the first access to each memory block.
A cold (compulsory) miss occurs on the first access to a memory block and cannot be eliminated by increasing cache size or associativity.
Explain the conflict miss problem in direct-mapped caches and describe how set-associative design alleviates it.