The Problem: Processor-Memory Bottleneck

How Caches Work

Why Caches Work: Locality

Caches are effective because most programs have good locality

Cache Misses

  1. Compulsory (cold) miss: first access to a block, unavoidable
  2. Capacity miss: program’s working set (active data) is larger than the cache size
  3. Conflict miss: in some cache designs, two frequency used data blocks map to the same cache slot and keep evicting each other

Cache Write Policies

Write-Hit

Data to be written is already in the cache