Investigations into Socket 939 Athlon 64 Overclocking
by Jarred Walton on October 3, 2005 4:35 PM EST- Posted in
- CPUs
RAM BIOS Settings
The final area that will need attention with overclocking is the RAM. The type of RAM used will dictate the approach to overclocking that RAM.
Winbond BH5/CH5 can usually be set to 2-2-2-7 1T timings and then you can simply adjust the voltage levels to try and make it stable. (Technically, the RAM should be able to run 2-2-2-5 1T, but Wesley's tests have shown 7 for tRAS to be the optimal setting, so that's what we used.) You can also increase the timings above 2-2-2-7 1T, though most Winbond users are more interested in keeping "tight" timings. Samsung TCCx will usually run at 2-2-2-7 1T at DDR400 speeds, but increasing the memory speed will definitely require looser timings and possibly more voltage as well. The above screenshot shows the settings that we used for 9x300. You can refer to our memory articles for more detail on how individual brands of RAM perform. If you want to know a bit more about what the timings actually mean, we covered that in the past as well. The simple fact of life is that memory is variable in quality, so while most RAM can run at the specified timings and speed, how far above that you can go is not going to be the same from DIMM to DIMM. It will require time and effort to determine how fast your RAM can run and what timings and voltages will be required - and the motherboard will affect this as much as anything.
Even if you select the slowest possible timings, some DIMMs won't be able to run much above DDR400 speeds. Value RAM in particular is often what is left after all the high speed blanks are binned out, which is why it can be as cheap as half the cost of quality RAM. The above BIOS screens show our settings for 9x300 with the value and performance RAM - you can see that we had to drop to DDR266 vs. DDR333, since not even the OCZ ran optimally at DDR600. (At least, that's what we needed on this particular board with this particular set of DIMMs. 3-4-4-8 with 2T command rate worked, but was slower than DDR333 2.5-3-3-8 with 1T.) If you're going for top performance, value RAM is a poor choice. If, on the other hand, you want to save money, $85 RAM is a lot more attractive than $150+ RAM. The trick to using value RAM is that you basically have to keep it at or below DDR400 speeds, and this is accomplished by the use of memory ratios. There's a stigma against using higher memory ratios, because it "negates the performance gain." That can be true on some platforms, but it doesn't seem to affect Athlon 64 quite as much due to the integrated memory controller. Let's talk about why.
Above is a rough diagram of a typical Pentium 4 motherboard. The CPU talks over the FSB (Front Side Bus) to the NB (North Bridge of the chipset), and the NB then talks over the memory bus to the RAM. The memory controller is part of the NB, and it runs at the system bus speed. With an 800FSB, the base clock speed is actually only 200MHz, but data is sent four times per clock cycle. With modern CPUs running at four or more times the FSB speed (i.e. 3.2 GHz and above), making the CPU wait for data from memory can severely impact performance. It may help to think of the quad-pumping of the FSB as a four-car train leaving every cycle, with the caveat that the train must be either completely full or completely empty. If the CPU is waiting for data from RAM and only three parts are ready, it has to wait an extra FSB cycle. At 200MHz, an FSB cycle could be as many as 19 CPU cycles (for the 580/680)! Here's where memory ratios come into play.
On the P4 chipsets, the NB talks to the CPU at one speed, and it can talk to RAM at a slower or faster speed. If it talks to RAM faster than it talks to the CPU (i.e. DDR2-533 or DDR2-667 with FSB800), there will be fewer "empty trains" going to the CPU. If it talks slower to the RAM than the FSB, however, there will be more empty slots on the FSB. When we look at Pentium overclocking in the future, we'll cover this more, but the basic idea is that you want the RAM to run at FSB speed or faster if at all possible. Dropping even to DDR333 (which is actually DDR320 for most Intel chipsets) can cause a 5 to 10% performance loss, and DDR266 would be even worse. So, why is Athlon 64 different?
The key is in the integrated memory controller. All modern processors run at much faster clock speeds than memory, which is why we have such things as L1 and L2 cache on the CPUs. Even with cache, though, getting data from RAM faster will improve performance substantially. By eliminating the NB from the CPU to RAM path, latencies can be reduced significantly, and this is the key change that AMD made from the K7 to K8 cores (besides the 64-bit extensions that still go unused by the majority of PC users, of course). Clock for clock, the integrated memory controller of K8 makes the Athlon 64 roughly 25% faster than Athlon XP, which is a significant performance increase given the relatively small amount of die space that was required. The integrated memory controller also affects performance when running at other RAM ratios, though. Since there is no NB to CPU delay when going from RAM to CPU, and since the memory controller runs at CPU core speed, once the data arrives from RAM to the memory controller, it is available. On a P4, the use of lower asynchronous memory speeds only serves to increase the delays in accessing RAM.
An interesting corollary to the above discussion is in the Northbridge link of AMD vs. Intel. On AMD, the Northbridge is connected via the HyperTransport link. Running at 1000 MHz base (double-pumped makes it equivalent to 2000 MHz), the HT bus is 16-bits wide (2 bytes) with dedicated upstream and downstream links. All told, that gives:
The net result is that while a lower RAM clock speed can still impact performance on Athlon 64 systems, it will not do so as much as on a P4 style configuration. That's the theory, anyway, and we hope to support it with results from several planned overclocking articles.
To illustrate the above points, we've created a brief list of cycle rates and timings of RAM. We'll start with some common RAM speeds, but the actual speed of your RAM will depend on the CPU multiplier and CPU bus speed, among other things. With the clock speeds and timings, we can also calculate the latency and estimate the total memory latency. Remember that the RAM timings are relative to the base bus speed, not the doubled speed, so DDR400 has a 200MHz base clock speed. There is also latency involved internally in the CPU (typically at least a single RAM cycle each way is spent in the memory controller), as well as in sending the address request across the memory bus and receiving the data back across the bus to the CPU (we guessed at two RAM cycles each way). Command rate adds another cycle, and maybe we're wrong or missed some other potential delays.
Everything takes time, and the memory timings generally only reflect the delays caused internally by the RAM. Different clock speeds and timings should produce a different total latency, and we estimate the total memory subsystem latency below. We'll check the actual latency in our benchmarks later. In practice, going from DDR200 to DDR400 RAM will not cut the RAM latency in half, even at the same timings. For reference, our estimated latency is calculated as:
Even with all this information, we haven't even come close to touching on every BIOS option or memory timing that's available. That is, simply put, beyond the scope of this article. There are over a dozen memory timings listed in the DFI BIOS, and we left the majority of them set to Auto. The only items that we changed are CAS, tRCD, tRP, tRAS, and CMD. We may try to look at the other options in the future, but most of the extra settings are not available on the majority of the motherboards, and we want the information contained in this OC Guide to be applicable to more than just the "elite" motherboards.
The final area that will need attention with overclocking is the RAM. The type of RAM used will dictate the approach to overclocking that RAM.
Winbond BH5/CH5 can usually be set to 2-2-2-7 1T timings and then you can simply adjust the voltage levels to try and make it stable. (Technically, the RAM should be able to run 2-2-2-5 1T, but Wesley's tests have shown 7 for tRAS to be the optimal setting, so that's what we used.) You can also increase the timings above 2-2-2-7 1T, though most Winbond users are more interested in keeping "tight" timings. Samsung TCCx will usually run at 2-2-2-7 1T at DDR400 speeds, but increasing the memory speed will definitely require looser timings and possibly more voltage as well. The above screenshot shows the settings that we used for 9x300. You can refer to our memory articles for more detail on how individual brands of RAM perform. If you want to know a bit more about what the timings actually mean, we covered that in the past as well. The simple fact of life is that memory is variable in quality, so while most RAM can run at the specified timings and speed, how far above that you can go is not going to be the same from DIMM to DIMM. It will require time and effort to determine how fast your RAM can run and what timings and voltages will be required - and the motherboard will affect this as much as anything.
Click to enlarge. |
Even if you select the slowest possible timings, some DIMMs won't be able to run much above DDR400 speeds. Value RAM in particular is often what is left after all the high speed blanks are binned out, which is why it can be as cheap as half the cost of quality RAM. The above BIOS screens show our settings for 9x300 with the value and performance RAM - you can see that we had to drop to DDR266 vs. DDR333, since not even the OCZ ran optimally at DDR600. (At least, that's what we needed on this particular board with this particular set of DIMMs. 3-4-4-8 with 2T command rate worked, but was slower than DDR333 2.5-3-3-8 with 1T.) If you're going for top performance, value RAM is a poor choice. If, on the other hand, you want to save money, $85 RAM is a lot more attractive than $150+ RAM. The trick to using value RAM is that you basically have to keep it at or below DDR400 speeds, and this is accomplished by the use of memory ratios. There's a stigma against using higher memory ratios, because it "negates the performance gain." That can be true on some platforms, but it doesn't seem to affect Athlon 64 quite as much due to the integrated memory controller. Let's talk about why.
Above is a rough diagram of a typical Pentium 4 motherboard. The CPU talks over the FSB (Front Side Bus) to the NB (North Bridge of the chipset), and the NB then talks over the memory bus to the RAM. The memory controller is part of the NB, and it runs at the system bus speed. With an 800FSB, the base clock speed is actually only 200MHz, but data is sent four times per clock cycle. With modern CPUs running at four or more times the FSB speed (i.e. 3.2 GHz and above), making the CPU wait for data from memory can severely impact performance. It may help to think of the quad-pumping of the FSB as a four-car train leaving every cycle, with the caveat that the train must be either completely full or completely empty. If the CPU is waiting for data from RAM and only three parts are ready, it has to wait an extra FSB cycle. At 200MHz, an FSB cycle could be as many as 19 CPU cycles (for the 580/680)! Here's where memory ratios come into play.
On the P4 chipsets, the NB talks to the CPU at one speed, and it can talk to RAM at a slower or faster speed. If it talks to RAM faster than it talks to the CPU (i.e. DDR2-533 or DDR2-667 with FSB800), there will be fewer "empty trains" going to the CPU. If it talks slower to the RAM than the FSB, however, there will be more empty slots on the FSB. When we look at Pentium overclocking in the future, we'll cover this more, but the basic idea is that you want the RAM to run at FSB speed or faster if at all possible. Dropping even to DDR333 (which is actually DDR320 for most Intel chipsets) can cause a 5 to 10% performance loss, and DDR266 would be even worse. So, why is Athlon 64 different?
The key is in the integrated memory controller. All modern processors run at much faster clock speeds than memory, which is why we have such things as L1 and L2 cache on the CPUs. Even with cache, though, getting data from RAM faster will improve performance substantially. By eliminating the NB from the CPU to RAM path, latencies can be reduced significantly, and this is the key change that AMD made from the K7 to K8 cores (besides the 64-bit extensions that still go unused by the majority of PC users, of course). Clock for clock, the integrated memory controller of K8 makes the Athlon 64 roughly 25% faster than Athlon XP, which is a significant performance increase given the relatively small amount of die space that was required. The integrated memory controller also affects performance when running at other RAM ratios, though. Since there is no NB to CPU delay when going from RAM to CPU, and since the memory controller runs at CPU core speed, once the data arrives from RAM to the memory controller, it is available. On a P4, the use of lower asynchronous memory speeds only serves to increase the delays in accessing RAM.
An interesting corollary to the above discussion is in the Northbridge link of AMD vs. Intel. On AMD, the Northbridge is connected via the HyperTransport link. Running at 1000 MHz base (double-pumped makes it equivalent to 2000 MHz), the HT bus is 16-bits wide (2 bytes) with dedicated upstream and downstream links. All told, that gives:
2000 MHz * 2 bytes = 4000 MB/sThe total HT bandwidth is thus 8000 MB/s - 4000 MB/s in each direction. Here's the catch, though: this bandwidth is separate from the memory bandwidth. If you've ever tried overclocking the HT bus speed and found the results to be of little help, performance-wise, that should hopefully clear things up. There is rarely (if ever) 4 GB/s of data in either direction between the CPU and Northbridge. It's like putting an eight-lane highway through a rural farming community; since there's very little traffic to begin with, the extra lanes (bandwidth) won't help much. That's not to say this is a poor design decision - better to have too much available bandwidth than not enough! The P4 design doesn't suffer from a lack of bandwidth either; the problem is that the time in which it takes to get data from the RAM to the CPU is quite a bit longer - in other words, higher latencies.
The net result is that while a lower RAM clock speed can still impact performance on Athlon 64 systems, it will not do so as much as on a P4 style configuration. That's the theory, anyway, and we hope to support it with results from several planned overclocking articles.
To illustrate the above points, we've created a brief list of cycle rates and timings of RAM. We'll start with some common RAM speeds, but the actual speed of your RAM will depend on the CPU multiplier and CPU bus speed, among other things. With the clock speeds and timings, we can also calculate the latency and estimate the total memory latency. Remember that the RAM timings are relative to the base bus speed, not the doubled speed, so DDR400 has a 200MHz base clock speed. There is also latency involved internally in the CPU (typically at least a single RAM cycle each way is spent in the memory controller), as well as in sending the address request across the memory bus and receiving the data back across the bus to the CPU (we guessed at two RAM cycles each way). Command rate adds another cycle, and maybe we're wrong or missed some other potential delays.
Everything takes time, and the memory timings generally only reflect the delays caused internally by the RAM. Different clock speeds and timings should produce a different total latency, and we estimate the total memory subsystem latency below. We'll check the actual latency in our benchmarks later. In practice, going from DDR200 to DDR400 RAM will not cut the RAM latency in half, even at the same timings. For reference, our estimated latency is calculated as:
7 * (Cycle Latency) + CL + 0.1 * tRCD + 0.05 * tRPIt would be different for other platforms, and it's probably off by as much as 20%, we'd guess. The "7" represents the command rate, CPU to memory controller delays, and memory controller to RAM delays. We did use some tests to try to come up with a good estimate, but take the estimated latency in the following table with a serious dose of skepticism. For a P4 platform, the major change is that the inclusion of the NB will change the "7" factor to something much larger - perhaps 14 to 20. (We'll look at that in a future article.)
RAM Speeds; Timings and Theoretical Latencies | |||||||||||
RAM Rating | Base Speed | ns per cycle | CAS | tRCD | tRP | tRAS | CL ns | tRCD ns | tRP ns | tRAS ns | Estimated Latency |
DDR266 | 133.33 | 7.5 | 2 | 2 | 2 | 5 | 15 | 15 | 15 | 37.5 | 69.75 |
DDR266 | 133.33 | 7.5 | 2.5 | 3 | 3 | 7 | 18.75 | 22.5 | 22.5 | 52.5 | 74.63 |
DDR266 | 133.33 | 7.5 | 3 | 4 | 4 | 8 | 22.5 | 30 | 30 | 60 | 79.5 |
DDR333 | 166.67 | 6 | 2 | 2 | 2 | 5 | 12 | 12 | 12 | 30 | 55.8 |
DDR333 | 166.67 | 6 | 2.5 | 3 | 3 | 7 | 15 | 18 | 18 | 42 | 59.7 |
DDR333 | 166.67 | 6 | 3 | 4 | 4 | 8 | 18 | 24 | 24 | 48 | 63.6 |
DDR400 | 200 | 5 | 2 | 2 | 2 | 5 | 10 | 10 | 10 | 25 | 46.5 |
DDR400 | 200 | 5 | 2.5 | 3 | 3 | 7 | 12.5 | 15 | 15 | 35 | 49.75 |
DDR400 | 200 | 5 | 3 | 4 | 4 | 8 | 15 | 20 | 20 | 40 | 53 |
DDR450 | 225 | 4.44 | 2 | 2 | 2 | 5 | 8.89 | 8.89 | 8.89 | 22.22 | 41.33 |
DDR450 | 225 | 4.44 | 2.5 | 3 | 3 | 7 | 11.11 | 13.33 | 13.33 | 31.11 | 44.22 |
DDR450 | 225 | 4.44 | 3 | 4 | 4 | 8 | 13.33 | 17.78 | 17.78 | 35.56 | 47.11 |
DDR500 | 250 | 4 | 2 | 2 | 2 | 5 | 8 | 8 | 8 | 20 | 37.2 |
DDR500 | 250 | 4 | 2.5 | 3 | 3 | 7 | 10 | 12 | 12 | 28 | 39.8 |
DDR500 | 250 | 4 | 3 | 4 | 4 | 8 | 12 | 16 | 16 | 32 | 42.4 |
Even with all this information, we haven't even come close to touching on every BIOS option or memory timing that's available. That is, simply put, beyond the scope of this article. There are over a dozen memory timings listed in the DFI BIOS, and we left the majority of them set to Auto. The only items that we changed are CAS, tRCD, tRP, tRAS, and CMD. We may try to look at the other options in the future, but most of the extra settings are not available on the majority of the motherboards, and we want the information contained in this OC Guide to be applicable to more than just the "elite" motherboards.
101 Comments
View All Comments
Lonyo - Tuesday, October 4, 2005 - link
NO, DON'T, UNLESS YOU HAVE SOMETHING BETWEEN YOUR FINGER AND THE PASTE.Arctic Silver 5 instructions:
DO NOT use your bare finger to apply or smooth the compound (skin cells, and oils again).
JarredWalton - Tuesday, October 4, 2005 - link
Er... I didn't use Arctic Silver. Just the grease that came with the XP-90. I suppose there might be some thermal compounds that would be bad to touch. RTFM, right?Anyway, I'm not particularly convinced of the effectiveness of stuff like Arctic Silver. At one point, there was some story about how the AS batches for a while didn't actually contain any silver because the manufacturing company was skimping on costs (unbeknownst to Arctic Silver or their customers). I could be wrong, but I'm half-convinced AS is just a placebo effect. :)
poohbear - Tuesday, January 3, 2006 - link
that wasnt arctic silver, that was another company entirely (name eludes me since it was 2+ years ago)PrinceGaz - Tuesday, October 4, 2005 - link
Regardless of the compound, you shouldn't touch it with your finger for the reason stated-- skin cells and grease from your finger will be left on the grease and they act as a barrier that reduces thermal-conduction. The simplest way to avoid this is to put a clean plastic bag over your hand before touching the compound as that will prevent any contamination.Regardless of what you say about AS5, numerous reviews of thermal-compunds have shown that compared to the the standard grease supplied with AMD boxed processors, AS5 alone can lower temperatures by a few degrees C. Given how cheap AS5 is compared with a decent heatsink (like the XP-90), it is a very good idea to get some AS5 if also buying a better HSF than what is supplied with the CPU. Using the grease supplied with the CPU or heatsink is a false economy.
THG64 - Tuesday, October 4, 2005 - link
From my own experience I would say the BIOS is at least as important as the hardware itself.My A8N using 1004 final BIOS can run my A64 3200+ @ 2500 MHz (10 x 250, 1.4125V) and the memory at 208 MHz 1T (2x 1GB MDT DDR400 2.5-3-3-8). There is no chance to get a higher frequency running because I get memory problems at anything above 250 MHz (known as 1T bug). I tested the memory up to 217MHz so its not the limiting factor.
Over the months I made many attempts to upgrade BIOS to newer versions and had no luck at all. The last version were even more interesting because of the A64 X2 support. No chance to get even up to 250MHz base. Only the reason has changed it seems. I made a HD upgrade in between and switched from a PATA drive to a SATA drive. This made it even worse.
From 1005 to 1010 the BIOS limited the overclocking to 215 to 220 MHz through reworked memory options. After 1010 the memory isn't the problem anymore or at least not the main problem. Windows is loading until desktop and while the OS is still loading in background the HD LED stays on and the system freezes.
As mentioned in the conclusion the SATA controller seems to limit the possible o/c.
If there would be a lowcost PCIe SATA controller I would surely give it a try but at the moment I stay with 1004 and and more or less working SATA drive at 250 MHz.
lopri - Tuesday, October 4, 2005 - link
Hi,I'm currently running X2 4800+ in my rig. I think I can safely OC it to 2750MHz. But the thing is, my RAM can only do 220MHz.. And the mobo doesn't support anything other than DDR400, DDR333, DDR266. (A8N-SLI Premium)
What are the penalty of running a half-multi? I understand a half-multi won't get you the ideal memp speed, but in my situation I can make up for it by being able to raise the HTT some more. Basically I have following options.
CPU (Max): 2750MHz @1.475V
RAM (Max): 220MHz @2.75V (2-3-2-5-1T)
Therefore, here is what I can do:
1. 10.5 x 261: This gives me CPU 2741MHz and memory 211MHz. (from CPU-Z reading)
2. 11 x 250: This give me CPU 2750Mhz and memory 196Mhz. (from CPU-Z reading)
If I run Sandra I get almost the same CPU score from both settings. But I get a quite bigger memory bandwidth score from the Setting #1. In ideal world (that is, if only the final achieved speed matters), I definitely think the Setting #1 is better. I'd like to know if there is any "inherent" penalty attached to non-integer multipliers.
Could you help me out? Thanks a bunch!
lop
JarredWalton - Tuesday, October 4, 2005 - link
At one point in time, the half multipliers didn't really work properly. They were just hiding some behind-the-scenes memory and bus tweaks. CPU-Z apparently doesn't report this properly. Anyway, if the system runs stable in either configuration, take the configuration that performs better. (Run a variety of tests - memory bandwidth alone doesn't tell the whole story.)Sunrise089 - Tuesday, October 4, 2005 - link
How important is that XP-90? I am wondering if you all feel it is necessary, feel it is necessary for long term safety, or really feel the $45 would be better spent elsewhere?P.S. - Thanks Anandtech. 3000+, X-800 GTO2, and value RAM costs about $400, and overclocked performs about as fast as a stock speed FX-55, x850 xt-pe, and high-end RAM costing $1000+. Your last two updates alone could have saved someone $600.
JarredWalton - Tuesday, October 4, 2005 - link
You can get the XP-90 and a 92mm fan for about $40 shipped, but what's $5? How important is it? Well, I think you could probably get an extra 100 to 200 MHz relative to the retail HSF. I'll be working on testing a few cooling options in a future article. The XP-90 is quieter than the retail fan, but other than that... I'll have to see what difference it makes.da2ce7 - Tuesday, October 4, 2005 - link
When I over clocked my X2 3800+ I got up to 2.6ghz, at 1.45V;But What I am really want to know about it the both the “safe” and “generally stable” cup temperatures, a table of temps from below 20ºC to 80ºC, where the core goes up in smoke (well maybe not that), would be most helpful.