Cache misses are classified into one of three categories - compulsory, capacity, or conflict.
For each condition listed below, say whether the cache misses in each category will increase, decrease, or stay the same, and explain why (assume that in each case, the overall total cache size remains constant).
a. The associativity of the existing cache is increased
b. The block size (both cache block and memory block size) is decreased
c. The program is re-written so it requires less memory (i.e. contains fewer machine instructions)
First I'll explain what each of these miss types are:
Compulsory misses - these misses occur the first time in a program that a particular cache block is referenced. There is no way to avoid these misses, because at some point the data has to be loaded into the cache.
Capacity misses - these occur because the size of the cache is not large enough to store the entire program and/or all of the data in the program. Instructions that have to be removed due to finite cache size are considered to be capacity misses.
Conflict misses - these occur when the cache has to evict a known often used instruction because there is ...
This solution discusses the different types of cache misses.