Oct 31, 2009

What is OverClocking: Tutorial

What is Overclocking?
Most people know that overclocking means to run a particular piece of computer equipment at a higher speed than it was intended to run at. But how and why is that possible?

Let's say that you have a 2.0ghz processor and you overclock it to 2.5ghz. Why didn't the maker sell it as a 2.5ghz chip? Wouldn't they make more money? The answer is that they have to sell the chips at the lowest common speed for the whole set. Every chip that's sold as a particular speed needs to be able to run at that speed on the lowest quality equipment. The makers can't guarantee what quality components the chip will run with, and therefore they have to make sure it will run with anything. This is where overclocking comes in. An overclocker will use the quality "headroom" to run the chip faster than it's intended to run. And with quality componets, this is not only possible, but also can be very rewarding.

Processor Terminology:
When someone describes the speed of their processor, they will generally use two terms: FSB/HTT and Multiplier. So what do these mean?

FSB stands for Front Side Bus, and refers to the speed at which your processor can talk to your memory. In the AMD world, this is also referred to as HTT, which stands for Hyper-Transport Technology. This is the easiest and most common speed to adjust for overclocking. This speed setting is limited only by the motherboard, which will have a maximum selection. However, any decent overclocking motherboard should allow you to set this speed much higher than will ever be practical. If there were a single "one stop shop" for overclocking settings, this would probably be it.

FSB can be tricky with DDR memory though. DDR stands for Double Data Rate because the data uses both rising and falling edges of the clock pulses, but that's another lesson entirely. The important word is "double". DDR 400 memory actually runs at a FSB of 200 in the motherboard settings, but because it's -double- data rate, it is actually rated at 400. This very same memory can also be rated as PC3200. That means that the memory will move 3.2gb of data per second at stock speeds. The 400 and the 3200 are pretty meaningless when dealing with overclocking, however. The important part is that it will run at a FSB/HTT of 200.

So now we understand the speed at which the processor talks to the memory, but how fast does it do its internal calculations? How fast does it run all by itself? The multiplier tells us this. If the front side bus is 200 and the multiplier is 10x, then we know that the processor runs at 200 x 10 = 2000mhz or 2ghz. The multiplier is a way of describing the internal speed in relation to the FSB. So taking the multiplier and multiplying it by the FSB speed will give you the actual speed of the processor.

The multiplier setting is used to overclock the chip, but not nearly as frequently as the FSB setting. The reason for this is that most newer chips have what is referred to as a "locked multiplier", which means that it cannot be set to other settings. Sometimes, this means that the setting cannot be changed at all, but more often it means that it can be set lower than stock, but not higher. Typically, if the multiplier is 10x (for example), then it can be set to 9x or 8x, but not 11x or 12x.

In almost every case, a chip will need more voltage than it gets at stock in order to reach is maximum overclock. But what are the different voltage settings and what do they mean? The two most common voltages that you will deal with are vCore and vDimm.

vCore is the voltage of the processor itself. This is the voltage you will use to control the chip. As overclocks become unstable, you can use this setting to increase the processor voltage and make the chip more stable.

vDimm is the voltage of the memory. This is not used quite as often, but is still important to understand. The memory can (and usually will) be overclocked as well, and vDimm can be used to increase stability in ram just as vCore can be used for processors.

Limiting Factors:
OK, so let's be honest. That 2.0ghz chip of yours just isn't going to reach 5.0ghz. We know it. But why? What are the factors that will hold a chip back? There are three main factors that will limit maximum speed of your chip. The most obvious of these is what most people call the "ceiling". No matter how good the chip is, at some point it will simply reach the fastest speed that it's capable of. The other two factors are more in depth, however.

Heat - Heat is usually the biggest factor in a chip's performance. Higher speeds and more voltage makes more heat in the chip. And more heat in the chip can lead to failures or instability and can even lead to permanant damage if not fixed early. This is why adaquite cooling is a MUST for overclocking. This is also why it is important to monitor your system, but more on that later. Sometimes, you could know that your chip is capable of faster speeds, but it will run too hot and therefore will be limited in its speed.

