Bienvenido! - Willkommen! - Welcome!

Bitácora Técnica de Tux&Cía., Santa Cruz de la Sierra, BO
Bitácora Central: Tux&Cía.
Bitácora de Información Avanzada: Tux&Cía.-Información
May the source be with you!

Wednesday, October 19, 2011

Overclocking AMD processors


Athlon 64 Overclocking (excerpts) Author: Gabriel Torres
Thanks for the knowledge!! 
Athlon 64 (and other CPUs that use the same architecture, like Opteron and socket 754 Sempron – which are collectively known as AMD64 CPUs) uses a completely different architecture from other CPUs. Usually the memory controller is located inside the north bridge chip from the chipset, but on this CPU this device is embedded in the CPU itself. So on Athlon 64 systems memory types and capacities are defined by the CPU and not by the motherboard, as it occurs with other CPUs. For example, you cannot use DDR2 memory with socket 939 Athlon 64 CPUs, as their memory controller only accepts DDR memory. With Pentium 4, since it is the north bridge chip that controls memory, you would need to change the motherboard (and not the CPU) to make your system to accept DDR2 memory, if you had a DDR-based system. 
So instead of having just one external bus like other CPUs (this single external bus is very frequently called Front Side Bus or FSB), AMD64 CPUs have two busses: a memory bus and a HyperTransport bus. HyperTransport bus is an I/O bus used to connect the CPU to a bridge chip, connecting the CPU to other devices, like the video card.
If you want to learn more in depth about AMD64 architecture, try our Inside AMD64 Architecture tutorial.
Clock generation of Athlon architecture
Athlon 64 CPUs use a base clock (also referred as HyperTransport, HT or HTT clock – some people also call this clock as external clock or FSB clock, even though technically these names are wrong) of 200 MHz to generate its internal clock, multiplying it by a fixed rate (called clock multiplier), which varies according to the CPU. To find out this multiplier, just divide your CPU internal clock by 200.
For example, Athlon 64 X2 5000+ works internally at 2.6 GHz (2,600 MHz). This clock rate is achieved by multiplying its 200 MHz base clock by 13. If you don’t know your Athlon 64 internal clock rate, take a look at the tables available on our All Athlon 64 Models tutorial.
Like SDRAM, DDR memories need a clock signal to work. On Athlon 64 systems this clock is generated by dividing the CPU internal clock rate by a fixed value (called memory divider), which varies according to the CPU and memory used.
This divider will be integer value (rounded up) necessary to deliver the memory clock. To find it, divide the CPU internal clock rate in MHz by the memory real clock rate. Keep in mind that on DDR and DDR2 memories the rated memory clock is actually the double the memory clock: 
DDR400 memories run at 200 MHz, DDR2-667 memories run at 333 MHz, DDR2-800 memories run at 400 MHz and so on.
Let’s give some examples. On an Athlon 64 3800+ (which runs at 2.4 GHz) using DDR400 memories, this divider will be of 12 (2400/200). As you can see, on Athlon 64 using DDR400 memories this math is very easy as the memory divider will be the same value as the clock multiplier.
But if DDR333 memories were used instead, a different divider needs to be used, otherwise the CPU would deliver a clock signal with a frequency higher than the maximum theoretical clock rate supported by the memory. As DDR333 memories work at 166 MHz, we come to 14.45 as the result of 2400/166. So the CPU will use a divider of 15 (the next integer value). This is really interesting. If you make the math back (2400/15) you will find that DDR333 memories with Athlon 64 3800+ run actually at 160 MHz (320 MHz DDR), not 166 MHz (333 MHz DDR).
With DDR2-based Athlon 64 the same idea applies. For example, Athlon 64 X2 4800+ based on socket AM2 runs at 2.4 GHz. So if you use DDR2-800 memories with it, we find 6 as the memory divider (2400/400). But if DDR2-667 memories were used instead, the divider would be 8 (2400/333 = 7.20, the next integer value is 8). With this processor DDR2-667 memories run at 300 MHz (600 MHz DDR), not 333 MHz (667 MHz DDR).
Just a final example, Athlon 64 X2 5000+ (2.6 GHz) uses a memory divider of 7 for DDR2-800 memories (2600/400 = 6.5, the next integer value is 7). So DDR2-800 memories installed on Athlon 64 X2 5000+ systems run at 371 MHz (742 MHz DDR), not 400 MHz (800 MHz DDR). With DDR2-667 memories the divider will be 8 (2600/333 = 7.8, the next integer value is 8). So DDR2-667 memories installed on this system run at 325 MHz (650 MHz), not at 333 MHz (666 MHz DDR).
By now you know all basic clock specs from your CPU: its base clock rate (200 MHz), its internal clock rate, its clock multiplier and its memory divider.
But all other clocks used on your motherboard are also derived from the CPU base clock (HTT clock).
HyperTransport bus clock will be the HTT clock multiplied by 5, making its 1,000 MHz clock rate (a.k.a. ”2,000 MHz“ or ”4 GB/s“). Older Athlon 64 CPUs have their HyperTransport bus running at 800 MHz (a.k.a. ”1,600 MHz“ or ”3.2 GB/s“), so with these CPUs the HyperTransport clock rate is achieved by multiplying the HTT clock by four.
The clock rates used by all slots found on the motherboard also come from the CPU base clock (HTT clock). 
PCI Express clock is 100 MHz, 
AGP clock is 66 MHz and 
PCI clock is 33 MHz,
which are obtained diving the base clock by 2, by 3 and by 6, respectively (usually on AGP-based systems the PCI clock is achieved by dividing the AGP clock by two, and on PCI Express-based systems the PCI clock is achieved by dividing the PCI Express clock by three).
Serial ATA ports need a 100 MHz clock signal, usually coming from the PCI Express clock, which comes from the base clock, as we’ve seen.
Overclocking-targeted motherboards can allow you to configure the clock division for these devices or, better still, use a separated clock generator for them.
There are two traditional ways of overclocking a CPU – i.e., to configure it to use a higher clock rate
  1. increasing the CPU base clock (or the CPU external clock). 
  2. increasing the CPU clock multiplier

