When the
CPU is looking for the next bit of
data to execute and can't find it in the
L1 cache, the
L2 cache, or
system memory, the data must be paged in from the
hard drive. This is called a "compulsory miss", because it cannot be avoided; at some point, every piece of data will need to be fed into the
cache for the first time.
Prefetching is a nifty trick that helps work around the inefficiency of a compulsory miss.