Voltage - Increasing voltage can make an unstable processor stable, but it's more complex than that. Processors are not meant to run higher voltages than stock, and can be damaged by too much voltage even if heat is managed properly. Just like with heat, a processor could reach a point where it can go higher but it might be at a voltage that isn't safe and therefore isn't recommended.

In my opinion, memory dividers are under-rated in the overclocking world. A lot of times, an overclocked system will reach an instability or fail point, and it will not be clear whether the processor or the memory has failed. For this reason, people are always looking to test one part individually. A memory divider can let you do this.

Memory dividers allow you to run the memory at a slower speed than the chip. So, for example, you could run your chip's FSB at 250mhz, but run the memory at 208mhz. This is done using a 5:6 memory divider. (250 * 5/6 = 208) By doing this, you can slow your memory down to stable speeds and only overclock the processor. This allows you to attribute any instability directly to the processor, rather than having to guess what is causing it.

Slower memory speeds are often undesirable for a system, since they slow the memory down, but they can be used for two reasons. First is for testing, as mentioned above. By slowing the memory down to stock speeds or lower, you can be sure that the memory is not causing overclocking failures. The other reason to do this is that some processors simply can't support memory speeds that high. By slowing the memory down, some chips can actually overclock much further, so even though the memory is slower, the system as a whole will run faster.

Memory dividers can also be referred to as "max memory speeds". A 5:6 memory divider may be referred to as 166 max memory speed, since 5/6 * 200 = 166. Another example would be a 1:2 divider and a 100 max memory.

As mentioned previously, it is highly recommended that an overclocked system be monitored in many ways. Many software packages monitor things like temperatures, voltages, fan speeds, clock speeds, memory settings, etc. Monitoring these readouts allows you to find and solve problems before they become serious. If you don't watch these readouts, you may not discover a problem until it is too late and damage has been done. Here is a list of some of the most popular programs:

This program is probably the most widely accepted speed monitor out there. It can tell you all the pertinant information about your processor, including speeds, FSB, Multiplier, voltages, memory speeds, memory settings, and much more. This is basically a "must have" program for overclocking.

Motherboard Monitor 5 (MBM)
This is a widely used program which is generally targetted at monitoring temperatures, but can also be configured to show things like voltages and fan speeds. By default, the program will display the case and processor temperatures in your system tray. The program is somewhat "out of date" and doesn't support many new motherboards without modification, but is still widely accepted as a standard.

ITE Smart Guardian
This program has different versions for different motherboards, so make sure you download the appropriate one. For this reason, there is no link. The program monitors temperatures, fan speeds, and voltages. It is regularly used on newer motherboards in place of MBM5.

This is very similar to ITE Smart Guardian in that it monitors temperatures, fan speeds, and voltages, but it can also be used to change fan speeds at the software level.

[u]Everest[/u]This program can be used to access temperature, fan, and voltage info much like the others listed above, but its real value is in the ability to get TONS of useful information about your computer. It can tell you pretty much anything you want to know about your PC, statistically speaking. I have found this program useful for varifying the BIOS version of my motherboard, though there are MANY other uses for it.

Stability Testing:
Overclocking is fun and beneficial, but can also cause major problems with your PC. A computer that is improperly overclocked can cause crashes, reboots, power-downs, data corruption, and eventually even permanant hardware damage. Again, it is important to diagnose these failures early on so that they don't escalate to bigger problems. This is why ANY good overclocker will have a toolbelt full of stress/stability tests to check their system with. An overclocked PC does you no good if it's not stable. Running games faster does you no good if they crash at random. Overclocking needs to be kept in check with stability testing whenever settings are changed. Different people will have different definitions of "true stability", but all overclockers should know how to test for it. Here is a list of commonly used stress test programs:

Prime 95
This is a distributed computing project, but can also be used strictly for stability testing. As with most programs, it uses strenuous math calculations to see if your processor ever produces failures (wrong answers). If there were a single universal "final stability test", Prime 95 could arguably take that title. It is widely accepted and very reliable.

OCCTThis project is no longer being continued, but the tool is still incredibly useful. OCCT has two modes: A standard stability test and a torture test. The standard test runs for 30min and is a very good stability indicator. After the 30min test completes, it shows graphs of temperatures and voltages which is a feature that is not really found in other programs, and is very useful. The torture test simply runs until stopped and reports any instability, much like Prime 95.
New version link added. This now supports multi-core stability testing.

