3Cs (compulsory, capacity, conflict misses)
Beginner
Three reasons memory lookups fail: it’s the first time, the memory is too small, or two things fight over the same spot.
Novice
The three causes of cache misses. Compulsory: the first time a piece of data is ever used. Capacity: the cache is too small for everything the program is working on. Conflict: several pieces of data compete for the same few places in the cache.
Expert
Defined by simulation: compulsory misses happen even in an infinite cache; capacity misses are the extra misses of a fully associative cache of the same size; the rest are conflict misses. More capacity cuts capacity misses, more associativity cuts conflict misses, and bigger lines cut compulsory misses when nearby data is used together.
Explained in Architecture (Design Flow).
See also: Cache, AMAT (average memory access time).