What is cache memory?
We explain the different categories of cache memory and how it differs from RAM
There's a variety of different kinds of computer memory to suit different processes, which can be fairly confusing to navigate. While certain kinds of memory are designed to execute short-term tasks, other kinds are designed to store information for long-term use. No matter which kind, however, all flavours of memory are key to running your computer or tablet smoothly in terms of both software and hardware.
Storing files and information is just one application of computer memory, while other applications may be around specific functions that only memory can perform, such as encoding, storing and retrieving data. When we refer to cache memory, we refer to a breed of super-fast RAM that is designed to make a computer or device run more efficiently by working in conjunction with other components. By itself, this may not be particularly useful, but cache memory undertakes a key role in computing when used with other parts of memory.
Given that most software tends to probe the same data and carry out the same set of instructions several times in rapid succession, holding recently-accessed data in cache memory means operations can be executed at a much faster rate. Otherwise, these will operate just as slow as the first time these operations are carried it. This renders memory caching a key aspect of modern computing.
Beyond being proximally close to the CPU, to pave the way for fast data transfers, the larger the capacity of the cache, the more data this can store and the quicker it can operate. Conversely, chips with much lower capacity perform slower given they don't store as much data.
Cache memory can be complicated, however; not only is it different to the standard DRAM that most people are familiar with, there are also multiple different kinds of cache memory.
There are three different categories, graded in levels: L1, L2 and L3. L1 cache is generally built into the processor chip and is the smallest in size, ranging from 8KB to 64KB. However, it is also the fastest type of memory for the CPU to read. Multi-core CPUs will generally have a separate L1 cache for each core.
L2 and L3 caches are larger than L1, but take longer to access. L2 cache is occasionally part of the CPU, but often a separate chip between the CPU and the RAM.
Graphics processing chips often have a separate cache memory to the CPU, which ensures that the GPU can still speedily complete complex rendering operations without relying on the relatively high-latency system RAM.
Cache memory generally tends to operate in a number of different configurations: direct mapping, fully associative mapping and set associative mapping.
Direct mapping features blocks of memory mapped to specific locations within the cache, while fully associative mapping lets any cache location be used to map a block, rather than requiring the location to be pre-set. Set associative mapping acts as a halfway-house between the two, in that every block is mapped to a smaller subset of locations within the cache.