Before reading this article, you should review the article Dual Channel Technology to understand the Bus Width concept. The Bus Width determines the width of the data transmission line between RAM and CPU, which affects RAM bandwidth.
1. Concept of RAM bandwidth
RAM bandwidth is the amount of data transferred between RAM and CPU within a second. It is measured in bits/second (b/s), but can also be expressed in other units like Byte/second, KB/second, MB/second, etc.
The figure above simulates the data transmission line between RAM and CPU. It’s like our roads. If the road is wider and the speed limit is higher, more traffic can pass through. Similarly, on a computer motherboard, the RAM bandwidth depends on the bus speed and bus width.
Bus Speed is the fastest rate at which data can be transferred between the RAM and CPU on the data transmission line. The unit of measurement for Bus Speed is typically MHz. Bus Speed is determined by two factors: RAM data access speed and the maximum data transfer rate (DTR) allowed by the data transmission line on the mainboard. The data transmission line on the mainboard always supports a higher data transfer rate than the data access speed of RAM.
Bus Width refers to the data transmission line width between RAM and CPU. It is typically either 32-bit or 64-bit, although it can be up to 128-bit. Today, the types of RAM DDR, DDR2, DDR3, and DDR4 used for personal computers always have a Bus Width of 64-bit. For example:
Please note that the pins are labeled as DDR_A_D0, DDR_A_D1,…, DDR_A_D63. There are 64 pins in total, which correspond to the 64-bit Bus Width of RAM. Each pin corresponds to one bit and is used to transfer data between RAM and CPU.
2. How to Calculate RAM Bandwidth
To calculate RAM bandwidth, use the formula below:
BandWidth = BusSpeed x BusWidth x Channel
The channel value is 1 for a single channel or 2 for a dual channel. For instance, consider a RAM system with a bus speed of 400 MHz and a bus width of 64-bit.
To calculate the bandwidth, use this formula:
- For Single Channel, BandWidth = 400 x (64/8) x 1 = 3200MBps.
- For Dual Channel, BandWidth = 400 x (64/8) x 2 = 6400MBps.
Note: We use (64/8) to convert the bandwidth from bit to byte.
The bandwidth we calculate using the above formula is the maximum theoretical bandwidth. However, in practice, the bandwidth is often lower or unable to exceed the theoretical bandwidth.
Some RAM sticks may have specifications such as 256 MB – DDR – 333MHz – PC2700 (capacity – RAM type – bus speed – bandwidth). Others may have symbols as shown below:
3. Exercises to calculate RAM bandwidth
Exercise type 1: Give bus speed and bus width, calculate bandwidth
A stick of DDR4 Adata ECC RAM reads as follows: 8GB – PC4 – 1068MHz. Calculate RAM bandwidth.
Exercise type 2: Give bandwidth and bus width, calculate bus speed
A stick of DDR3 RAM has a bandwidth of 12800 MBps. Calculate the bus speed of RAM.
Note: If nothing is said, the default current bus width is 64 bits.