Cache memory, also called CPU memory, is random access memory (RAM) that a computer microprocessor can access more quickly than it can access regular RAM.
As the microprocessor processes data, it looks first in the cache memory and if it finds the data there (from a previous reading of data), it does not have to do the more time-consuming reading of data from larger memory.
Cache memory is fast and it is expensive. It is categorized in levels that describe its closeness and accessibility to the microprocessor. Level 1 (L1) cache, which is extremely fast but relatively small, is located close to the processor. Level 2 (L2) cache is located half-way between the process and the system bus; it is fairly fast and medium-sized. Level 3 (L3) cache is relatively large and close to RAM.
Memory cache can work under three different configurations: direct mapping, fully associative and set associative. With direct mapping each block is mapped to exactly one cache location. With fully associative mapping, each block is mapped to any cache location. With set associative, each block is mapped to a subset of cache locations.