Before reading this article, you should review the article Dual Channel Technology to understand Bus Width concept. This is the width of the data transmission line between RAM and CPU. Bus Width is a factor that affects RAM bandwidth.
1. Concept of RAM bandwidth
RAM bandwidth can be defined as the amount of data transferred between RAM and CPU in 1 second. The unit of measurement of RAM bandwidth is bits/second (b/s). In addition, we can change to other units of measurement such as 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 this road is wider and the speed allowed to travel is higher, the more traffic will pass through. Similarly, on computer mainboard, RAM bandwidth depends on bus speed and bus width.
In there, Bus Speed is the maximum data transfer rate (DTR) on the data transmission line between RAM and CPU. The unit of measurement for Bus Speed is usually MHz. Bus Speed depends on 2 factors: RAM data access speed and maximum data transfer rate that the data transmission line on the mainboard allows. Of course, the data transmission line on the mainboard always supports a higher data transfer rate than the data access speed of RAM.
Bus Width is the data transmission line width between RAM and CPU. Bus Width are usually 32 bit and 64 bit but can also be up to 128bit. Note, today, the types of RAM DDR, DDR2, DDR3, DDR4 used for personal computers always have a Bus Width of 64 bit. For example:
Pay close attention, we will see the pins are denoted DDR_A_D0, DDR_A_D1,…, DDR_A_D63. There are total of 64 pins, corresponding to the Bus Width of RAM is 64 bit, each pin corresponds to one bit. These pins are used to transfer data from RAM to CPU and vice versa.
2. Formula to calculate RAM bandwidth
We can calculate RAM bandwidth using the formula below:
Bandwidth = BusSpeed x BusWidth x Channel
In there, Channel is 1 if single channel or 2 if dual channel.
For example: A RAM system has a bus speed of 400 MHz and bus width of 64 bit.
If using Single Channel, then BW = 400 x (64/8) x 1 = 3200MBps. If using Dual Channel, then BW = 400 x (64/8) x 2 = 6400MBps. Note, we use (64/8) because we need to convert the bandwidth from bit to byte.
The bandwidth that we calculate according to the above formula is the maximum theoretical bandwidth. But in practice, the bandwidth is often less or not able to surpass the theoretical bandwidth.
Some RAM sticks have its specifications as: 256 MB – DDR – 333MHz – PC2700 (capacity – type of RAM – bus speed – bandwidth). Others 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 the topic does not give more anything, the default bus width is now 64bit.