cubicl

Distinguished
Mar 12, 2002
20
0
18,510
Thanks to FatBurger for the FAQ.
That sure cleared some smoke for me.

But what about the newer PC 2700 and PC 3000 DDR?
Am I correct to say that they still run on 133 Mhz FSB, and the difference is only the increase in Bandwidth?

Is there a conversion formula somewhere? People keep switching between DDR333, PC 2700, PC 2100, etc.
What does the 333 in DDR333 represent? FSB?
 

FatBurger

Illustrious
I forgot about that, that'll be the first thing I'll add when I get a chance.

There are a small handful of boards that natively support PC2700. However, these run asynchronously to the CPU bus, and so only provide a small increase in performance. The only place you would want memory higher than what your board is rated for (e.g. PC2700 with a board that only really supports PC2100) is for overclocking. This RAM is guaranteed to OC up to that speed (if not more). If it does not live up to promises, you are entitled to a refund.

Here's a cheat sheet for you:
PC1600 = DDR200 = 100MHz FSB
PC2100 = DDR266 = 133MHz FSB
PC2400 = DDR300 = 150MHz FSB
PC2700 = DDR333 = 166MHz FSB
PC3200 = DDR400 = 200MHz FSB

There's nothing higher than that, and most memory will go above what it's rated for. Remember that memory with these ratings are merely guaranteed to go that high. Without overclocking, you won't see any increase in performance between PC2700 and PC3200.

<font color=blue>If you don't buy Windows, then the terrorists have already won!</font color=blue> - Microsoft
 

jlanka

Splendid
Mar 16, 2001
4,064
0
22,780
PC1600 = DDR200 = 100MHz FSB
PC2100 = DDR266 = 133MHz FSB
PC2400 = DDR300 = 150MHz FSB
PC2700 = DDR333 = 166MHz FSB
PC3200 = DDR400 = 200MHz FSB
FatBurger, where do these numbers come from/what is the formula? i.e. how does 1600 relate to 100? or 2100 relate to 133? Is there a formula or is it just memorization/naming convention? A quick calc gives <i>roughly</i> 16x but no exactly.

<i>It's always the one thing you never suspected.</i>
 

FatBurger

Illustrious
Here we go...

Bandwidth is the amount of data that can be pushed, usually measured in amount per second. The unit of measurement depends on what is being measured, RAM is always MB/s or GB/s (megabyte or gigabyte per second).

SDRAM has a 64-bit wide datapath (remember there are 8 bits in a byte, so 8 bytes). To determine the (theoretical maximum) bandwidth, you must multiply the clock speed by the datapath. PC1600 runs at 100MHz (but effectively 200MHz), so you can determine that <b>100MHz X 8 bytes X 2 bits per clock = 1600MB/s</b>. To simplify the equation, you could also just use the effective clock speed and do <b>200MHz X 8 bytes = 1600MB/s</b>.

Let me know if that's unclear, it probably needs to be changed a bit to make more sense.

<font color=blue>If you don't buy Windows, then the terrorists have already won!</font color=blue> - Microsoft
 

cubicl

Distinguished
Mar 12, 2002
20
0
18,510
Just to make sure that I've got it right...

When we call it PCXXXX, the formula is:
<b>FSB x 2 x 8</b>

When we call it DDRXXX, its:
<b>FSB x 2</b>

And we don't really need anything more than PC2100 or DDR266 unless we are going to overclock. Right?
 

jlanka

Splendid
Mar 16, 2001
4,064
0
22,780
OK, thats what I had been alluding to in my post, the only remaining question is:

PC1600 = DDR200 = 100MHz FSB 200 * 8 = 1600 OK
PC2100 = DDR266 = 133MHz FSB 266 * 8 = 2128 Rounding?
PC2400 = DDR300 = 150MHz FSB 300 * 8 = 2400 OK
PC2700 = DDR333 = 166MHz FSB 332 * 8 = 2656 Rounding?
PC3200 = DDR400 = 200MHz FSB 400 * 8 = 3200 OK

