Custom Search

 

Everything You Need to Know About Dual Channel

Everything You Need to Know About Dual Channel

Introduction

The system RAM memory prevents the PC of achieving its maximum capable performance. This happens because the processor (CPU) is faster than RAM memory and usually it has to wait for the RAM memory to deliver data. During this wait time the CPU is idle, doing nothing (that's not absolutely true, but it fits in our explanation). In a perfect computer, the RAM memory would be as fast as the CPU. Dual channel is a technique used to double the communication speed between the memory controller and the RAM memory, and thus improving the system performance. In this tutorial we will explain everything you need to know about dual channel technology: how it works, how to set it up, how to calculate transfer speeds and more.

Before explaining what dual channel is, let’s first explain how RAM memory is traditionally connected to the system.

Memory is controlled by a circuit called memory controller. This circuit is physically inside the chipset (north bridge chip – or MCH, Memory Controller Hub, as Intel calls this chip –, to be more specific), in the case of Intel CPUs, and inside the CPU, in the case of current AMD CPUs (i.e. CPUs based on AMD64 architecture on: Athlon 64, Phenom, etc; older AMD CPUs like Athlon XP use the same scheme as Intel CPUs).

RAM is connected to the memory controller thru a series of wires. These wires are divided into three groups: data, address and control. The wires from the data bus will carry data that is being read (i.e. transferred from the memory to the memory controller and then to the CPU) or written (i.e. transferred from the memory controller to the memory, coming from the CPU). The wires from the address bus tells the memory modules where exactly (i.e. which address) that data must be retrieved from or stored. And the control wires send commands to the memory modules, telling them what kind of operation is being done – for example, if it is a write (store) or a read operation. Another important wire present on the control bus is the memory clock signal. We summarize this on Figure 1. Our drawing is based on an Intel system. On AMD CPUs the memory controller is inside the CPU and thus the memory bus comes directly from the CPU with no “middleman”.

How RAM works

Figure 1: How memory is accessed.

The memory speeds (clock rates), maximum capacity and types (DDR, DDR2, DDR3, etc) a system can accept is defined by the chipset (Intel) or by the CPU (AMD). For example, accepting DDR3 memories on an Intel system will depend on the chipset (and on the motherboard providing the right kind of memory sockets) and not on the CPU. AMD systems currently can’t work with DDR3 memories because the embedded memory controller can’t recognize this technology.

As for the clock rates, if the memory controller can only generate a clock rate of, let’s say, 667 MHz (333 MHz x 2), your DDR2-800 memories will work at 667 MHz on this particular system. This is a physical limitation of your memory controller. Usually you will see this kind of limitation only on Intel systems, as AMD CPUs can recognize DDR2 memories up to 800 MHz (socket AM2 CPUs) or up to 1,066 MHz (socket AM2+ Phenom CPUs).

Another interesting thing refers to the maximum amount of memory the system can recognize. Most Intel CPUs have a 32- or a 36-bit memory address bus (here we are referring to the address bus available on the CPU external bus, i.e. on the CPU front side bus). This allows the CPU to recognize up to 4 GB (2^32) or 64 GB (2^36) of memory, respectively. But since it is the memory controller who will access the memory (not the CPU directly), this middleman may limit the maximum amount of RAM your system can have. For example, Intel P35 and G33 chipsets can only access up to 8 GB of RAM (2 GB per memory socket). Plus the motherboard manufacturer may not make available enough memory sockets on the motherboard in order to achieve the maximum amount of RAM that the CPU can theoretically access. For example, if a manufacturer produces a motherboard based on Intel G33 chipset with only two memory sockets, the maximum amount of memory you can have is 4 GB (2 GB per socket), even thought the chipset is capable of accessing up to 8 GB.

Since all kinds of memory modules available today are 64-bit devices, the memory data bus is 64-bit wide. What dual channel technology does is expand the memory data bus from 64 to 128 bits.

What is Dual Channel?

Dual channel is the ability that some memory controllers have to expand the width of their data busses from 64 to 128 bits. Considering that everything remains the same (clock speeds, for example), the memory maximum theoretical transfer rate is doubled by the use of this technique.

The maximum theoretical transfer rate (MTTR) is calculated using this formula:

MTTR = real clock rate x data transferred per cycle x bits transferred per cycle / 8

Or

MTTR = DDR clock rate x bits transferred per cycle / 8

Memories based on DDR (Double Data Rate) technology such as DDR-SDRAM, DDR2-SDRAM and DDR3-SDRAM transfer two data per clock cycle. Because of that they achieve double the transfer rate compared to traditional memories (such as the original SDRAM) running at the same clock rate. Because of that DDR-based memories are usually labeled with double their real clock rate. For example, DDR2-800 memories in reality work at 400 MHz transferring two data per clock cycle, and thus are labeled as being an “800 MHz” device, even though the clock signal doesn’t really work at 800 MHz.

So in the above formulas you to multiply the real clock rate by two, i.e. use the DDR clock rate.

So a DDR2-800 memory module – which is a 64-bit device, as mentioned before – has a maximum theoretical transfer rate of 6,400 MB/s (800 MHz x 64 / . This is why memory modules using DDR2-800 memory chips are also called PC2-6400. This number refers to the memory’s maximum theoretical transfer rate in MB/s (megabytes per second).

If we enable dual channel technique with DDR2-800 modules, the memory subsystem maximum theoretical transfer rate is doubled, jumping from 6,400 MB/s to 12,800 MB/s (800 MHz x 128 / , as we will be transferring double the amount of data (128 bits vs. 64 bits) each clock cycle.

It is very important to notice that these transfer rates are “theoretical”. When we calculate them we are assuming that a data transfer will occur at each clock cycle (i.e. that on a DDR2-800 memory 800,000,000 transfers per second will occur), which in fact never happens, because no CPU or memory controller is transferring data 100% of the time. That is why when you measure the actual memory transfer from your system using a program such as Sandra you always get a value lower than the maximum theoretical transfer rate.

It is also important to notice that the performance increase is achieved only on the memory subsystem; a 100% theoretical performance increase does not translate into a 100% performance increase in your whole computer. Only a small percentage of this memory performance increase will be reflected on the overall system performance.

At this moment we want to explain in details what physically happens with the memory data bus, because we’ve seen a lot of wrong information being posted on our forums about how dual channel technique works.

Let’s first assume a system that doesn’t support dual channel feature (i.e. a single channel system).

When we say that the memory data bus is 64-bit wide, this means that there 64 wires (yes, physical wires on the motherboard) connecting the memory controller and the memory sockets. These wires are labeled D0 thru D63. The memory data bus is shared among all memory sockets. The address and control busses will activate the proper memory socket depending on the address where data must be stored or read from. We illustrate this on Figure 2.

How single channel works

Figure 2: How single channel works.

On systems supporting dual-channel technology, the memory data bus is expanded to 128 bits. This means that on such systems there are 128 wires connecting the memory controller and the memory sockets. These wires are labeled D0 thru D127. Since each memory module can only accept 64 bits per cycle, two memory modules are used to fill the 128-bit data bus. So for dual-channel technology to work you need to have an even number of memory modules on your system (assuming that your AMD CPU or Intel chipset support this technology, of course). If you install just one module this technique won’t work because memory will still be accessed 64 bits per cycle. In other words, dual channel works by accessing two memory modules in parallel, i.e. at the same time.

How dual channel works

Figure 3: How dual channel works.

Because the two modules are accessed at the same time, they must be identical (same capacity, same timings and same clock rate).

Enabling Dual Channel

In order to enable dual channel technology you need to have:

  • Compatible chipset and motherboard (Intel CPU) or compatible CPU (AMD).
  • Two or four identical memory modules, compatible with the technology supported by the motherboard (DDR-SDRAM, DDR2-SDRAM or DDR3-SDRAM).

AMD CPUs based on sockets 939, 940, AM2, AM2+ and F (1207) are compatible with dual channel technology (socket 462 motherboards with nForce 2 chipset are also compatible). For the Intel platform you will have to check on the motherboard manual or specs page on the manufacturer’s website to see if the motherboard is compatible with dual channel technology.

If you have only one memory module dual channel isn’t available. So if you want a PC with 2 GB of RAM the best way to achieve this is by using two 1 GB modules instead of one single 2 GB module, because on the first case you can enable dual channel mode (which increases performance), while on the second you can’t.

If your motherboard has only two memory sockets – which is more common to happen with entry-level motherboards – then to enable dual channel you have to simply install two memory modules.

On motherboards with four memory sockets, which is the most common scenario, the correct way to enable dual channel technology varies.

If you have four memory modules simply install all of them and dual channel method will be enabled.

If you have two memory modules – which is the most common situation – you have to pay attention.

In order to facilitate our explanations, let’s number the motherboard memory sockets as 1, 2, 3 and 4.

Motherboards Targeted to Intel CPUs

On motherboards targeted to Intel processors, usually dual channel is enabled by skipping one memory socket. So you have to install your first memory module on socket 1 and the second memory module on socket 3, skipping (leaving empty) socket 2. Installing the first memory module on socket 2 and the second memory module on socket 4 will also work.

To make dual channel installation an easier process most of the manufacturers use the same color for sockets 1 and 3 and a different color on sockets 2 and 4, see Figure 4. So in order to enable dual channel simply install your memory modules on sockets with the same color (it doesn’t matter which color you pick).

ATTENTION: the only manufacturer that doesn’t follow this scheme is MSI; on most motherboards from this manufacturer sockets 1 and 2 use the same color while sockets 3 and 4 use another color, see Figure 6. The problem is that some of their products follow the scheme explained on the above paragraph! So on motherboards from MSI don’t follow any color code: use the skipping method (i.e. leave one empty socket between the two memory modules, see Figure 5).

Enabling dual channel

Figure 4: Memory socket arrangement on a typical socket 775 (Intel) motherboard.

Enabling dual channel

Figure 5: Memory modules correctly installed in dual channel mode (see the empty socket between them).

Enabling dual channel

Figure 6: MSI uses a different color scheme.

Here is a more technical explanation: sockets 1 and 2 are physically connected to channel “A” while sockets 3 and 4 are physically connected to channel “B”. When you install memory modules on sockets 1 and 3 or 2 and 4, you are installing each memory module on a different channel, thus enabling the 128-bit access mode. If you install memory modules on the same channel (by installing them on sockets 1 and 2 or 3 and 4) the memory controller will only see a 64-bit device and thus dual-channel mode won’t be enabled.

Enabling dual-channel on systems based on AMD CPUs is a little bit different. Let’s see how it is done.

Enabling Dual-Channel (Cont’d)

Enabling dual-channel on systems based on AMD CPUs is a little bit different.

Motherboards Targeted to AMD CPUs

You can find motherboards targeted to AMD processors using the same method described before or enabling dual-channel by installing memory modules sequentially, not skipping one socket.

At least here all manufacturers (including MSI) use the same standard of using the same color to identify different channels. In other words, install your memory modules on sockets with the same color (it doesn’t matter which color you pick).

On Figure 7 we show a motherboard for AMD processors where sockets 1 and 2 are yellow and sockets 3 and 4 are lilac. To enable dual-channel on this motherboard we need to install our memory modules on same-color sockets, see Figure 8.

Enabling dual channel

Figure 7: Memory socket arrangement on a socket 939 (AMD) motherboard.

Enabling dual channel

Figure 8: Memory modules correctly installed in dual channel mode.

Checking if Dual-Channel is Enabled

After installing your memory modules the final step is to check if they are really operating under dual-channel mode.

Currently most motherboards will display this information on POST, which is that screen that appears right after you turn on your computer, showing some information about your system. Look for phrases like “Dual Channel” and “Single Channel”, see Figure 9.

Enabling dual channel

Figure 9: PC with dual channel mode correctly enabled (see “at Dual Channel”).

Another way to check this is by running a hardware identification utility. We recommend running CPU-Z and checking memory information presented on its Memory tab, see Figure 10. You can see if dual-channel is enabled under “Channels #”, which should report “Dual”. On this same screen you can check the current real memory clock rate and timings. Keep in mind that the real clock rate is half of the announced memory clock. In our example (Figure 10) the memories were being accessed at 333 MHz, i.e. “667 MHz”. This is a good place to check if your memories are being accessed at their full speed. If not, you need to check to see what is wrong (usually a misconfiguration on the motherboard setup or a limitation from the CPU or chipset – for example, if you have an Intel-based PC and your chipset only supports up to DDR2-677 don’t expect to get 800 MHz with your DDR2-800 memories!). Tip: some Athlon X2 processors have a problem where memories can’t be accessed at their full speed.

Enabling dual channel

Figure 10: PC with dual channel mode correctly enabled (see “Dual”).

 

 


Today, there have been 2 visitors (4 hits) on this page!
=> Do you also want a homepage for free? Then click here! <=
Custom Search
New Page 1
Home Page||IP Tracker||Mini Google||Technology Reviews||Pakistan's ISP's||Mini YouTube||The Kissing School||Seo Adsense||Heart Touching||Loan Policies
||Face Book Mini||Orkut Mini||Music Downloads||Fm Radio||Age Calculator||Yahoo Booters||Phone Directory||Online Messenger||Sms n Poetry|
|Softwares||Game Section||Forum||E-Cards||Guest Book||Islamic Section||GSM Glossary||Contact||Counter||Adlante's Map||Site Map