A type of memory that is inserted between the processor and memory proper. The memory hierarchy on a system contains registers in the processor, which are the highest-speed storage, and, at a slightly lower level of accessibility, the contents of the main memory. The cache is intended to reduce the discrepancy in accessibility between these two types of unit, and functions by holding small regions that map the contents of main memory. The formal behaviour of the cache corresponds closely to that of the working set in a paging system. Modern CPUs, particularly multi-core processors, have two caches between the process registers and main memory: the L1 cache is found in each core, whereas the L2 cache sits on the main memory bus.
Magnetic disk controllers can have a cache. The working of the cache is not visible to the main CPU, but again provides a mapping of the current contents of part of the disk units in order to provide improved performance.
See also disk cache.