Why Caching Works

Memory hierarchy exploits program locality

Temporal Locality

Recently referenced addressed are likely to be referenced again - reused

Spatial Locality

If a memory address is referenced, nearby addresses are likely to be referenced soon