The Gap: CPU can execute an instruction in less than 1ns, but accessing main memory can take 100ns (100x slowdown)
Small memories are fast and expensive, large memories are slow but cheap

Solution → Caches: memory hierarchy is a pyramid of sotrage, each level is a cahce for the level below it
Caches are effective because most programs have good locality
Data to be written is already in the cache