Memory
Performance / Bandwidth
Memory performance
is really a factor of what is known as bandwidth. Bandwidth is
a measure of how much actual data (bits) that can be transferred
between the CPU and memory per second. The higher the
bandwidth (usually measured in Mega-Bits/ Second) the better.
Methods such as DDR and Dual Channel can double the bandwidth over
the maximum allowed by standard SDRAM, which is primarily a factor
of the front side bus.
The
basic formula for bandwidth = (bus frequency x data bus width) / 8
SDRAM and DDR
memory has 64-bit data bus width. You must divide by 8 to
convert from bits to bytes (1 byte = 8 bits). Also note that
bus frequency is the clock speed, and if it is DDR than it is 2 x
the base clock speed (example: DDR266 is 2 x 133MHz).
For example: DDR333's bandwidth is 64
bits x 333MHz / 8, which equals about 2664MB/s or 2700MB/s, hence
the reason that it is called PC2700.
RDRAM is calculated
differently due to its different memory bus width. In the case
of RDRAM the formula is almost the same with the exception that
RAMBUS is only 16 bits. PC800's Bandwidth therefore would be
calculated as 16 bits x 800MHz / 8, which equals 1600MB/s, taking
into consideration that RDRAM supports dual channel functions, this
doubles the effective bandwidth to 3200MB/s.
Using
Dual Channel Memory Controllers
There are a number
of new chipsets that allow for what is know as "dual memory
channel" configuration. The nVidia Nforce2 (Socket A platform),
Intel 875P and Intel 865PE and 865G (Pentium 4 platform) are among
these chipsets.
For example when
using a standard motherboard with Intel 865PE chipset there should
be 4 DIMM sockets, two for each
bank. You can use a
single memory module and the system will run (called single-channel
mode), but you will not have maximum bandwidth.
To get the maximum
memory bandwidth you will need two matching size DDR400 modules
(like Kingston
HyperX DDR400 memory), one in each bank and in "symmetrical
slots." Most of
the newer board wills mark or color-code the slots so it is easier
to identify. Remember
they also need to be same bus width (16x or 8x) and all single sided
or dual sided. You can
add 4 memory modules in two matching pairs for more RAM capacity but
will not get more bandwidth. than with two. Finally you must
use a Pentium 4 @ 800FSB. This will give you matching 800FSB
on the memory (2 x 400) and the CPU and best performance.
Memory
Terminology
Bandwidth =
As mentioned before this is the maximum amount of data (bits) that
can be transferred between the CPU and memory per second.
ECC
= Memory has built in Error-Correcting
Code that can detect and correct single-bit errors without
halting the system. Motherboard
must support this function in order for it to work.
REGISTERED
Memory (REG) = Memory that has register-buffer chips.
The buffer chips hold the data for one clock cycle before it
is transported onto the bus, making it more reliable.
Registered memory is used on many server motherboards.
Motherboard must support this type of memory or the system
will not boot. You will often see both ECC and Registered
listed together on one module, such as ECC REG memory, but they are
independent functions.
EXAMPLE
OF REGISTERED DDR MEMORY (note the extra buffer chips)
|