The document discusses CPU cache memory, including its levels (L1, L2, L3) and caching techniques. L1 cache is fastest but smallest, stored on the CPU, while L2 and L3 caches are larger but slower, with L3 cache shared among CPU cores. Caching improves performance by storing frequently accessed data in faster memory. Types of caching include write-through which updates cache and memory simultaneously, and write-back which only updates cache for faster writes. Spatial and temporal locality leverage properties of how data is accessed.
2. What is
Cache Memory?
A cache memory is a very high
speed, expensive piece of memory,
which is used to speed up the retrieval
process.
Without cache memory, every
time the CPU requests for data, it would
send the request to main memory
which would then be sent back across
the system bus to the CPU.
The idea of introducing cache is
that this extremely fast memory would
store data that is frequently accessed
and if possible, the data that is around
it.
3.
4. Programs and apps on your computer are designed as a set of
instructions that the CPU interprets and runs.
How does Cache memory work?
This is where the memory hierarchy comes into play.
The data first gets loaded up into the RAM and is then sent to the CPU.
CPUs these days are capable of carrying out a gigantic number of
instructions per second. To make full use of its power, the CPU needs
access to super-fast memory, which is where the Cache memory
comes in.
The memory controller takes the data from the RAM and sends it to
the CPU cache. Depending on your CPU, the controller is found on the
CPU, or the Northbridge chipset found on your motherboard.
The memory cache then carries out the back and forth of data within
the CPU.
5. The Levels of CPU Cache Memory: L1, L2, and L3
L1
L2
L3
6. The Levels of CPU Cache Memory: L1, L2, and L3
L1 Cache
L1 (Level 1) cache is the fastest memory that is present
in a computer system.
The size of the L1 cache depends on the CPU. Some top-
end consumer CPUs now feature a 1MB L1 cache, like the Intel
i9-9980XE, but these cost a huge amount of money and are still
few and far between. Some server chipsets, like Intel's Xeon
range, also feature a 1-2MB L1 memory cache.
7. The Levels of CPU Cache Memory: L1, L2, and L3
L1 Cache
8. The Levels of CPU Cache Memory: L1, L2, and L3
L2 Cache
L2 (Level 2) cache is slower than the L1 cache but bigger
in size. Where an L1 cache may measure in kilobytes, modern L2
memory caches measure in megabytes.
The L2 cache size varies depending on the CPU, but its
size is typically between 256KB to 8MB. Most modern CPUs will
pack more than a 256KB L2 cache, and this size is now
considered small.
When it comes to speed, the L2 cache lags behind the
L1 cache but is still much faster than your system RAM. The L1
memory cache is typically 100 times faster than your RAM, while
the L2 cache is around 25 times faster.
9. The Levels of CPU Cache Memory: L1, L2, and L3
L3 Cache
Onto the L3 (Level 3) cache. In the early days, the L3
memory cache was actually found on the motherboard. This was
a very long time ago, back when most CPUs were just single-core
processors.
The L3 cache is the largest but also the slowest cache
memory unit. Modern CPUs include the L3 cache on the CPU
itself. But while the L1 and L2 cache exist for each core on the
chip itself, the L3 cache is more akin to a general memory pool
that the entire chip can make use of.
11. Caching techniques
What is Caching?
Caching is a mechanism to improve the performance of any type of
application. Technically, caching is the process of storing and accessing data from a
cache.
The main reason why caching was born is that accessing data from persistent
memories takes a considerable amount of time. Thus, whenever data is retrieved or
processed, it should be stored in a more efficient memory.
Caching is a fairly simple way to achieve performance improvements. This is
especially true when compared to algorithm optimization, which is usually a much
complex and time-consuming task.
13. 1 SpatialCache
2 TemporalCache
Spatial Locality means that all those instructions
which are stored nearby to the recently executed
instruction have high chances of execution. It refers to the
use of data elements(instructions) which are relatively
close in storage locations.
Temporal Locality means that a instruction which
is recently executed have high chances of execution again.
So the instruction is kept in cache memory such that it can
be fetched easily and takes no time in searching for the
same instruction.
14. 3 Write-Through Cache
4 Write-BackCache
Write-through data is simultaneously updated to cache and
memory. This process is simpler and more reliable. This is used when
there are no frequent writes to the cache.
It helps in data recovery. A data write will experience
latency as we have to write to two locations. It Solves the
inconsistency problem. But it questions the advantage of having a
cache in write operation.
The data is updated only in the cache and updated
into the memory at a later time. Data is updated in the
memory only when the cache line is ready to be replaced.
Write Back is also known as Write Deferred.