View Single Post
  #6  
Old October 27th 04, 05:31 AM
David Maynard
external usenet poster
 
Posts: n/a
Default

-Alby Hewlet wrote:

thanks Dave, another riddle solved.

Can I assume that any DDR memory will run in any board that has DDR
capability regardless of fsb settings and memory settings?


No. Or else there wouldn't be much purpose to having the settings.

I mean, just
using defaults, can you pretty much grab any old DDR stick and put it in any
old DDR slot and it will work?


No. Or else there wouldn't be much use in speed rating the things.

Ignoring the Athlon64 since it doesn't have an 'FSB' (memory controller
integrated and 'hypertransport' bus), the 'simple' answer is you (usually)
want DDR rated at the same speed as your processor's FSB because that is
the speed your processor can communicate to it at.

To explain...

You have a processor inside an I.C. package that needs to get data in/out
to accomplish anything and it's 'window to the world' is through a 'bus'
that we generally call the (Front Side Bus) "FSB" (that's technically Intel
terminology but most folks use it in the generic sense). That 'window', or
communication path, has a speed at which it can transfer data. Slower than
that and you're starving the CPU but it obviously can't accept data faster
than the FSB will operate. The secret to all this is that the busses are
synchronous so things on them *DO* operate at the speed of the bus, or else
they don't operate. The bus clock, not the device(s) on it, SETS the speed
of operation and is what saying something like "100 Mhz FSB" means. The
point here is that a memory speed rating is telling you how fast it 'can'
run; not the speed it *will* be running. The *bus clock* sets the actual speed.

Now, that communication path has to do more than just talk to memory (PCI
bus, AGP, etc.) so it connects to the 'northbridge' I.C. to sort things
out. Without getting into too many details, the point here is that the
memory is connected to the northbridge, which then connects it into the
processor through the FSB. Originally, the memory clock speed was the same
as the FSB clock, so the two were the same, because that simplifies a lot
of things for the northbridge. E.g. An Intel 450MHz P-II had a 100 MHz FSB
so the memory clock was also 100 Mhz and you needed PC100, or better, SDRAM.

I.E.

Clock---------------
| |
| |
FSB Mem Bus
CPU ----- Northbridge -------Memory
| |
| |
PCI AGP

(note: the CPU has an internal multiplier to create it's own 'internal
clock' from the external one provided. E.g. a 450 MHz P-II has an internal
multiplier of 4.5 and 100 x 4.5 = 450)

The second point to our northbridge is, since we have this 'smart'
interface in-between the processor and memory we can, with extra
complexity, do some special things (if we can squeeze it onto the chip);
like operate the memory at different speeds than the FSB. And modern
motherboards usually allow this (older ones didn't because they couldn't
squeeze it onto the chip).

The reason for operating the memory at different speeds is two fold. First,
we could use 'slow', meaning less expensive, memory (remember, if the
memory were on the FSB it would *have* to run at the FSB speed, as it must
with older chipsets, and you'd have to slow the processor too since it's
internal clock comes from the external bus clock). This, however, will
negatively impact performance for the reason stated above: you can't send
memory data to the CPU as fast as the FSB could accept it (FSB starved) so
the CPU will have to 'wait' for data more often (the effect is partly
offset by the on-die L2 cache). But... it's cheap (read: low end desktops).

The second reason would be to use memory that's *faster* than the FSB. Now,
at first blush this seems useless since it can't get to the processor any
faster than the FSB but it allows the memory to service the FSB at full
speed PLUS data streams from the PCI and AGP busses simultaneously. This is
particularly useful with 'on-board' video that's sharing system RAM. I.E.
the on-board video consumes a large number of memory cycles and those
cycles can't be used for CPU access, so if the memory isn't 'faster', to
handle both the FSB AND the video, the CPU would end up waiting again like
it has to with slow memory (often worse). As another Intel example, the 810
chipset was designed for the Celeron, which operates with a 66.6 Mhz FSB,
but *requires* PC100 SDRAM to operate because the memory bus is run at 100
Mhz. And the primary reason for that was the shared memory video built into
the 810 chipset. So one could say 66.6% of the memory speed is for the FSB
and the remaining 33.3% for the display (and I/O). It should be noted that
running the memory faster than the FSB speed usually causes a performance
loss, compared to the 'theoretical' memory speed, simply from the problems
involved with connecting different speed busses together. I.E. Memory run
20% faster than the FSB won't operate fully 20% faster; there are losses
due to the mismatched busses.

A semi-third reason, partially a subset of 'faster', is dual channel RAM.
Of course, dual channel can't talk to the processor any faster than the FSB
either; which is why dual channel DDR on an Athlon XP board doesn't make a
lot of difference (except with memory shared video) to the overall
performance (an interesting side effect is that two slower, potentially
cheaper, DDR sticks can perform as well as the faster DDR but, then, dual
channel motherboards cost more). On a P4 board, however, it takes dual
channel to keep up with the twice as high FSB (e.g. 800 Mhz FSB with DDR400).

So, asking if one can plug just any old DDR into just any old DDR RAM slot,
and 'have it work', it isn't that simple to answer because it depends on
the motherboard, how it implements the DDR slots, how the video is done,
what performance you want to achieve and, of course, what you're willing to
spend.

If the board doesn't allow memory speed to be different than the FSB then
the memory better be rated at least as fast as the FSB clock, or else it
isn't going to work (or you'll have to underclock the CPU since it's clock
is derived from the FSB clock that you'd have to turn down to use the
slower DDR). And 'faster' RAM on a 1:1 FSB/Memory locked board is a waste
because it will still only run at the FSB clock speed regardless of it's
'rating' (*clock* sets the speed; not the RAM).

On a board that *does* allow different memory bus speeds then you can use
slower DDR, but with a loss in performance (FSB starved). You can also use
faster DDR AT the FSB speed, the '1:1' ratio, and it'll be like the
FSB/memory locked board: a waste of the memory 'rating' (*clock* sets the
speed; not the DDR). Or you can operate it faster than the FSB speed.
Whether running it faster provides any significant benefit depends on the
overall system configuration and what the purpose of the computer is. I.E.
'faster than FSB' RAM might make a significant difference in a system with
shared RAM video but have an unnoticeable effect in an AGP plain 'office'
type system.