SuperPI is actually a benchmark program, and gets its name from the calculations of Pi digits that it performs. SuperPI speeds are a good indicator of a processor's speed, but the tests will also report instabilities as they occur. This program can run very quick stability tests that are surprisingly accurate given their speed. This is another "must have" in my opinion.

This test is used to test just your memory, as the name implies. It can either be booted from a floppy disk or a CD-ROM. Once it is booted and running, it runs multiple test patterns on your memory until it is stopped, and reports errors as they happen. This test is very good for testing the memory alone, and helps to confirm that your memory will run at the speed and voltage you have set.

Overclocking Process
Overclocking is an art. Juggling the various settings can seem overwhelming initially, and it's often difficult to fight the urge to raise an overclock quickly. It is very important to be patient and take baby steps while making adjustments.

In general, the overclocking procedure is -
1. Increase the external clock speed by a small amount.
2. Exit BIOS and boot to operating system.
3. Test for stability and monitor temperatures.
4. Return to BIOS, tweak settings, and repeat process.
In greater detail -

1) Baby steps - Increase the external clock speed in small increments. "Small" is relative to the stock speed of the system, though 3-5 MHz is common for Pentiums while 5-10 MHz is common for newer CPUs. These numbers can be responsibly tweaked for a variety of reasons including personal experience and knowledge that a particular CPU stepping/week/batch is a good/bad overclocker. The steps can also be larger early in the overclocking process and smaller as the system gets closer to its limits. The important thing is to not take too large of a step as too many other variables can change if large jumps are made.

2) Boot up - Be sure to save your settings before rebooting. Some motherboards offer overclocking profiles, which can save settings after a CMOS reset or even a BIOS flash. Unsuccessful boots are not uncommon. Either return to step 1 and lower the external clock speed or jump to step 4 for other tweaks.

3) Stability testing -
There are a variety of stability testing programs available, and they should be employed frequently during the course of overclocking. The extent of stability testing is up to individual preference, and there are a wide variety of philosophies concerning testing. It is generally a good idea to do at least a brief test at every step with a more thorough test every few steps.test with the softwares as mentioned in the earlier post.

4) Return to BIOS and tweak - If stability testing was successful, return to step 1 and further increase the external clock speed. If the system booted but did not test stable, there are several settings which may help. They include -
• Adjust vcore - Increase the vcore one notch and repeat the testing. If more than two notches are required, try adjusting another setting.
• Adjust RAM timings and vdimm - If a bit of vcore doesn't do the trick or Memtest86 identified the RAM as the source of instability, tweak the RAM settings. Loosening RAM timings and/or increasing vdimm may address this issue. Be aware that excessive vdimm will void most manufacturers' warranties.
• Adjust Northbridge voltage - Higher frequencies require additional voltage to the NB. In general, this setting only goes up a few notches from stock speed to extreme overclocks. Stock Northbridge coolers may not be able to handle additional voltage, so it may be necessary to invest in aftermarket cooling.
As with increasing the clock speed, it is important to change these settings in small steps, reboot, and test for stability.

Maximizing the Overclock on a System

One way to simplify overclocking is to initially take the RAM out of the equation. Select a divider such that the RAM does not exceed stock speeds; this permits attention to be focused on the CPU and motherboard. Once the maximum overclock of those two components is found, manipulate the divider to determine the optimal frequency for the RAM. Be sure to use Memtest86 to test RAM stability. A few complete passes with that software is generally a good indication of stability.

Manipulating the CPU multiplier can lead to better performance on systems that support that feature. First, find the maximum CPU frequency as described above with the stock multiplier. Then, determine other combinations of external clock speed and multiplier that equate to the same CPU frequency. Using the example from item number 6, above, that CPU could equally handle 400x9 and 450x8. If the RAM and motherboard could safely handle the higher frequencies, the lower multiplier would most likely produce the best performance. Trial and error plays into this equation as well, due to the complexities of modern systems. It is important to benchmark a system with appropriate applications (e.g. using gaming benchmarks for a gaming system, productivity benchmarks for an office system, etc.) to see which combination of settings provide the best performance. Remember that each set of components is unique, and that the goal of overclocking is performance not any specified settings.


Post a Comment