Back Next
Miss types.
   Compulsory - miss because line not yet cached.  
     Caching larger lines can provide some improvement.
       Requires wider system bus for best performance.

     Affects direct, associative, and set associative.
 
   Conflict - line[s] of interest full. 
     Direct cache always in conflict (except very 1st access).
       Larger cache - fewer memory lines mapped to specific cache line.

     Associative - conflict = capacity, more cache memory.
       But cost of parsing through a large number lines expensive.

     Set associative
       Greater associativity provides largest improvement.
         But more ways means more work.
         Also, the choice of algorithm when selecting which of the 
           n-ways to replace.

       Skewed associative
         Improves hit ratio but requires more computation.
         No current real world use.

   Capacity - cache is full and something has to be swapped out. 
     Once a CPU is up and running, its cache will always be full. 
       Some caches implement 'stale' recognition. If a cache line
         has not been accessed in a long time, it may be freed.

     Only a larger cache can provide significant improvements.