Tuesday, May 21, 2013

Unlocked and Overclocked - Overclocking my AMD Phenom II 550 - Part 1

An AMD Phenom II 550 Black Edition

Ejecting the Core

Several months ago I wrote about my limited success unlocking the additional cores on my CPU. Unfortunately, I recently decided to disable the extra core when I experienced some stability issues.

For a long time the machine was solid, but after several months a BSOD was generated when I tried to jump into a game of Diablo III. When I ran the Minidump generated by the BugCheck through the WinDBG tool, I was surprised to see "danew.sys" referenced in the BugCheck event, which is the driver for my DeathAdder mouse. To mitigate against the problem recurring, I reset the mouse's polling rate and DPI back to their defaults via the DeathAdder control panel. However, the next time I played I was subjected to a far worse crash; the system simply froze, forcing me to hit the reset button. No BSOD left me with no BugCheck and corresponding Minidump to analyse.

Oh noes!!! A Blue Screen of Death

Obviously by now I was concerned with the system's stability so I immediately tested the machine using Intel CPU Burn and I was dismayed to see it fail within a couple of iterations. In fact, I tried the test several times and it failed consistently.

Taking some time to think, I remembered that I had recently made a change to the system: forcing the Kingston HyperX RAM to run at it's rated clock speed of 1600MHz instead of the 1333MHz it had been operating at, which had also meant forcing the voltage to 1.65V. Keen to keep my memory operating at the higher clock speed, I tried ever-so-slightly increasing the CPU core voltage (Vcore) in the BIOS. This was a step I had heard many people took to reliably unlock additional cores on their CPUs; perhaps the faster RAM had magnified some inherent instability of the system at the stock voltage (1.3V)?

This minor increase to the Vcore seemed to pay off: the Intel CPU Burn test yielded successful results, even with an extended run (100 iterations), so I was sure the issue was resolved. I seemed to be right for a few months, until another BSOD occurred while I was using the machine at the same time a system backup was taking place. Running CPUBurn resulted in negative results again, which was enough for me to lose my confidence in the unlocked core and I finally decided to disable it. Sure enough, after dropping back down to a dual-core configuration the stress tool ran through 100 iterations without any issue, and it was at this point that I decided to try and overclock the processor.

Research

I've always had an understanding of the basic overclocking process, but no real practical experience. Starting from scratch is a time-consuming and repetitive procedure, made slightly easier by the fact I have a Black Edition Phenom II, which includes an unlocked multiplier:

  1. Raise the multiplier by a small increment (usually 0.5).
  2. Boot the system and check stability (by running a program like Prime95 for a couple of hours, for example).
  3. Repeat until the system is no longer stable, then increase the CPU core voltage (Vcore) by a small amount.
  4. Boot and check stability.
  5. Rinse and repeat until further voltage doesn't help achieve higher clock speeds or the temperature limit is reached (most people recommend a max temp of 55°C for a 24x7 stable overclock).

Given my desire to not fry my CPU, I spent a great deal of time researching Overclocking Phenom II chips. Because of the age of the Phenom II, I found a lot of good guides and personal experiences documented, some of the more useful posts I've linked to below:

Trial and Error

