A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory based on memory locality feature of most computer programs. The cache is a smaller, faster memory which stores copies of the data from the most frequently used main memory locations. As long as most memory accesses are to cached memory locations, the average latency of memory accesses will be closer to the cache latency than to the latency of main memory, which can provide a significant overall performance increase to the hardware.