And here is the pertinent quote by Dan in response to my question:
PC800 RDRAM actually operates at 400MHz, but can transfer twice per cycle (a la DDR), for an effective 800MHz. PC600 is actually 300MHz, double pumped. And so on.
On the 850 chipset, yes, the memory bus actually operates at a multiplier of the system bus. In the case of the 850, the options are 3X and 4X. That is, the memory can operate at 3X the system bus (3x100MHz = 300MHz, PC600), or 4X the system bus (4x100MHz = 400MHz, PC800). Remembering, like you said, that the P4 FSB actually runs at 100MHz, but transfers 4x per cycle (400MHz effective).
Yet, in the 2.53 GHz P4 article, we find the following quote:
In order to keep things synchronous, the RDRAM clock was increased along with the system clock, and the RDRAM multiplier simply lowered. With a 400 MHz FSB, for example, the RDRAM is clocked at 100 MHz, using a 4X multiplier, for an effective 800 MHz (remembering that, like DDR memories, RDRAM transfers twice per clock cycle). When using the new 533 MHz FSB, the RDRAM will likewise operate at 133 MHz, but use only a 3X multiplier, resulting in the same 800 MHz effective speed.
Now maybe it's just me, but it would seem these statements do not mesh. The first comment suggests that the multiplier is determined by which of the two memory types is in use, 3x for PC600, 4x for PC800. The second comment would appear to suggest that the type of memory in use is a function of what the multiplier is currently set.
Am I missing something here? Which of the two is correct?
Want to enjoy fewer advertisements and more features? Click here to become a Hardware Analysis registered user.
Like a CPU, BOTH the multiplier and bus speed determine how fast RDRAM operates. There really is no 'clear' PC800. PC800 more accurately indicates RDRAM delivering 3.2GB/s. That could be 4x100MHz, 3x133MHz, or 1x400MHz. Those would all classify as PC800.
With the 850 chipset, you have the following choices:
850E supports 533MHz FSB, and when used with a 533MHz CPU, adds the following option:
Later on, we'll see an updated chipset supporting PC1066, or 4x133MHz.
An SPD on the RIMMs indicates to the motherboard what 'speed' the RIMMs are, and the board will run them appropriately. So, if you plug RDRAM rated at PC800 into an 850 board, you get 4x100MHz. If you plug it into an 850E board w/ a 533 MHz CPU, you get 3x133MHz. If you plug RDRAM physically rated at PC1066 (by SPD) into an 850E board, you get 4x133MHz = 533MHz = PC1066.
That's all done automatically by the board and SPD. We'll probably see some boards from 3rd parties that allow you to manually change RDRAM multipliers .. ie, run your PC800 at PC1066 speeds, if it'll handle it.
I think I just figured out why I have a problem with this idea.
As we know from dealing with SDRAM, all 100 MHz chips work at 100 MHz. Some 100 MHz chips can work at 133 MHz. But not all 100 MHz chips will work at 133 MHz.
Because of this, there is a difference between saying a PC800 part is a true 400 MHz chip running DDR as opposed to a 100 MHz or 133 MHz chip at a particular multiplier and then DDR. In the first example, the multiplier is being determined by the overall memory speed. In the second example, the multiplier is determining the overall memory speed.
If the second example is true, Intel and Rambus are going to be in a sticky situation unless they're willing to state that ALL PC800 RIMMs work at both 100MHz base and 133MHz base.
I see what you're saying. ALL PC800 will work at either 100 or 133 MHz, so long as the overall speed is kept the same. As I said .. think of it like a CPU, not like memory.
Your Athlon CPU is rated at 1GHz, or 100MHz x 10. You can run that at 200 MHz x 5 if you like .. so long as your motherboard will support it. The CPU will do it just fine...no?
In this case, as long as the chipset supports the bus speed, the RIMMs will handle it. PC800 can run at 100MHz x 4, 133MHz x 3, 200MHz x 2 .. whatever. As long as the chipset supports it .. it's all good.
Hmmm, I think your latest answer may have provided the example I need to make my point clearer.
"Your Athlon CPU is rated at 1GHz, or 100MHz x 10. You can run that at 200 MHz x 5 if you like .. so long as your motherboard will support it. The CPU will do it just fine...no?"
That much is true. Wasn't so long ago that changing the multiplier was a oft-employed overclocking method. However, let's use that example to explore two different processors, the Athlon at 100 MHz DDR FSB vs the Athlon at 133 MHz DDR FSB. At 400 MHz, the former processor is at a multiplier of 4, the second processor is at a multiplier of 3. Either way, they are both a 400 MHz processor, but yet they are not the same. Now, by your statement, assuming we were able to manipulate the multiplier, we should be able to run any of the 100 MHz Athlons at 133 FSB and just lower the multiplier to stay with working parameters for that chip (in terms of overall MHz rating). Do you believe this to be true?
Actually, I think I can definitively say they are not the same part (the two Athlons). Best way to test is to have the two parts paired with either PC133 or PC2100 RAM. What you're going to find is that the Athlon at 133 FSB DDR is going to be able to better utilize the bandwidth offered.
Do you have any links to backup your info regarding PC600 and PC800 actually being a function of the multiplier vs. being true 300 MHz DDR or 400 MHz DDR parts? I went back and checked Anandtech's original article explaining Rambus and saw nothing to suggest what you are saying.
Ah, I see what you're saying now. Yes, running at 3x133MHz would be more 'efficient' than running at 4x100MHz, despite the fact that they result in the same overall speed. Indeed, 1x400MHz would be the most efficient. If you look at the page in my article showing the Cachemem scores I actually commented on that briefly.
Direct quote? I'm not sure what you're looking for exactly. In Anand's 2.53GHz article I found this.. "Since the fastest supported memory type of the i850E is PC800 RDRAM, by default the i850E reduces the RDRAM clock multiplier from 4x FSB frequency to 3x FSB frequency to keep the RDRAM clock at 400MHz (for PC800 RDRAM)." .. which is what I've been saying. That what you mean?
Actually, I think that quote from Anandtech is a touch misleading. Yes, the multiplier is dropped but I do not believe it has anything to do with the memory being either 100 MHz or 133 MHz base. It has more to do with the motherboard knowing what overall memory speed should be expected in the memory slots. In essense, the memory speed being used determines the multiplier not the other way around.
"In this example the CPU communicates with the chipset using a 133 MHz system bus. The address and control information is latched into the chipset, and then takes another 7.5 ns cycle for address decoding and arbitration for the memory controller. Translated addressing and control information must then be broadside loaded into multiple 8 bit shift registers, and then clocked out to the Rambus channel at 800 Mbps starting on the next available falling edge of the 400 MHz clock. If the channel runs either asynchronously or with no predetermined phase relationship to the system bus clock, an extra 2.5 or 5.0 ns clock cycle may be needed to double sample the address and control data across the interface between the two timing domains. Since a DRDRAM read operation is 16 bytes long, the memory controller will issue two back-to-back read operations needed to supply the 32 bytes requested by the CPU."
The second quote is probably the most pertinent one as it happens to remind us of the fact that this is not the first time a Rambus chipset has supported a 133 MHz FSB. The first Rambus based boards were for the Coppermine P3's running at, you got it, 133 MHz FSB. The big problem with the scenario back then was that the Coppermine P3's had no hardware prefetch other other such features to overcome the fact that the FSB was running asynch to the memory bus.
Again, I have not been able to find a single article that backs up what you were suggesting. The Anandtech quote you gave comes closest, but based on his previous articles on Rambus it sounds more like a case of bad wording in that quote than anything else.
I gotta admit, you've lost me now. I really have no idea what you're asking.
Bottom line .. PC800 is rated for 400 MHz (800 DDR). You don't HAVE to run it at exactly 400 all the time, but if you didn't it'd be a waste. So any chipset is going to try to keep it at 400 MHz. If you're using a 133MHz FSB, that means you need a multiplier of 3x. For a 100MHz, 4x. The chipset will be designed to use whatever will keep the clock closest to 400 MHz. Neither 'determines' the other, yet they BOTH determine eachother. It's a the chicken & the egg thing.
According to your original explanation in the article, the multiplier IS determining the speed at which the memory is running. According to you, the final memory speed is variable depending on what the FSB and multiplier are set to be.
Thus FSB * Multiplier * 2 (for DDR aspect of Rambus) = Final Memory Clock.
What I'm saying, and what I believe each article I've linked to states as well, is that the Final Memory Clock is depedent on only one thing, the rating of the chip. PC800 runs at 400 MHz DDR. The function of the multiplier and FSB speed are to tell the system what Rambus part to expect.
I disagree though. If you run PC800 at 3x100, you actually get 300MHz (effectively, PC600). You can manually set the mx on some 3rd party boards, and do that just fine. Just like if you run PC133 SDRAM at 100MHz, you basically get PC100. PC133 does not mean it HAS to ALWAYS run at 133MHz .. just that that's the maximum rated speed. Same idea. PC800 can run at 400MHz, 300MHz, 6MHz, whatever. Determined by the bus speed and mx. (that's why they're called the 'RDRAM Clock' and 'RDRAM Multiplier')
I'm absolutely, 100% positive on that one. I'll try to dig up links. You could check Rambus' or Intel's datasheets. Maybe Sander has some?
FYI -- that's a common trick when overclocking P4s. You need to overclock using the FSB, which ups the RDRAM speed as well. If you drop the RDRAM multiplier a notch, you can reduce it as a source of problems.
Check out some of those sites that have people performing crazy LN2 overclocking. You'll see any of them using an RDRAM board (Abit TH7II is popular) have lowered the RDRAM multiplier to reduce its speed.
That example, while logical, doesn't necessarily hold true. Going to your example of PC800 running at PC600 speed, let's take a look at it from the SDRAM perspective. A PC133 DIMM is rated for anything up to 133 MHz. It is considered a PC133 chip regardless of whether it's running at 133 MHz or 100 MHz. Running the chip at a lower speed than what it is rated for doesn't change what the chip is. By that same token, a PC800 RIMM is rated for 400 MHz DDR. It is still a PC800 part if you run it at 300 MHz DDR instead.
Intel and Rambus documents on the subject are a kludge. So far, I've referenced Anandtech's articles and Paul DeMone's article on Real World Tech. I'd reference Ace's Hardware as well but they pretty much reference DeMone's article on the topic.
Regarding the overclocking.....have a link to one of those overclocking articles?
Without having an article in front of me to peruse, I'd speculate that all that means is that the memory part expected by the system has to have a direct relationship to the FSB speed. If you set the FSB to any setting at which there is no supported multiplier to have the memory part running in spec, you end up overclocking the memory starting either at the base 300 MHz DDR or 400 MHz DDR. In which case, if you'd probably be better off setting a PC800 part to 300 MHz DDR before you started OC'ing the FSB.
I'm not meaning to be rude here, but I'm getting very lost. You seem to be jumping from arguing point to point. Unless I'm still missing something...
You said.. "What I'm saying, and what I believe each article I've linked to states as well, is that the Final Memory Clock is depedent on only one thing, the rating of the chip. PC800 runs at 400 MHz DDR. The function of the multiplier and FSB speed are to tell the system what Rambus part to expect."
No. PC800 does NOT always ALWAYS HAVE to run at 400MHz. You can run it at any speed you like, as determined by the bus and multiplier.
Then you said .. "By that same token, a PC800 RIMM is rated for 400 MHz DDR. It is still a PC800 part if you run it at 300 MHz DDR instead."
I didn't say it wasn't. Of course it's still PC800. But in response to your last post, which you said, was your underlying concern -- you CAN run it at ANY speed you like (just as you can run PC133 at any speed you like). I'm not sure what you're arguing here.
I guess I'm arguing against the terminology you are using to describe Rambus memory speeds. So far, this article is the only one I have found that describes Rambus RIMMs as being base 100 MHz or base 133 MHz. Every article I have seen thus far calls a PC800 part as running at 400 MHz DDR, not 100 MHz x mutiplier of 4 x 2 (for DDR).