Memory Hierarchy
Which misses are not reduced even by making a cache fully associative?
- AMisses caused by two blocks competing for the same set and repeatedly evicting each other
- BMisses caused by the data used exceeding the cache capacity
- CMisses caused by uneven placement in a direct-mapped layout
Show answer and explanation
Answer: B. Misses caused by the data used exceeding the cache capacity
In a fully associative cache any data can go anywhere, so conflict misses from competing for a set disappear. But if the data a program repeatedly uses (its working set) is larger than the whole cache, it cannot fit wherever it is placed, and evictions occur. These are capacity misses, which require a larger cache or a smaller reuse footprint through techniques such as loop blocking. Uneven placement and set competition both cause conflict misses.
- A. Set competition causes conflict misses, which full associativity eliminates.
- B. Correct. Capacity misses from an overflowing working set remain.
- C. Misses from uneven placement are also conflict misses.