The clock multiplier is usually locked, meaning that you cannot increase it. This ”feature“ is called ”overclocking protection“ and was introduced to prevent people from counterfeiting processors (in the past people erased the original CPU markings and wrote something else, selling it as a higher-clocked CPU). Today only Athlon 64 FX processors have their clock multiplier unlocked, so this overclocking technique is an option with these CPUs. Athlon 64 CPUs, however, can be configured with a lower clock multiplier. Combining a lower clock multiplier with a higher base clock is a very effective overclocking technique and we will talk more about this later.
The most popular overclocking technique is increasing the CPU base clock or the CPU external clock. But since all system clocks are linked together, when you increase the CPU base clock, you actually increase all clocks used in your PC. So you may find yourself limited by a device other than your CPU.
Let’s give you a real example (for now consider that your motherboard doesn’t have any fancy overclocking option as we will talk more about them later). Consider an Athlon 64 3800+ using DDR400 memories. This CPU runs originally at 2,400 MHz, uses a 12x clock multiplier and a /12 memory divider.
What will happen if we increase its base clock to 225 MHz? Well, the CPU will run internally at 2,700 MHz, a 12.50% increase on its internal clock.
But the side effect is that your memory will be running at 225 MHz (450 MHz DDR), the HyperTransport bus will be running at 1,125 MHz, PCI Express busses will be running at 112.50 MHz, Serial ATA ports will be also running at 112.50 MHz, AGP bus (if your motherboard is an old one) will be running at 75 MHz and PCI bus will be running at 37.5 MHz.
Everything on your system will be overclocked. At first this seems great: a better performance, you think. But if you are unable to increase the CPU base clock up a certain level, you won’t know which device is preventing you from overclocking your system even more. Is it the memory? Is it the video card? Is it the motherboard chipset? Is it the Serial ATA hard disk drive? Is it an add-on card?
That’s why high-end motherboards targeted to overclocking allow you to configure the clock rate for each individual device. This configuration can be a simple lock (i.e., locking the device clock to its default value), can be a full-configurable clock option or can be a multiplier or divider configuration.
If your motherboard has such configurations, we recommend you to use them, and only try to overclock other devices like the PCI Express bus (i.e., your video card bus) after you found the highest base clock supported by your system 
This is done at the motherboard BIOS. Basically you will need to:
  • 1. Lock the clock of all other devices but the CPU with their default clock rates, if your motherboard provides this option.
  • 2. Change the CPU base clock configuration from ”auto“ to ”manual“, if necessary.
  • 3. Increase the CPU base clock step by step checking if your system is still running stable.
  • 4. Change the HyperTransport bus clock multiplier from x5 to x4 once you surpassed the 220 MHz clock rate, if your motherboard provides this option and you use a CPU with 1,000 MHz HyperTransport bus (a.k.a. ”2,000 MHz“ or ”4 GB/s“).
  • 5. Change the HyperTransport bus clock multiplier from x4 to x3 once you surpassed the 225 MHz clock rate, if your motherboard provides this option and you use a CPU with 800 MHz HyperTransport bus (a.k.a. ”1,600 MHz“ or ”3.2 GB/s“).
  • 6. Change the HyperTransport bus clock multiplier from x4 to x3 once you surpassed the 275 MHz clock rate (if you are that lucky) if your motherboard provides this option and you use a CPU with 1,000 MHz HyperTransport bus (a.k.a. ”2,000 MHz“ or ”4 GB/s“).
  • 7. Change the HyperTransport bus clock multiplier from x3 to x2 once you surpassed the 300 MHz clock rate (if you are that lucky), if your motherboard provides this option and you use a CPU with 800 MHz HyperTransport bus (a.k.a. ”1,600 MHz“ or ”3.2 GB/s“).
