Cache vs RAM memory: How much should my computer have?


You can also be interested in these:


The CPU cache is a frequently mentioned topic, but not everyone knows its true nature and the need for a minimum capacity for a smooth system or to meet gaming requirements. In this article, we will delve into this type of memory and its importance in performance.



What is the cache memory?

Cache memory, also known as buffer, is an intermediate memory that helps improve access to information. It is located between two units and is high-speed but with limited capacity due to its high cost.

In relation to the CPU, the cache memory is a temporary memory located near the processing cores to store data and instructions, allowing faster access compared to accessing the RAM memory.

This SRAM-type memory is even faster than RAM, allowing access in a few nanoseconds. Therefore, it improves the performance of the CPU, as without it, the CPU would have to access the information in the RAM memory, resulting in increased latency.

Difference between cache and RAM

As you should already know, a program is a set of data and instructions. Instructions are the operations applied to the data. For example, if the CPU needs to perform the operation 2 + 3, the ALU (arithmetic and logic unit) uses the data (2 and 3) and the control unit sends the signal for the ALU to perform the addition when it receives the ADD instruction.

Before the creation of the CPU cache memory, information was accessed through the RAM memory, which resulted in bottlenecks due to the slowness of this memory compared to the CPU. For this reason, the cache memory was created as an intermediate memory to accelerate accesses without having a significant impact on clock cycles, as its latency is much lower. The cache is up to 100 times faster than a standard RAM memory, but its high production makes it expensive to have high-capacity chips for most users.

The term cache is widely used in computing, not just for the CPU cache memory. It is also used to describe other temporary data stores, either in hardware or in software. It is important to know these other uses of the term to avoid confusion. Some examples include: the cache or buffer memory of an HDD unit, the cache memory of a program such as a web browser, optical units, operating systems, and other processing units such as GPUs. In the case of GPUs, the data needed to render graphics can be stored in a cache memory for faster access.

In other words, reference is always made to a type of memory that temporarily stores data and is accessed multiple times, which increases access speed. For example, when you clear the cache memory in your browser, you are likely to notice an increase in the load time of frequently visited web pages.

Impact of cache memory on performance

If you are concerned about how cache memory improves processing speed, you should know that it has very low latency, meaning that very few clock cycles are required to access it. In this way, instead of accessing other slower memories, valuable clock cycles are utilized and performance is improved.

When the CPU needs data or an instruction for execution, it first looks in the cache memory. If the data is found there, it is a hit, allowing for very fast access. However, if the data is not in the cache, it is a miss, which forces the CPU to look for it on a longer route with more latency. This could mean accessing higher levels such as RAM memory or even the hard drive in the worst case.

How much CPU cache memory is necessary?

This is a complicated question to answer. There is no specific amount that can be given. In fact, some microarchitectures may require less cache memory than others and still have better performance. Therefore, it not only depends on the amount, but also on the type of cache memory, etc. For this reason, I cannot give an exact amount, but it is true that within the same microarchitecture, the more cache memory you have, the better it will be.

For this reason, AMD units with 3D V-Cache, which significantly expand cache memory, significantly accelerate performance in games and other applications.

What happens if my cache memory is full?

Well, when we talk about hardware cache memory, like CPU cache memory, there is no need to manually clear it. The system will take care of removing certain data and instructions to make room for others that are more important. This way, performance will be maintained during processes. Therefore, there is no need to worry.

However, in the case of software cache memory, it can be cleaned to save space, although this may mean that some applications decrease in performance. In addition, as you probably know, there are applications that simplify this cleaning process easily, such as CCleaner, Stacer, etc.

There are different levels of cache

Before concluding this article, I believe it is essential to talk about the possible levels of CPU or GPU cache memory, which are key to understanding what they mean when we review the technical specifications when acquiring a processor.

L1 Cache or Level 1

L1 cache memory is the fastest of all. It is a small memory space located close to the control and execution units, with a minimum access time. In many modern architectures, L1 is divided into one for data and one for instructions.

L2 Cache or Level 2

Unlike L1, L2 cache memory is larger but requires more time to access. However, it is still very fast. If the CPU does not find what it is looking for in L1, it will then search in this level. L2 cache memory is usually unified, meaning it can store both data and instructions.

L3 Cache or Level 3

If there is also a miss in L2, the CPU searches in the next level, L3. This memory is also unified, with data and instructions, and is larger than L2. However, as you can imagine, it is slightly slower to access than L2.

In other words, the access speed will be L1 > L2 > L3, and the CPU will start searching in L1 and only if there is a miss, it will move to L2, and if there is also a miss there, it will search in L3. If it is still not found, it will have to go to RAM memory, and so on. If it is not found in RAM, access to virtual memory, i.e. the part of the hard drive used as an extension of RAM, will be necessary.

It is also important to note that L3 is usually the last level (LLC or Last Level Cache), although some systems may have even an L4, or lower levels than L1, such as L0. However, this is less common.

Considerations when buying a CPU

Most buyers do not consider the amount of cache memory that CPUs or GPUs have when making a purchase. And this is a good decision, as performance increases are more significant when improving the microarchitecture generation instead of increasing cache memory.Nevertheless, if the CPU cache memory is an important aspect for you, you should take into consideration the following factors:

  • Size: it is true that a cache memory with greater capacity can store more data and instructions, increasing the chances of a hit, reducing the number of cycles the processor must perform to access a higher level. However, there are many other factors that influence the performance of the processing unit.
  • Latency: this is important, although not all processor manufacturers provide this information. But in general, the lower the access latency to the cache memory, the better the performance. Therefore, it is preferable for latency to be as low as possible. However, other factors also influence this, such as the capacity and type of cache memory.

Conclusion

In conclusion, when purchasing a CPU or GPU, do not solely focus on the amount of cache memory it possesses, as this could lead you astray. Two different products with the same amount of cache memory can have very different performance, and the same can happen with a product that has more cache memory than another and yet performs worse. In other words, the amount of cache memory is not a reliable indicator of performance. However, for units like hard drives and their buffer or cache, cache memory is more important.


More stories like this