Introduction to Dual Channel (Part 1)

This tutorial will introduce you to some of the issues of Dual channel technology: how it works, how to set it up, and how to calculate transfer speeds, etc.

Gabriel Torres

RAM system memory often interferes with the computer in performing its maximum performance. This is because processors (CPUs) are usually faster than RAM and often have to wait for RAM to distribute data. During this wait, the CPU is completely idle and does not perform a task (that is not absolutely true, but it matches our explanations).

In a perfect computer, the RAM memory will be as fast as the CPU. Dual channel is the technology used to duplicate the communication speed between memory controller and RAM memory to improve system performance. This tutorial will introduce you to some of the issues of Dual channel technology: how it works, how to set it up, and how to calculate transfer speeds, etc.

Before introducing dual channel, let us learn how the RAM is connected to the system.

Memory is controlled by a circuit called memory controller. This circuit is inside the chipset (north bridge chip - or MCH, Memory Controller Hub) for Intel CPUs, and inside CPU for AMD CPUs (CPU designed on AMD64 architecture; old AMD CPUs as Athlon XP uses the same schema as Intel's CPUs.)

RAM is connected to the memory controller via some wires. These wires are divided into three groups: data group, address group and control group. The wires that serve the data bus function will carry the read data (ie, be transferred from memory to memory controller, then to the CPU) or be written (ie transmitted from memory controller to memory, from the CPU ). The wires that act as the address bus are responsible for instructing the correct memory modules (which addresses) the data will be extracted or saved. And the control wires send commands to the memory modules, instructing them what type of operation is being done - for example, if it is a write (save) or read operation. Another important wire in the control bus is the memory clock signal. Let us review the summary in Figure 1. Our drawing is based on Intel's system. AMD CPUs have memory controllers inside the CPU, so the memory bus comes directly from the CPU without intermediaries.

Introduction to Dual Channel (Part 1) Picture 1Introduction to Dual Channel (Part 1) Picture 1

Figure 1: How to access memory

Memory speed (clock speed), maximum capacity and RAM types (DDR, DDR2, DDR3, .) for a system defined by the chipset (Intel) or by CPU (AMD). For example, DDR3 memory types on Intel systems depend on the chipset (and the motherboard supports those types of memory) and not the CPU. AMD systems currently cannot work with DDR3 memory because the embedded memory controller cannot recognize this technology.

With clock speed, if the memory controller can only create a clock rate of 667 MHz (333 MHz x 2), then your DDR2-800 memory will work at 667 MHz on this system. This is a physical limitation for memory controllers. Usually you will only see this type of restriction on Intel systems, because AMD CPUs can recognize DDR2 memory up to 800 MHz (socket AM2 CPU) or 1,066 MHz (socket AM2 + Phenom CPU).

Another interesting thing is related to the maximum amount of memory that the system can recognize is that, most Intel CPUs have an address bus for 32 or 36-bit memory (here we is referring to the address bus available on the CPU external bus, ie on the CPU front side bus). This allows the CPU to recognize memory up to 4 GB (2 ^ 32) or 64 GB (2 ^ 36).

However, with the memory controller, the component can be accessed by memory (not the direct access CPU), this is the intermediate component that can limit the maximum number of RAM that your system has. For example, Intel P35 and G33 chipsets can only access up to 8 GB of RAM (2 GB on each memory socket). Plus the problem here is that the motherboard manufacturer does not make a sufficient number of memory sockets available on the motherboard to meet the maximum amount of RAM that the CPU can theoretically access. For example, if a manufacturer creates a motherboard based on the Intel G33 chipset with only two memory sockets, the maximum amount of memory you can have is 4 GB (2 GB per socket), although the chipset This is capable of allowing access to 8 GB.

Since all memory modules available today are 64-bit devices, the memory data bus is 64-bit. However, dual channel technology has expanded the memory data bus from 64 to 128 bits.

So what is Dual Channel?

Dual channel is a memory controller enabling technology that can extend the width of the data bus from 64 to 128 bits. Consider everything that remains the same (for example, clock speed), when the maximum theoretical transfer rate of memory will be doubled when using this technology.

The maximum theoretical transfer rate (MTTR) is calculated according to the formula:

MTTR = real clock rate x data transferred per cycle x number of bits transmitted per cycle / 8
or
MTTR = DDR clock rate x number of bits transmitted per cycle / 8

DDR (Double Data Rate) memory such as DDR-SDRAM, DDR2-SDRAM and DDR3-SDRAM both transmit two data per cycle. So they have twice the transfer rate compared to traditional memory (like the original SDRAM) at the same clock rate. Therefore, DDR memory is often labeled twice as much as their actual clock rate. For example, DDR2-800 memories actually work at 400 MHz clock rate and transmit two data per clock cycle, so the label is assigned '800 MHz' even though its actual clock signal must be 800 MHz.

In the formulas given above, you need to multiply the clock rate by two times, which means using the DDR clock rate.

A DDR2-800 memory module - a 64-bit device, as mentioned before - has the largest theoretical transfer rate of 6400 MB / s (800 MHz x 64/8). This is why memory modules using DDR2-800 memory chips are also called PC2-6400. This number aims to say the maximum theoretical transfer rate of memory in MB / s.

If we use dual channel technology with DDR2-800 modules, the maximum theoretical transfer rate of memory will be doubled, jumping from 6,400 MB / s to 12,800 MB / s (800 MHz x 128 / 8), why is that because, then we will transmit twice the amount of data (128 bits versus 64 bits) per clock cycle.

Keep in mind that the transfer rate here is only 'theoretical'. When calculating, we need to admit, certain data transmission will occur at each clock cycle (ie on DDR2-800 memory there will be 800,000,000 data transfers that occur every second), The fact never happens because there is no memory controller and any CPU transmits 100% of the data over time. That's why when you measure the actual transmission from the system with a program such as Sandra, you get a lower value than the theoretical maximum transfer rate.

Another issue that you should keep in mind is that the performance increase is only performed on the secondary memory system; 100% theoretical increase in performance is not equivalent to a 100% increase in performance across your computer, but only a small percentage of the increase in memory performance will affect the overall performance of the system. system.

We will explain in detail to you what happens physically with the memory data bus because there is a lot of wrong information posted on forums about how dual channel technology works. how.
Introduction to Dual Channel (Part 2)

3.8 ★ | 9 Vote