In Figure 3 you see the setup of Biostar K8VHA Pro, which provides just one overclocking option – changing the CPU base clock. Most low-end motherboards will pr ovide only this option, making it hard to go an overclocking over 225 MHz, as all other motherboards components will be overclocked as well.
On Figures 4 (HT frecuency) and 5 you see an older AGP-based motherboard, EPoX 8KDA3+, which has more overclocking options than the previous board. As you can see, on this motherboard you can configure the AGP bus clock individually, i.e., you can lock it at 66 MHz. On this motherboard you can also configure the HyperTransport bus clock multiplier, but this option is hidden under ”Advanced Chipset Features“, and one may not correlate this option with overclocking.
A high-end motherboard from ASUS, M2N32 SLI De Luxe, which provides a myriad of overclocking options, see Figures 6 to 8. First you need to enable overclocking by changing clock options from ”auto“ to manual“ (see Figure 6). Then you need to perform the configurations we listed above.
After locking all possible clocks and enabling overclocking, the next step is increasing the CPU base clock. Almost all motherboards allow you to increase the base clock in 1 MHz steps. Of course if you go one megahertz at a time this task will take forever. So you may try increasing the CPU base clock from 200 MHz to 220 MHz, save all changes, and load Windows. Inside Windows you will need to perform what is called ”stability test“, i.e., check if your PC won’t crash while overclocked.
There are several programs you may use. But since we are still in the middle of the overclocking process (we will try to increase the CPU base clock even more), you may want to use a program that won’t take so long to run. Here we run PCMark05 one time and Quake 4 three times (click here to learn how to use Quake 4 for this task) at this point.
If your system was stable enough, restart your PC, enter setup and increase the CPU base clock by 5 MHz, save the changes, load Windows and repeat the stability test.
If Windows doesn’t load or you face stability issues, then you need to decrease the CPU base clock – we recommend doing this 1 MHz at a time – until you find the maximum base clock your CPU will work with without crashing.
If you have a motherboard like the one shown in Figure 3, you will have to stop here, as it doesn’t provide more overclocking options. If this is your case, we recommend you to run a heavier stability test if you want to keep your PC overclocked (PassMark BurnIn Test is an good choice). If your PC fails, you will need to reduce the CPU base clock by 1 MHz until you find a base clock where your PC doesn’t crash during the stability test.
But if your motherboard provides more overclocking options, like voltage configurations or CPU multiplier, you will probably want to play more in order to achieve a higher overclocking.
Other Overclocking Techniques
The most common overclocking trick is to increase the CPU and memory voltages in order to enable the component to achieve a higher clock rate. To do that, you need to know first the current voltage of your CPU and memory. You can check this at the motherboard setup, under Hardware Monitoring, or through a program like CPU-Z.
The problem is that if you increase the component voltage too much, you may burn it (even though this never happened to us, it has already happened to several acquaintances of ours). We suggest you to increase 0.1 V on memory and on CPU voltages to see if you can raise the CPU base clock. If you are brave enough, you may want to increase voltage even more.
On the setup screens we’ve shown, CPU voltage was called ”CPU Voltage“ or ”CPU Vcore Voltage“, while memory voltage was called ”DIMM Voltage“ or ”DDR2 Voltage Control“. As you can see, even though the name of the option changes from motherboard to motherboard, it is very easy to recognize it.
The idea is quite simple: increase the voltage, increase the CPU base clock, load Windows and run stability test. Keep doing this until you find the highest clock rate you case use with stability on your system.
After finding the maximum base clock you can get by increasing both CPU and memory voltages, we recommend you to reduce the voltage from the component that didn’t improve by an increase on its voltage.
For example, if you find that increasing the memory voltage from 2.2 V to 2.3 V improved overclocking but increasing again to 2.4 V didn’t, go back and leave it at 2.3 V. The same idea goes for the CPU. This way you reduce the risk of burning or overheating your components.
Talking about overheating, you need to monitor your CPU temperature. It should be below 70º C. If it is above 65º C you should consider replacing your CPU cooler by a high-end one. Click here to learn how to monitor your CPU temperature.
Another overclocking technique available is to lower the CPU multiplier. As we mentioned earlier, all CPUs nowadays (except Athlon 64 FX on AMD line) don’t allow you to increase its clock multiplier, however Athlon 64 CPUs allow you to reduce it. So you may be able to achieve a better overclocking by lowering the CPU multiplier (if your motherboard has this option) and increasing the CPU base clock. Usually you will be able to achieve a higher base clock by doing this.
Don’t be fooled by lower clock rates. By lowering the CPU multiplier, your CPU internal clock may be lower than the maximum clock achieved using its standard multiplier, but you may in fact achieve a higher performance due to the increase on its base clock. So, you need to run a performance test at these two scenarios to see which one does provide a higher performance for your system – your CPU with its standard multiplier increasing its base clock to the maximum or your CPU with a lower multiplier and increasing its base clock even more. We usually run PCMark05 and Quake 4 to check this.
Some motherboards provide CPU multiplier in 1x steps, some others in 0.5x steps. You should decrease a position (1x or 0.5x), find the maximum base clock possible, run a performance test and start all over again, decreasing the multiplier one more position. And again, and again, until you have run all multiplier options. Don’t be shy, sometimes we can achieve a fine overclocking at a low multiplier we’ve never though about before. With the performance data at hands you can say exactly what overclocking configuration gives your system the best performance.
On Athlon 64 FX systems you have a third option, which is increasing the CPU clock multiplier, as it is unlocked. Of course you can combine it with increasing the CPU base clock. Once again you will need to run a benchmarking program to see which overclocking configuration will provide the higher performance to your system.
Use special memory modules
Maybe what is preventing your system from achieve an even higher overclocking is your memory.
Just a simple example. Let’s assume that the maximum overclocking you could achieve with your Athlon 64 3800+ was at 230 MHz with its standard multiplier (12x). Under this configuration, your memory modules will be also running at 230 MHz (460 MHz DDR). If they are vanilla DDR400 modules, they will be running 15% above their standard clock. Maybe (just maybe) if you install DDR500 modules you will achieve higher results.
On the other hand, if you do have high-speed memories but are not being able to achieve its rated speed (let’s assume that you replaced the memory from the above system with DDR500 but couldn’t improve its overclocking at all), this means that what is preventing you from achieving a higher overclocking is your CPU, not the memory. However, since the memory was changed, we would run our overclocking procedure all over again, especially lowering the CPU multiplier.
After you have found the best overclocking for your system, it is time to unlock all items that we have locked, like the PCI Express bus, the AGP bus, etc. The procedure here is just the same, increase the clock rate, load Windows, test stability, and repeat the process all over again. This step is important especially if you want to increase the video performance of your system.

No comments: