"Cache miss" is a term commonly used in computer science to describe a situation where a requested data item is not found in the cache, resulting in the data having to be retrieved from a slower memory location. The pronunciation of the word "cache" is /kæʃ/ (KASH), which is derived from the French word "cacher", meaning "to hide". The word "miss" is pronounced /mɪs/ (MISS), meaning to fail to hit or make contact with something. Together, "cache miss" is pronounced /kæʃ mɪs/ (KASH MISS).
A cache miss refers to a situation in computer systems where the requested data or instructions are not found in the cache memory, resulting in the data having to be fetched from a slower, higher-level memory or storage location. In a cache-based memory hierarchy, the cache acts as a fast, temporary storage for frequently accessed data or instructions, located closer to the processor than main memory. It aims to improve performance by reducing the time needed to access data, as accessing data from the cache is faster compared to accessing it from the main memory or disk.
When a cache miss occurs, it typically means that the processor or program has attempted to access data that is not present in the cache. As a result, the cache controller sends a request to the higher-level memory hierarchy, such as the main memory or disk, to retrieve the requested data. Once retrieved, the data is then stored in the cache for future use, increasing the likelihood of finding it there and reducing the occurrence of cache misses in subsequent accesses.
Cache misses can be classified into different types, such as compulsory, capacity, and conflict misses. Compulsory misses occur when a program first starts execution and accesses data or instructions for the first time, and are unavoidable. Capacity misses happen when the cache does not have enough capacity to hold all the required data, resulting in some data being evicted and causing a cache miss. Conflict misses, on the other hand, occur due to the limited associativity or set size of the cache, causing multiple data items to compete for the same cache line.
The term cache miss originates from computer science and specifically the field of computer architecture, where a cache refers to a small, high-speed storage component used to temporarily store frequently accessed data.
The word cache itself comes from the French verb cacher, meaning to hide or to store away. In computing, a cache is designed to hide the latency of fetching data from a slower or larger main memory by storing a copy of frequently used data closer to the processor.
The term cache miss is derived from this concept. When a processor requests data from the cache, it checks whether the data is already stored there. If the data is not present in the cache, it signifies a miss because the processor must then access the slower main memory to retrieve the required data. This act of missing the cache is referred to as a cache miss.