As Processor core speeds increased, memory speeds could not keep up. How could you run a processor faster than the memory from whcich you feed it without having performance suffer terribly? The answer was cache. A cache is a buffer with a brain. A buffer holds random data usually first in first out but a cache holds data most likely to be need in advance of it actually being needed. This enables the processor to continue working at full speed..