if this is the case, then why do most ppl only use DDR333 for a single channel ddr setup for the P4?? why not use DDR400 since this allows more of the FSB to be used??
Intel's first non-RDRAM P4 chipset only allowed PC133 memory (i845), which was horrible performance (less than half the bandwidth of a 400MHz frontside bus). Subsequent chipsets allowed single-channel DDR, but only up to 266MHz bus speeds. The newer single-channel chipsets like 845PE, allow up to 333MHz memory speeds. However they don't officially support DDR400. Intel's chipsets are also designed so that operation at anything other than the speeds Intel wants are NOT possible, no matter what the motherboard manufacturer does for overclocking. So if you have a 533MHz bus processor, the 845PE is able to use 266MHz or 333MHz memory, but can't be set to use 400MHz memory. If you increase the processor bus speed, it increases the memory bus speed at the same rate, but the processor bus will always be higher than the memory speed. That's why it was such a good thing when 845PE came out, because it was a huge performance boost since it allowed 333MHz memory with a 533MHz processor. That's also why people wanted dual-channel for the P4 so much.
also, i thought RDRAM is faster than DDR... at least it costs more. how come you need dual channel RDRAM to match a single channel DDR?
RDRAM is a serial bus, while DDR is a parallel bus. RDRAM is 16 bits wide, SDRAM is 64bits wide. All current x86 processors have a 64bit frontside bus. RDRAM's serial bus allows it to reach much higher frequencies than SDRAM (PC800 runs at a 400MHz clock and is double data rate). Luckily, current processors are not coupled to the memory bus as they were in older systems (Pentium required 2 modules of 32-bit wide fast-page memory because it had a 64-bit memory/chipset bus).
So, in current chipsets, the memory bus does not have to be as wide as the processor bus, but best performance is had when the memory can supply the same amount of data throughput as the processor bus. SDRAM's 64bit bus means that equal frequencies between it and the processor bus have equal bandwidth. A P4's bus is quad pumped, so at 100MHz it has 400MHz of bandwidth; DDR at 200MHz has 400MHz of bandwidth. But RDRAM's bus is only one quarter of the width of a P4's bus; so, after using double-data rate to get 800MHz of bandwidth, it is still only providing half the bandwidth that the P4 bus wants at 400MHz. So, dual-channel controllers are used to provide the full bandwidth.
RDRAM had several advantages over SDRAM when it was first introduced. But it had a lot of disadvantages. The biggest was that it required a license fee paid to Rambus for every chip made. Combined with the fact that it was a brand new memory type, it ended up costing a lot more to make and sell at first. The market for it was also not nearly as large as for SDRAM at first, since only the P4 used it in computers and there were still plenty of people using P3's and Athlons and P2s and Cyrix's (the i820 and i840 allowed RDRAM with the P3, but overall it wasn't successful; Intel doesn't even list them as one of their older products). The serial design allowed it to reach high speeds quickly, on paper, but it ended up being harder to do it in reality, and that's why PC600 and PC700 came out (along with the fact that those modules could be cheaper to compete with SDRAM).
RDRAM's latency was also an issue. It had plenty of bandwidth for a P3, not enough bandwidth for a P4 (in the i820), and the latency was a lot higher than SDRAM. So it didn't perform better in all applications, and a lot of people didn't see any reason to change to a more expensive platform just to get more performance in some uses, and less performance in others. Even PC133 outperformed RDRAM at first. With dual-channel, RDRAM took over the performance crown, but it was still expensive enough that most people ignored it. Then when DDR came into use, offering nearly the same performance but still much cheaper, nobody cared about RDRAM except Intel (in the computer world) and even they've given up on it now. The fact that only one company has control over the RDRAM design, and the small market for it, means it continues to be expensive, and doesn't advance nearly as fast as DDR. People don't want incompatibilities, they like being able to take memory from an old machine and use it when they upgrade, no matter what platform they upgrade to.
Also, MANY people don't even realize that RDRAM requires dual-channel to perform with a P4, because that's the only way it's ever been implemented as far as most people can remember. i820 didn't last long, and i840 then came out with dual-channel for the P3, and it's been dual-channel ever since. The new "32-bit" RDRAM modules also confuse the issue more, because they're just two pieces of 16-bit modules stuck together in one slot; the memory controller is still dual-channel and still accesses them as two channels, but it's cheaper to build them in one and only have one slot on the motherboard for both channels. You quite often see RDRAM proponents pointing to DDR and laughing that it takes dual-channel to compete with RDRAM, and they don't seem to see the irony in that RDRAM has to be running at 4 times the frequency in order to provide the same bandwidth as DDR, and that even with dual-channel all this time it still never was good enough to make people switch in large numbers.
so running ram aynchronously from cpu fsb is bad. but isn't that what you're basically doing when you use the cpu/mem ratios??
e.g. i have a 133 FSB p4... and i have DDR400 (200fsb). i run at at a 4:6 (133:200) ratio so i can use up all the ram. isn't this considered using it asynchronously? ie. isn't using ANY ram that is NOT DDR266 (matching a 133 cpu) running it asynchronously? so should we only use DDR266 for all 133FSB chips?
If you are able to use memory synchronously and provide enough bandwidth for the frontside bus, it is best to do so. However if your frontside bus is so fast that you can't provide enough bandwidth from memory unless you run the memory much faster, you get better performance despite any bus delay issues. This is another reason that dual-channel DDR or RDRAM for the P4 is better than trying to make the memory run faster and faster.
So if you had a 133MHz/533MHz bus P4, yes the latencies are optimized when both are run at 133MHz, but the memory is then only providing half the bandwidth the processor needs, and performance suffers. Running the memory at a higher speed results in slight losses due to the bus delays from the asynch operation, but the performance gained from the increased memory bandwidth is more than enough to make up for it in every instance. I doubt you could find any application where the extra memory bandwidth wasn't enough to make latency issues completely ignorable, because the difference between a P4 bus and DDR bandwidth is so significant.
Using dual-channel of course brings the best of both worlds. 266MHz DDR is perfectly matched with a synchronous bus and the two channels provide the perfect amount of bandwidth to the processor.
The Athlon is a different story, because of its slower frontside bus. The 266MHz bus Athlon is full matched in both synchronicity and bandwidth by a single channel of DDR266. The main reason nforce and nforce2 benefit from dual-channel is twofold: the two memory controllers are optimized to reduce latency by operating independently (only one memory controller in Intel chipsets) so that one controller can be actively reading or writing while the other is preparing for the next operation, and the increased bandwidth allows the onboard video of the IGP to have plenty of bandwidth without reducing the bandwidth to the processor or incurring delays by having to increase the memory speed.