AMD's Athlon FX - CPU Scaling to 3GHz and 250MHz dHTT
ThoughtsPlease take this article in the spirit that it's intended. I just overclocked some stuff using a chiller, I didn't steal new SKUs from AMD. A nice mainboard, some good memory and a CP...
IntroductionWith the advent of easy-to-use commercial vapour phase-change cooling, like Asetek's VapoChill XE-II, it's been possible to accelerate your processor to well above its nominal rated specification. Applying that to top-end processors thus gives you a look at what's coming in the future, before it is ever announced.
AMD recently released their latest Opteron running at 2600MHz, the same speed as the Athlon FX-55. With one Opteron speed hike usually comes the next one on the desktop, which for Athlon FX means 2800MHz and FX-57. Apply the logic above and we can examine the performance of FX-57 before launch, using an existing FX processor and its unlocked multipliers. With FX-55, all that means is the use of the 14x multiplier at the standard 200MHz dHTT (derived HTT, calculated by the use of the base HTT clock and clock divisors). While it's not quite a front-side bus, since the memory controller always runs at core frequency, it's close.
Secondly, the question of whether AMD will stick with DDR or jump to DDR2 (or something else entirely) hangs in the air. The advent of readily available dual-purpose DRAMs, devices like Samsung's TCCD DDR DRAM that are happy running at DDR400 and DDR500 (their rated speed), allow us to evaluate AMD staying with DDR and increasing the dHTT frequency and supporting DDR500 natively.
After reviewing the VapoChill XE-II recently, I decided to have a quick look at future Athlon FX performance and also what performance would be like with a jump to 250MHz dHTT, using the cooler to ramp up an Athlon FX's clocks using a suitable mainboard.
It's not quite as simple as dropping to a lower multiplier and increasing dHTT, since 250MHz is slightly out of step with existing 200MHz jumps in core frequency from AMD's FX processors. You can get close if you hover around 250MHz dHTT and use half processor multipliers, but those half multipliers affect memory frequency in odd ways.
Sticking to whole mulipliers and variable memory clock and dHTT, you end up with final clocks that are a few percent out in either direction. Here's what I mean.
Fixed dHTT @ 250MHz and possible half multipliers
|Existing FX Speed Grade ||Existing Frequency ||CPU Freq using half multis ||Memory Freq using half multis ||Ratio of CPU Freq ||Ratio of Memory Freq to 250MHz |
|FX-51 ||2200MHz ||2250MHz (9x) ||250MHz ||1.0227x ||1.0000x |
|FX-53 ||2400MHz ||2375MHz (9.5x) ||237.5MHz (95%) ||0.9896x ||0.9500x |
|FX-55 ||2600MHz ||2625MHz (10.5x) ||238.6MHz (95.4%) ||1.0096x ||0.9544x |
|FX-57 ||2800MHz ||2750MHz (11x) ||250MHz ||0.9821x ||1.000x |
|FX-59 ||3000MHz ||3000MHz (12x) ||250MHz ||1.000x ||1.000x |
So if you fix dHTT, you end up with CPU frequency that can't exactly match the existing clock based on 200MHz dHTT. Furthermore, if you use half multipliers for CPU frequency, memory clock is affected since the memory controller can't use those half multipliers (which are then divisors from CPU frequency) to drive the memory modules at exactly 250MHz (DDR500). It's at odds to what CPU-Z or other tools might report back to you, too.
Set something like 10.5 x 250 on your Athlon FX or 64 with a good mainboard and CPU-Z will show you CPU/10.5 and 250MHz memory clock, when in reality it's 238MHz or thereabouts and using CPU/11. Joel over at Sudhian found the same thing out with a series of articles last year, culminating in this article where it's all laid bare.
My alternative when looking at how a larger dHTT clock would affect Athlon FX performance is to get as close to the existing frequency using whole multipliers and adjusted dHTT.
Variable dHTT and only whole multipliers
|Existing FX Speed Grade ||Existing Frequency ||CPU Freq ||Memory Freq ||Ratio of dHTT to 250MHz ||Ratio of CPU Freq |
|FX-51 ||2200MHz ||2205MHz (9 x 245) ||245MHz ||0.9800x ||1.0022x |
|FX-53 ||2400MHz ||2400MHz (10 x 240) ||240MHz ||0.9600x ||1.0000x |
|FX-55 ||2600MHz ||2600MHz (10 x 260) ||260MHz ||1.0400x ||1.0000x |
|FX-57 ||2800MHz ||2805MHz (11 x 255) ||255MHz ||1.0200x ||1.0017x |
|FX-59 ||3000MHz ||3000MHz (12 x 250) ||250MHz ||1.000x ||1.000x |
Going no more than ten MHz up or down with dHTT lets you keep close to the final CPU frequency (never more than 2.2% out) and memory clock matches dHTT, with no variance due to half multipliers.
What method to choose? The first is a better fit. Firstly, any move by AMD to a new dHTT would fix on one speed. Secondly, the variance in memory clock when using the half multipliers is only 5% out and only at two points when trying to emulate a 250MHz dHTT FX-53 and FX-55. Since those CPUs exist already and aren't really candidates for a move to new dHTT anyway, we can stomach it.
Thirdly, FX-59 at 3GHz is spot-on, the 250MHz clock suiting that CPU frequency well. You can then imagine FX-61 running at 3250MHz....
Of course, at the end of the day it's all pissing in the wind. Who knows what AMD will do, but clocking the nuts off of expensive processors using expensive chillers is a laugh. Of course, AMD might just stick to 200MHz for Socket 939 and only jump it with a socket change. It'd tally with the memory interface residing on the CPU.
Regardless, I overclocked a CPU a bit, and it'd be rude of me not to show you the results.
So what did you do? I benchmarked the FX-55 all the way from 2200MHz to 3000MHz using standard 200MHz dHTT and 200MHz memory, increasing or decreasing the multiplier as needed, in whole integer steps.
Then I used the settings presented in the first table above, using fixed 250MHz dHTT and mostly whole integer multipliers, with 250MHz memory clock (or thereabouts using half multis). CPU frequency is out by a couple of percent at most, compared to the frequency of the 200MHz dHTT runs and memory clock is fixed for all but two. It's not ideal, but it's close enough for a voyeuristic look at 3GHz Athlon FX.