Uncategorized —

Ask Ars: FSB and memory speeds

Confused about what the FSB is and how fast your RAM is? Ask Ars clears up the …

FSB and memory speeds

Drew writes:

What exactly is a FSB, and when you see speeds reported of 533mhz or 1066mhz, what is really the speed of memory?

The Front Side Bus (FSB) connects the CPU to both the memory bus (where the RAM is housed) and the rest of the chipset (also known as the system data bus). The MHz timing of the FSB is what the other system timings are based upon, often using dividers or multipliers. For instance, if your FSB is 100 MHz, your PCI bus is at 33 MHz and your AGP bus is at 66 MHz, they'd be using 1/3 and 2/3 dividers, respectively.

Once upon a time, that's as complex as it got. The only other timing connections you had to worry about were the CPU and RAM. For the CPU, all you had (and still have) to ask yourself was "does this CPU work with a FSB of X?" For the RAM, you used something like PC100 SDRAM where 100 equaled the speed of the FSB in megahertz. So if you had a 133 MHz FSB, you used PC133 RAM. Easy.

Then AMD and Intel came out with "double-pumped" and "quad-pumped" system buses, respectively, which increased the effective speed of the FSB. Whereas a conventional bus had one transaction per clock tick, a double-pumped bus had two transactions per tick and a quad-pumped bus four per tick. Thus, on a double-pumped AMD board, a 166 MHz FSB now had an effective speed of 333 MHz (166 x 2, add 1). On an Intel quad-pumped board, a 133 MHz FSB now had an effective speed of 533 MHz (133 x 4, add 1).

At roughly the same time, faster memory, in the form of DDR (Dual Data Rate) RAM, hit the shelves. DDR is a type of memory where data is sent over the bus at twice the speed of the clock. A 133MHz bus behaves like a 266MHz one would and the memory used on this bus is known by the higher speed, i.e. DDR 266.

RAM, however, was also now known by a PCxxxx nomenclature. Whereas before PCxxx had meant the frequency of the memory (and was the same as the FSB, see above), now it related to the theoretical speed of the RAM, in Mbps. I won't go into the detailed calculations, but basically PC2100 = 2.1 GBps, PC2700 = 2.7 GBps, and so on.

The upshot of this is that you now know that when purchasing an AMD board with a FSB of 333 Mhz, you're getting a double-pumped 166 MHz FSB. Thus, you'll want to get DDR 333 (PC2700) memory so that all your components are on the same timing. Likewise with an Intel board at 800 MHz for the FSB. There you'll want to get DDR 400 (PC3200) memory. (200MHz FSB running at four transactions per clock tick = 800 MHz FSB. Memory bus is "dual-channel" so can use DDR 400 memory for an effective memory speed of 400 MHz.)

Is that it? Well, no. Then there's RAMBUS, a technology for memory that Intel uses on some boards. Since RAMBUS operates with a 16-bit interface instead of a 64-bit interface, it achieves much higher speeds. On top of this, RAMBUS is identified by the PCxxx and PCxxxx nomenclature, where x(x) equals the "effective" MHz speed, not the theoretical transfer speed, as used with normal DDR memory. Thus PC800 denotes memory running at 800 MHz and PC1066 denotes memory running at 1066MHz.

My thanks to Ars OpenForum members Hat Monster and Xevion for their help with this answer.

Revision history

Date Version Changes
07/10/2004 1.0 Release

You must to comment.