Are the 2 just rounded off for ease of naming?

Thanks.

<i>It's always the one thing you never suspected.</i>
 

FatBurger

Illustrious
Yes, that's correct. The reason is that DDRXXX refers to the effective clockspeed, and the PCXXXX refers to the theoretical maximum bandwidth.

Are the 2 just rounded off for ease of naming?

Yes, they're just rounded off. It's a whole lot harder to ask for "PC2128".

<font color=blue>If you don't buy Windows, then the terrorists have already won!</font color=blue> - Microsoft
 

ath0mps0

Distinguished
Feb 16, 2002
579
0
18,980
PC1600 = DDR200 = 100MHz FSB 200 * 8 = 1600 OK
PC2100 = DDR266 = 133MHz FSB 266 * 8 = 2128 Rounding?
PC2400 = DDR300 = 150MHz FSB 300 * 8 = 2400 OK
PC2700 = DDR333 = 166MHz FSB 332 * 8 = 2656 Rounding?
PC3200 = DDR400 = 200MHz FSB 400 * 8 = 3200 OK

Are the 2 just rounded off for ease of naming?
Yes they are rounded, but to clarify: 133MHz FSB is really 133 1/3MHz or 133.333 (ad nauseaum)MHz and 166MHz FSB is really 166 2/3 or 166.666 etc. MHz. Anytime - since the 33MHz 486 - computer people talk about 33 or 66MHz clocks they are usually talking about thirds of 100 -> 100/3 = 33.3333 or 2 * (100/3) = 66.6667. That is why a 10.5 mulplier on a 133MHz FSB results in a 1400MHz chip.

In addition, DDRxxx represents the bandwidth in Mb/s per pin (bit width) of the memory chips on a DDR-SDRAM module (DIMM). PCxxxx represents the bandwidth of a 64bit DDR-SDRAM DIMM in MB/s. So, DDR200 is a 200Mb/s per bit width memory chip. These chips are usually 8 bits wide. PC1600 is a 64bit DDR DIMM that supplies 1600MB/s memory bandwidth.

So:

PC1600 DIMM uses DDR200 chips = 100MHz FSB 200 * 8 = 1600MB/s
PC2100 DIMM uses DDR266 chips = 133.333MHz FSB 266.667 * 8 = 2133.333MB/s Rounded to 2100
PC2400 DIMM uses DDR300 chips = 150MHz FSB 300 * 8 = 2400MB/s
PC2700 DIMM uses DDR333 chips = 166.667MHz FSB 333.333 * 8 = 2666.667MB/s Rounded to 2700
PC3200 DIMM uses DDR400 chips = 200MHz FSB 400 * 8 = 3200MB/s

And before anyone asks - it is similar for RDRAM which is also DDR but instead of being 64 bits wide is 16 bits (2 bytes) wide and runs serially, so each chip has the same bandwidth as the module:

PC800 RIMM uses PC800 chips = 400MHz * 2(DDR) * 2bytes = 1600MB/s
PC1066 RIMM uses PC1066 chips = 533MHz * 2 (DDR) * 2bytes = 2133MB/s

Which match up to P4's 100 and 133MHz (QDR 400 and 533MHz) 64bit busses (3200 and 4266MB/s respectively) by using two RIMMs at a time.

The PCxxxx wars started with PC66-133 SDR-SDRAM representing both MHz and bandwidth per pin. Then Rambus introduced RDRAM that, while technically following the specification, was misleading to the average consumer because the modules were only 2bytes wide. So, while PC133 provides 1066MB/s per DIMM, PC600 provides 1200MB/s per RIMM - not as much bandwidth increase as is inferred by a jump from 133 to 600. The SDRAM vendors decided to fight back with the spec for DDR-SDRAM modules - while sticking to the bandwidth per pin for the chips (DDR200), they decided to use total memory bandwidth when referring to the modules (PC1600 DIMM).

I thought a thought, but the thought I thought wasn't the thought I thought I had thought.