Finally, after all the research, I felt slightly more comfortable overclocking my CPU. To ensure would be able to measure any improvement to system performance, I first ran through a round of benchmarks to establish a baseline for the system. Then, with much trepidation I began the process:

  1. First, I switched off the "Cool 'n' Quiet" feature in my M4A77TD Pro's BIOS; this down-clocks the CPU and reduces the voltage in order to reduce power consumption, but isn't really useful when achieving a stable over-clock.
  2. Then, following the guide on Tom's Hardware, I bravely set my CPU Vcore to 1.5V and and the core multiplier to x17, giving an effective clock speed of 3.4GHz. I booted the machine into Windows and kept an extremely close eye on the CPU temperatures while running Prime 95. Core temps peaked at around 55/56°C, which was a little higher than I had hoped.
  3. By slowly increasing the multiplier, I managed to get the CPU clock to 3.8GHz, but this was very unstable; Prime 95 wouldn't run for very long before a BSOD occurred.
  4. I dropped the multiplier to 18.5 (a 3.7GHz CPU clock) and for a while, this seemed to provide me with a stable overclock, however Prime95 failed after several hours.
  5. Given the max temperature being reached by the CPU during stress testing was between 55/57°C (temp. reported by the chip itself and the motherboard respectively) I wasn't comfortable raising the voltage any further, despite reports of people operating at 1.55V. In fact, given my high temperatures I was keen to try and bring the Vcore down if possible.
  6. After all BSODs and crashes the stability testing process was inflicting on my Windows installation, I started to worry that I would end up trashing my OS. I started searching for boot-able CDs to perform the testing, which is when I discovered StressLinux, which I promptly switched over to using.
  7. During my research, I had discovered how important other system components were to system stability. In the Phenom architecture, the Northbridge (CPU-NB) is integrated into the CPU and can impact both performance and stability significantly. Based off a chart included in Dolk's Phenom overclocking guide, I increased the CPU-NB clock to 2200MHz; providing more bandwidth between the CPU, memory and other components of the system. This looked as though it stabilised the 3.7GHz overclock, but Prime95 failed after 20 hours. Increasing the CPU-NB voltage may have been able to help, but this would have increased the temperature further, and mentioned previously it was already as high as I was comfortable with.
  8. As a follow up to the CPU-NB tuning, I dropping the memory clocks down as far as possible (1066MHz). Many people suggest trying this and loosening timings when going for higher clock speeds, only ratcheting up the clock and tightening timings after a stable core is achieved. Unfortunately for me, however, this didn't resolve my stability issue.
  9. I ended up dropping the multiplier to x18, bringing the CPU down to 3.6GHz, which finally seemed stable.
  10. After I had finished tweaking the unlocked multiplier, I attempted to wring a bit of extra performance out of the system by increasing the base clock. However, I couldn't get it stable, even increasing by 1MHz (to 201MHz) resulted in a system that couldn't run Prime95 for longer than 30 minutes.
  11. As a final effort, I tried playing with the memory, however, neither slowing the memory clock or loosening timings seemed to work; it allowed Prime95 to run longer, but it would still eventually hang. I think the longest it managed was a couple of hours. Something positive did result from this process; while researching it, I made the discovery that the memory controller integrated into the CPU only supported memory operating at a maximum speed of 1333MHz and any higher clock speeds would actually be considered an overclock. It then dawned on me that I had been inadvertently overclocking my memory (previously having set it to run at 1600MHz) and this could have been the reason my unlocked CPU core had appeared unstable. Realising this, I made the decision to attempt to re-enable the 3rd core after I stabilised and benchmarked the overclocked system.
  12. Leaving the base clock at 200MHz, the CPU multiplier at 18x and the CPUNB at 2000MHz, I was able to drop the VCore to 1.4V and maintain a stable and cool (around 50°C at load) overclock; Prime95 managed to run for 72 hours without any problems.
The Outcome

To achieve the stable 3.6GHz overclock, I really only had to modify a small number of settings. For completeness, I have documented all the settings I checked and/or changed below:

  • Secure Virtual Machine Mode: Disabled
  • AMD Cool 'n' Quiet: Disabled
  • C1E Support: Disabled
  • CPU Bus Frequency (base clock): 200MHz
  • CPU Ratio (multiplier): x18
  • CPU/NB Frequency: 2000MHz
  • CPU Over Voltage: 1.4V
  • VDDNB Over Voltage: Auto
  • LoadLine Calibration: Auto
  • HT Link Speed: Auto
  • HT Link Width: Auto
  • DRAM Frequency: 1333MHz
  • Memory Over Voltage: 1.71V
  • Memory Timings: All auto (9-9-9-27)

Once I had run the system through another round of benchmarks, I went back into the BIOS and enabled the 3rd core. Interestingly, this rendered the system unstable, so I had to experiment with settings again until the system would run reliably. Not only that, but the CPU temperature at load started hitting 56°C, so I resigned myself to dropping the CPU clock back down to 3.4GHz as I couldn't realistically add more voltage. After this, I could run Prime95 for 72 hours without any problems, but the CPU temperature would still hit that uncomfortable high. The final settings were much the same as before, with additional BIOS changes needed to enable the 3rd core:

  • Secure Virtual Machine Mode: Disabled
  • AMD Cool 'n' Quiet: Disabled
  • C1E Support: Disabled
  • Advanced Clock Calibration: Auto
  • Unleashing Mode: Enabled
  • Active CPU Cores: Manual
    • 2nd Core: On
    • 3rd Core: On
    • 4th Core: Off
    • 5th Core: Off
    • 6th Core: Off
  • CPU Bus Frequency (base clock): 200MHz
  • CPU Ratio (multiplier): x18
  • CPU/NB Frequency: 2000MHz
  • CPU Over Voltage: 1.4V
  • VDDNB Over Voltage: Auto
  • LoadLine Calibration: Auto
  • HT Link Speed: Auto
  • HT Link Width: Auto
  • DRAM Frequency: 1333MHz
  • Memory Over Voltage: 1.71V
  • Memory Timings: All auto (9-9-9-27)



Overall, I'm quite pleased with my first foray into overclocking and once I have collated all the benchmark data, I will generate some graphs and publish all the benchmark scores in a later post. I'd like to have another attempt at pushing the chip further, as I'm sure that additional voltage to the CPUNB would allow for it. Additionally, I came across several recommendations to favour an overclock to both CPU and CPUNB, instead of just pushing the CPU core as high as possible, as this would provide better overall system performance. However, before I can attempt anything else I will first need to get that CPU temperature lower, which means looking at the system's cooling configuration.