The gap that caches exist to hide
Processor speed and DRAM speed improved at very different rates for decades. Wulf and McKee named the consequence in "Hitting the Memory Wall: Implications of the Obvious", ACM SIGARCH Computer Architecture News, volume 23, issue 1, pages 20 to 24, March 1995. Their argument was arithmetic rather than speculative: if two quantities both improve exponentially at different rates, the ratio between them grows without bound, so eventually memory access dominates all execution time regardless of how fast the processor is.
That is where we have arrived. A modern core can issue several arithmetic operations per cycle, and a single DRAM access costs it hundreds of cycles of potential work.
Caches do not make DRAM faster. They exploit a statistical property of real programs to make most accesses avoid DRAM entirely. When that property holds, the machine runs near its arithmetic limit. When it does not, none of the pipeline and out-of-order machinery from the previous two lessons can save it.

