Dual Channel in RAM: CPU and iGPU performance

Dual Channel in RAM: CPU and iGPU performance

When buying a motherboard, a pre-built computer or a laptop, an important point is the performance of the RAM memory and this is not only limited to the speed of this, but to check if we have a Dual Channel configuration or not. that not having it means losing power completely.

When buying a motherboard you will have heard of the terms Single Channel and Dual Channel regarding the RAM memory that is going to be installed in it. And many of you have read and heard how having a single memory channel is detrimental to the performance of our PC compared to having a dual channel one.

What is a memory channel?

Dual Channel

Communication between RAM and any processor is something that although it is totally invisible to both users and programmers, it really is not something trivial. It is a process at the hardware level in which the CPU has to follow a series of strategically ordered steps to request data stored in memory through a series of steps at a specific time.

The problem comes when the IMC, integrated memory controller, which is the piece of hardware within any processor responsible for accessing memory, becomes saturated and this does it when there are many requests. This is like a shopkeeper in front of a very large queue of customers that he has to serve one by one. The key is that as the request list increases, there is more delay in serving customers at the end of the queue. If the clients are requests to memory by the CPU this causes the IMC to saturate completely.

What is the solution? Well, the simplest is not to have one, but two different IMCs, which are in charge of being able to manage in-memory requests in parallel. The usual thing is that for each interface external to the memory there is an associated IMC making the accesses to the RAM assigned to the processor.

Single Channel versus Dual Channel

Until the advent of DDR5, where each module supports two 32-bit memory channels instead of a 64-bit memory, in general we could count the number of available channels by the number of DIMM modules that a motherboard supported divided by two, from such that we can identify a Single Channel motherboard by the fact that it has only 2 DIMM slots and a Dual Channel with 4.

To facilitate the user, they are usually identified by color: two red and two black slots, for example. In such a way motherboards usually have color codes in the memory slots to mark where to place the DIMM modules in the correct way to place the RA; in the appropriate sockets.

The point is that if we have only one module in the computer, it means that we will have only one 64-bit transmission channel per memory clock cycle. However, if we have two modules in the corresponding sockets the bandwidth will double. Reality? The performance increase is far from double. Especially if we have a motherboard designed to use a single memory channel, since in that case a single IMC will be used for communication with the memory. Except of course, as we have said of the recently launched DDR5 where they use two memory channels per module.

How do I know what configuration I have?

CPU-Z Memoria

To check if the configuration of our PC is Single or Dual Channel, programs like CPU-Z will suffice, where in the Memory tab we can check it directly without having to open our computer. Here we have to add a detail, many of the laptops with DDR4 memory and lower support Dual Channel, but since they only have one module installed they work in Single Channel.

So if you have a laptop or a pre-built PC and CPU-Z gives you as a result that you have a Single Channel configuration then do not despair, it is possible that you can remedy this by installing another memory module on the motherboard of your computer and get thus an additional performance bonus.

Why isn’t performance doubled?

We have to start from the idea that when we talk about bandwidth we are really talking about a theoretical limit that consists in that 100% of the time data is being transmitted. The reality is that RAM does not work like this and there is a period of access to determine which column and row of memory the processor wants to access where data is not sent and we also have to take into account that the requests are made by the IMC integrated in the CPU instead of the cores of the same.

The use of the integrated memory controller is so that the cores do not have to wait for the time for the RAM to respond to them, those downtimes are lost performance and hence the need for the IMC. The fact is that at the CPU processing level, having a Dual Channel memory will never double the performance because it is a theoretical rate, an ideal that due to different limitations will never be achieved.

So despite doubling the theoretical bandwidth, the real performance increase will reach that 100%, but it will not do it if we used a single memory channel. What is clear is that always having memory in Dual Channel will always give more performance than having it in Single Channel, which means that a motherboard with a limited module configuration is not only limited in expansion capabilities, but also in performance.

Dual Channel iGPU performance

Single Dual Channel iGPU

GPUs, unlike CPUs, are throughput processors, this means that their performance will depend on the bandwidth and, therefore, on the amount of data they can receive. In the case of integrated graphics they perform very poorly with PC RAM compared to their counterparts in the form of graphics cards even with the exact same configuration. We have to take into account that in PCs the GPUs have a different address space than that of the CPU, so they are assigned a part of the memory for them that the CPU cannot access.

The problem comes when CPU and GPU share the BMI to access memory and one might think from the outset that the access time to the RAM is equivalent to the access time of the CPU plus that of the GPU, but this is not the case, the reality it is different. Since contention is created that causes access downtime by having to continually change the context IMC. This is deadly in the face of CPU access time, so the CPU is assured of minimal access time on each memory channel and the rest is left to the onboard GPU.

Luckily GPUs are not vulnerable to latency, however they are vulnerable to bandwidth. This means that in a Dual Channel configuration, if we use an iGPU to render a game, we will obtain twice the performance than in Single Channel, since the graphics chip receives half the data with which to work.