A typical computer system includes main memory, such as dynamic random access memory (DRAM), and cache memory. A cache memory is a high-speed memory unit to reduce memory access time in response to a speed difference between
microprocessors and memories. A cache memory duplicates commonly-used locations in a main memory for the purpose of speeding up accesses to these locations. Cache memory provides faster access to frequently used instructions and data, which helps improve the overall performance of the system. Cache memory is composed of a data memory circuit including a SRAM cell, and a tag circuit including a content addressable memory (CAM). The CAM stores address corresponding to data stored in the data memory circuit. A cache is a small, fast memory that acts as a buffer between a device that uses a large amount of memory and a large, slower main memory. The cache is usually implemented by semiconductor memory devices having speeds that are comparable to the speed of the
processor. Cache memory has a tag memory used to store data on addresses of the memory system and a data memory used to temporarily store part of data contained in the memory system as cache data.