Questions: Cache Memory Design

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

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?

ACompulsory miss — the data is accessed for the first time on each iteration
BCapacity miss — the combined working set is too large for the cache
CConflict miss — the two arrays compete for the same cache lines, evicting each other
DWrite miss — the cache write policy is causing repeated flushes
Question 2 Multiple Choice

Why are fully associative caches not used for large L1 caches, even though they eliminate all conflict misses?

AFully associative caches have higher miss rates than set-associative caches
BEvery cache access requires comparing the address tag against every line simultaneously, requiring parallel comparator hardware for each line — too expensive at scale
CFully associative caches are incompatible with modern processor pipeline designs
DThe replacement policy for fully associative caches is too slow to implement in hardware
Question 3 True / False

Increasing cache size from 32KB to 256KB will eliminate compulsory (cold) misses on the first access to each memory block.

TTrue
FFalse
Question 4 True / False

A cold (compulsory) miss occurs on the first access to a memory block and cannot be eliminated by increasing cache size or associativity.

TTrue
FFalse
Question 5 Short Answer

Explain the conflict miss problem in direct-mapped caches and describe how set-associative design alleviates it.

Think about your answer, then reveal below.