Core 2 Overclocking Guide

Status
Not open for further replies.

graysky

Distinguished
Jan 22, 2006
546
0
18,980
Edited on 09-May-2008: Guide is now version 1.6.1 – minor corrects made and slight re-ordering of sections.

Before you continue, I wrote this guide with the newbie in mind, so please don't reply criticizing it for being too simplistic -- it's this way by design. Also know that the steps for overclocking apply to all chips: quads, duals, single-cores, or triple-core processors. You can use the basics taught in this guide with any modern machine.

I wrote the guide originally using a Q6600/Asus P5B-Deluxe, but recently sold that machine and upgraded to an X3360/DFI LT P35-T2R. I didn’t want to change the first half of the guide, so it’s still based on the Q6600/Asus board. The newly written section about finding a minimum stable CPU and MB vcore section is written based on my actual experience finding stable settings for this newer machine. Again, the steps for overclocking are pretty independent of this subtle change. Finally, I take no responsibility for what you do with the information in this guide. Overclock your hardware at your own risk.

Overlocking Basics

Before you start, read your motherboard manual. Know how to reset your BIOS in the event that you are too aggressive in your CPU settings and it doesn't complete a POST (Power On Self Test, that beep when you first turn the machine on and it starts up means you passed the POST). Some motherboards reset automatically if you switch off the power supply for 30 seconds or so. Others require you to move a jumper to reset them.

The basic formula you need to know for CPU speed is:

Code:
CPU Speed = CPUM x FSB
where CPUM is the CPU Multiplier, and FSB is the front side bus.

Example: The Q6600 runs at a factory setting of 2.40 GHz. That's the product of a 9x multiplier and a 266 MHz FSB (quad pumped it's 1066 MHz but we're not quad pumping these numbers). So CPU Speed = 9 x 266 which is 2,394 MHz or 2.40 GHz.

Below is a list of Intel chips. Most of them, including the Q6600, have a "locked" multiplier – meaning it can't go above a certain value (9x in this case). The only way to increase the CPU speed beyond the stock value is by raising the FSB. Other "Extreme" chips like the QX9650 or X6850 have “unlocked" multipliers; you can raise their multipliers above the stock value. These chips are denoted from the standard stock by the letter “X” in their model number.

For reference, here are all Intel offerings as of May/’08:

Quads:
QX9775: 8.0x400 = 3.20 GHz
QX9775: 8.0x400 = 3.20 GHz

Q9300: 7.5x333 = 2.50 GHz
Q9450: 8.0x333 = 2.67 GHz
Q9550: 8.5x333 = 2.83 GHz
QX9650/QX6850: 9.0x333 = 3.00 GHz

Q6600: 9.0x266 = 2.40 GHz
QX/Q6700: 10.0x266 = 2.67 GHz
QX6800: 11.0x266 = 2.93 GHz

Duals:
E6540/50: 7.0x333 = 2.33 GHz
E6750: 8.0x333 = 2.67 GHz
E8190/8200: 8.0x333 = 2.67 GHz
E6850/8400: 9.0x333 = 3.00 GHz
E8500: 9.5x333 = 3.16 GHz
E8300: 8x333 = 2.83 GHz

E6400/20: 8.0x266 = 2.13 GHz
E6600: 9.0x266 = 2.40 GHz
E7200: 9.5x266 = 2.53 GHz
E6700: 10.0x266 = 2.67 GHz
X6800: 11.0x266 = 2.93 GHz

E2140: 8.0x200 = 1.60 GHz
E2160/E4300: 9.0x200 = 1.80 GHz
E6300/20: 7.0x200 = 1.86 GHz
E2180/E4400: 10.0x200 = 2.00 GHz
E2200/E4500: 11.0x200 = 2.20 GHz
E2220/E4600: 12.0x200 = 2.40 GHz
E4700: 13.0x200 = 2.60 GHz
X7800: 13.0x200 = 2.60 GHz
X7900: 14.0x200 = 2.80 GHz

My first quad system was based on a Q6600 at 9x333=3.00 GHz (25 % over factory). I found the max it can go when cooled with air is 9x370=3.33 GHz (39 % over factory), but it just ran too hot for me. Every chip is different... you might be an unlucky owner of a chip that just doesn’t overclock very high at all.

Overclocking is more complicated than just adjusting two settings in the BIOS, because as you increase the FSB, you'll also need to increase the core voltage (vcore) which is the actual juice going to the processor. As well, you may have to increase the other voltages on the board like: memory, FSB, NB, SB, ICH chipset. There are also parameters controlling your memory that may need tweaking as well. Don't worry about them for now. The board can manage these automatically which is what you should do initially. When you finally decide on an overclock number, you'll want to go back and minimize your voltages to minimize your heat production. We'll get into this later. For now, you want to verify you can successfully POST, and verify that your system can run stable at the settings you've selected.

Pre-Overclocking Checklist

Before you think about overclocking your system, you'll need to be sure you're using quality parts that can handle the increased stresses.

1. Motherboard
I decided not to maintain a list of motherboards that are known to be good overclockers; keeping the list updated would be too time consuming. I only mention this because if you’re using some generic MB you got free with the purchase of your CPU, you’re probably not going to be able to overclock it.

2. Cooling
Cooling is very important since you're asking the system to produce more heat than it's designed to produce. A quad core chip will produce twice the heat of a dual core chip, so if you're using the Intel Stock HSF, you'll probably want to upgrade to something better. Again, I don’t wanna maintain a list. I can tell you that I am using a Thermalright Ultra-120 Extreme and am very happy with it.

Here is a more recent list of HS’s that have actually been reviewed and ranked based on performance.

Finally, there is a section at the end of the guide entitled, “Temperature Management” which I would strongly suggest you at least have a look at since it contains some good info. For example, for under $5 you can probably shave off ~10-15 % of your NB (North Bridge) load temps simply by adding a small fan to the heatsink even if it was never designed to have one (attach it with a zip tie):

nbcoolerib1.jpg


3. Memory
You will need memory that can keep up with your overclocked system. Again, I’m not going to keep a list. You’ll see RAM listed with timings and speeds that I’ll decode for you using the following examples:

DDR2-800 (PC2-6400) 4-4-4-12
DDR2-1066 (PC2-8500) 5-5-5-15

• The first part is self-explanatory (DDR2 memory).
• The number after it is the data transfer rate. Simply divide it by 2 to get the maximum FSB speed for which the module is rated. Example: 800/2 = 400 MHz. Therefore, DDR2-800 can work on systems with a FSB of up to 400 MHz (anything more and you’re lucky).
• The PC2-XXXX is designation denoting theoretical bandwidth in MB/s. Some memory manufactures use this instead of the DDR2-xxx designation. You can calculate it for any FSB you want by simply taking the FSB and multiplying by 16 (rounded in some cases). Example using a 400 MHz FSB: 400x16=6400. So you’d need at least PC2-6400 to run on a FSB of 400 MHz.

The numbers after that are the main timings (clock cycles). In general, the lower these numbers are, the faster the memory. For more on memory timings, see this page.

DDR3-1333 (PC3-10666) 9-9-9-24
DDR3-1600 (PC3-12800) 7-7-7-20

• The first part is self-explanatory (DDR3 memory).
• The number after it is the data transfer rate. Simply divide it by 4 to get the maximum FSB speed for which the module is rated. Example: 1600/4 = 400 MHz. Therefore, DDR3-1600 can work on systems with a FSB of up to 400 MHz (anything more and you’re lucky).
• The PC3-XXXXX is designation denoting theoretical bandwidth in MB/s. Some memory manufactures use this instead of the DDR3-xxxx designation. You can calculate it for any FSB you want by simply taking the FSB and multiplying by 32 (rounded in some cases). Example using a 400 MHz FSB: 400x32=12800. So you’d need at least PC3-12800 to run on FSB of 400 MHz.

4. Power Supply
There are really two major factors to consider when selecting a power supply:

1) Quality of the PSU
2) Power output

I don’t have the expertise to write up this selection of the guide, so I’ll point you to this nice list written by perkam to use as a guide. More recently, TH.com wrote another article you can check out on the topic.

There is a great article on power consumption over at TH.com that I suggest you read at your leisure. I distilled out some highlights to underscore how much power systems really use:

Code:
Component	Best Case	Worst Case
Power Supply	5-15 W		40-60 W
Motherboard	10-15 W		30-50 W
Processor	12-30 W		60-120 W
RAM		5-15 W		30-50 W
HDD		3-5 W (2.5")	10-15 W (3.5")
GFX Card	3-10 W (on MB)	25-180 W (PCI Express)
Total		38-90 W		195-475 W

So you can see that depending on the hardware specs, your system power requirements can approach 500 W.

There are also a number of good online power supply calculators you can use. Find them with google as always. Here is one such example.

5. Required Software
Here are few utilities you'll need to continue, all are freeware.

General System Info
CPU-Z is a great app to display your current settings including vcore, FSB, multiplier, RAM settings, etc. This one is a must-have.

CPU Stress Testing
Prime 95 v25.6 is a great app for stress testing. It is very efficient at generating CPU loads equally across all your cores. There are few other apps that will stress a system as a hard as p95. Alternatively, if you’re using a 64-bit o/s you can download the 64-bit version of prime95 v25.6.

I like to use version 25.x over the current “production” version 24.x because it [version 25.x] automatically stresses all your cores without having to load up two different instances of the app like you had to do with orthos.

System Monitoring
There are several options for processor core temp and system temp monitoring. For a discussion of what is different between the apps I am about to list, see this thread. PLEASE READ THAT THREAD BEFORE ASKING QUESTIONS ABOUT WHY SOME OF THESE READ DIFFERENT TEMPS!

These first two will give you just the core temperatures (not system temps, voltages, etc.):

Core Temp (freeware)
Real Temp (freeware)

The next three will give you core temps plus many other temps, voltages, fan RPMs, etc.:

HWMonitor (freeware)
Speedfan (freeware)
Everest Ultimate (shareware $$$)

Memory Testing (optional but can help rule-out bad memory)
Memtest86+ is a great piece of software that will test your memory. Download the bootable ISO and allow it to test your system for 6-24 h. I ran it on my machine for a little over 6h 17m with no errors:

memtesths1.jpg


Note that you can’t just run the memory tests without first setting up your memory in your BIOS even though they might be auto configured. This usually entails the user to specify the timings, voltage, and fsb:dram divider prior to running the tests since the memory might be stable at one given set of conditions (maybe 5-5-5-15 @ 667 MHz is stable), not unstable under another (maybe 5-5-5-15 @ 1066 MHz gives errors, but you only tested the 667 MHz level)!

Do NOT trust the temperatures that your motherboard's free temp utility reads. "PC Probe 2" that comes with Asus boards really sucks because it's not measuring your core temps. They are what you really care about.

There are other temp monitoring programs out there. These are what I recommend.... I'll only mention one other by name with the advice that you do NOT use it: TAT (thermal analysis tool). It's made by Intel and I don't care what anyone else out there thinks: it was NOT designed to read the coretemps of a C2D/C2Q chip. It was written for Pentium M chips. Yes, it will display temps, and yes, sometimes they match up with the values Coretemp/HwMonitor display, but I have found that TAT often reports temps higher than the real values. How do I know this? Read this thread and pay attention to uncleweb's instructions to use crystalcpuid to directly read your DTS (digital temperature sensor) and calculate your core temp yourself if you don't believe me.

BIOS Settings

Let's look for some settings in your BIOS. Not all boards are the same. The following terms/pics are taken from my old P5B-Deluxe; other manufactures will likely have their own names for these settings. You're on your own to figure them out (shouldn't be that tough). It goes without saying that your board will have these organized differently as well.

Lemme apologize upfront for the poor quality images below. I have no idea how to effectively photograph a computer monitor. I just used a cheap p&s camera with the lights off. You can still read them.

First thing you want to do is change a few settings, I'll take them in order as they appear in the BIOS:

bios2jo3.jpg


Modify Ratio Support - disabled, but you can if you want to select a different multiplier. For the Q6600, 9x is the highest as I said. If you enable this, you can select a lower one if you want, some people think a lower multiplier and a higher FSB is better. For example: 9x333 = 3.01 GHz and so does 8x375. In my experience, doing this can lead to faster synthetic benchmark scores, but most real-world applications usually don't go appreciably faster.

C1E – Intel’s so-called enhanced halt state. Read Anandtech’s blurb about it here for more. Disable initially, enable later on and see if the system remains stable. This is a power savings option.

Max CPUID value limit – disable unless you’re running an older O/S like Windows NT.

Vanderpool – disable unless you’re running VMWare or virtualPC; this option enables additional extensions within the processor that yields added acceleration when running multiple O/S’s on the same machine through virtual machines.

CPU TM function – enable. Option affects CPU protection/throttle management to help you when you don’t realize you’re pushing your chip too hard.

Execute Disable Bit - enable. XP has a setting to help with virus protection and requires this set to enable.

PECI – This stands for Platform Environment Control Interface - disable or enable. This affects how your DTS (Digital Thermal Sensors) report the core temps of your CPU. I have mine enabled and have read several posts now that suggest having it enabled does indeed give more accurate core temps. I can’t say if you want it on or off in your system.

According the Asus P5B-Deluxe FAQ, this setting toggles between two temp modes.

Note: if you’re using a real core temperature monitoring application such as coretemp (mentioned and linked above), this setting has no effect that I can see.

SpeedStep - Automatically lowers the multiplier from its max. (9x for the Q6600) to 6x when the machine is idle. The result is less power consumption and heat production. It goes back up to 9x when you start to get a CPU load. Disable initially, enable later on and see if the system remains stable. This is a power savings option.

Why do you care about power savings? Increased power consumption translates into increased heat production. As well, power costs money and unless generated from a nuclear power plant, creates carbon dioxide gas. It’s true that energy savings will only matter when the machine is idle, but odds are your machine will spend most of its time at idle unless your run an app like fold@home or seti@home etc. Let’s assume for the sake of discussion that enabling these saves you 10 cents / day. A few pennies per day will add up over time. Using the dime-per-day as an example for a machine running every day is roughly a savings of $35 per year – not too shabby.

Tomshardware.com's power savings article reported a savings of 12 full watts by enabling speedstep on their test system.

Second thing you'll want to do is dial in the manufacture’s specs for your specific memory. Also take care not to exceed the design specs for your memory initially. We want to minimize the number of variables to deal with on a first time overclocking. In other words, if your machine isn't stable, you want to be sure it's due to the CPU settings, NOT the memory timings.

Where can you get the manufacture’s specs? Try their website or the product packaging.

bios3wl0.jpg


Enter in the first four timings (4-4-4-12 in my case) and don’t mess with the default or auto values for the “sub timings” at this time. You can do that after you get a stable overclock.

The only other setting worth mentioning here is the so-called “memory remap feature.” If you are running with more then 3 gigs of memory, and you want to actually have the BIOS/OS see it, you’ll need to enable this. Also enable this if you’re running a 64-bit operating system.

Next, find the section where you can control the nuts and bolts of your system. On my P5B-Del I had to switch the AI tuning to "manual" mode to see these options:

bios1vm7.jpg


CPU Frequency - This is the FSB in MHz. Set it to whatever you’re planning to multiply by 9x (333 in my case).

DRAM Frequency - This the speed your RAM will run. Make sure you don’t exceed the amount for which your specific RAM is rated.

Most good boards will offer several fsb:dram dividers. Some common ones are listed below. Assuming that you’re using a 333 MHz FSB the ratios are:
Code:
FSB : DRAM
1:1 = 333 MHz : 667 MHz
4:5 = 333 MHz : 833 MHz 
2:3 = 333 MHz : 1,000 MHz
5:8 = 333 MHz : 1,066 MHz
3:5 = 333 MHz : 1,111 MHz
1:2 = 333 MHz : 1,333 MHz

Now, if you’re running @ a 400 MHz FSB, the ratios become:
Code:
 FSB : DRAM
1:1 = 400 MHz : 800 MHz
4:5 = 400 MHz : 1,000 MHz 
2:3 = 400 MHz : 1,200 MHz
5:8 = 400 MHz : 1,280 MHz
3:5 = 400 MHz : 1,333 MHz
1:2 = 400 MHz : 1,600 MHz

You can calculate these yourself with this formula:
Code:
DRAM Final Clockrate = (2 x FSB)/Divider

Example, 2/3 divider @ 400 MHz FSB: (2 x 400 MHz)/(2/3) = 1,200 MHz

Running in 1:1 mode is termed, “synchronous mode.” If you use a higher frequency, you’re running is so-called “asynchronous mode” which offers marginal speed advantages at the price of more heat and power consumption on a C2D/C2D Quad-based system for most users. Depending on your chipset, running in an asynchronous mode may require more vcores to some of your motherboard components such as the NB, IHC, and/or FSB Termination (more on these later).

PCI Express Frequency – Set this to 100 MHz. If you don’t, I believe the PCIe bus speed will increase proportionally with your FSB which is something you DON’T want to do to your expensive video board.

PCI Clock Synchronization - Use 33.33 MHz here. Again, if you leave the setting on auto, the PCI clock will creep up proportionally with your FSB which can damage cards you may have there aren't designed to run at higher frequencies.

Spread Spectrum - disable.

Memory Voltage - Read the specs for your memory. My DIMMS can use up to 2.2v. You can damage your memory if you overvolt it.

CPU VCore – THIS IS KEY! This single BIOS setting will have the largest effect on your processor’s operating temperatures! Again, read on to the section entitled, “Stress Testing and Minimizing Your Vcores.”

It needs to be enough to run stable, but not too much or else you’re just wasting power and creating a ton of heat. This is particularly true with multicore processors!

In case you’re wondering what Intel recommends for your processor, find your chip on Intel's Processor Finder. The Q6600 is between 0.85 – 1.5V.

In my experience, a setting of “auto” ALWAYS over-estimates, but for your first boot, just leave it on auto. The next section of this guide covers stress testing whose goal is to verify stability and to minimize your vcore. For example, once you verify that you can run stable for several hours of stress testing, you'll want to come back and minimize this voltage until you become unstable again. Then simply add a little back. As you can see, my system runs stable @ 9x333 using 1.2625v.

”Related topic” said:
Why do you care? Heat (power) increases with the square of voltage. It increases in a linear fashion with frequency. What does that mean? It means that as your FSB goes up, so does your heat, but as your vcore goes up, your heat goes up exponentially.

An increase in processor operating frequency not only increases system performance, but also increases the processor power dissipation. The relationship between frequency and power is generalized in the following equation: P = CFV^2 (where P = power, C = capacitance, V = voltage, F = frequency). From this equation, it is evident that power increases linearly with frequency and with the square of voltage.

I quoted the above statement from an Intel document. It has been removed from intel.com and used to reside at the following link: Missing Intel Document. I managed to find a copy of the pdf file in one of my backup sets. Knuspar from guru3d kindly agreed to host it here.

The title of the document is, "Intel® Core™2 Extreme Quad-Core Processor QX6700Δ and Intel® Core™2 Quad Processor Q6000 Δ Sequence Thermal and Mechanical Design Guidelines." It’s dated Jan 2007 and has an official Intel Document Number of 315594-002. I took a screenshot of section 4.1 on page 31 (where the above quote came from):

missingsx1.gif


To illustrate, consider this analysis of two difference vcore settings and the temps they produce on my Q6600 @ stock settings (9x266=2.40 GHz) as well as running overclocked (9x333=3.00 GHz). The two voltages I used were 1.1375V and 1.2625V set in the BIOS that correspond to the two clock levels of 2.40 GHz and 3.00 GHz respectively. In case you’re wondering, these translated into 1.112V and 1.232V in Windows as read by CPUZ.

Prime95 ran for 30 minutes and the temperatures were averaged over the last 10 minutes of those runs (well after they stabilized). Room temp was 75-76 °F. Notice that the difference in voltage is ONLY 0.120 V or 120 mV, but this seemingly small difference brought the load temps up by an average of 6-7 °C per core!

Code:
Run1 (9x266 @ 1.112 V), Average temps (°C): 51,52,50,50
Run2 (9x266 @ 1.232 V), Average temps (°C): 57,58,57,57
Differences (°C): +6, +6, +7, +7

Now if I add a faster FSB, they increased further:

Code:
Run3 (9x333 @ 1.232 V), Average temps (°C): 61,61,60,60
Differences from lowest voltage (°C): +10, +9, +10, +10
Differences from same voltage (°C): +4, +3, +3, +3

The same thing holds true for speed in a car: energy = 0.5mv^2 where m is mass and v is velocity. This is the basis of the old expression, "speed kills." You generate way more energy driving 75 MPH than you do driving 55 MPH since energy and velocity have an exponential relationship. Take a 5,500 lb SUV as an example; its energy nearly doubles as a result of that mere 20 MPH increase.

Energy @ 55 MPH = 754 kJ
Energy @ 75 MPH = 1,402 kJ

The last four voltages are also required to make a stable system. Leave them on auto for now. On my system, I lowered my chipset temps by about 4 °C by lowering them to the values you see in the pic.

As I mentioned earlier, if you’re using high memory dividers (a.k.a. running your memory in asynchronous mode), you might have to manually tweak your NBvore and your ICH vcore to get the memory to run stable. For example, my Q6600/P5B-Deluxe system required me to up the NB vcore by +2 steps and the ICH vcore had to be set to the maximum value or else I couldn’t run my PC1066 memory at the higher dividers.

My X3360/LT P35-T2R system on the other hand, didn’t require nearly that much extra to run in the 5:6 divider.

In general, the P35 chipset is better than the P965 in this regard. I have read that the X38/X48 are on par or slightly superior to the P35.

Okay, save your settings and hopefully your machine will complete the POST.

postlv4.gif


If it doesn’t, and assuming you set your voltages to Auto, some common reasons are:

• Memory voltage too low
• Memory timings too aggressive
• FSB too aggressive

If you complete the POST, and make it into windows without a blue screen or reboot that's a good sign. Now on to the testing. Now that you're in Windows, load up CoreTemp or HWMonitor and have a look at your core temps when idle.

9x333ar4.gif


They should be well under 50 °C unless it's REALLY hot in your room, see the end of this document for more on how ambient temps affect your CPU load temps. There are a number of things you can do to bring down your idle and load temps. Again, see the end of this guide for some suggestions.

See this guide for more information on temperatures and temp sensors for Intel processors.

The formula for reading core temp from the DTS (digital thermal diode) is:
Code:
 Core Temp = tjmax – DTS
Where DTS is the number the DTS is reporting, and tjmax is a constant (which differs with processor model and sometimes within a processor model based on its stepping)

Note: There is no official communication from Intel as to the magnitude of tjmax for desktop/server C2D/C2Q chips! This makes calculating the “real” core temp tough since people are just guessing.

For example, a Q6600 (G0) stepping may have a tjmax of either 95 or 105 (again, these are people’s best guesses). If tjmax is 105, then Core Temp = 105 - DTS. THIS DOESN'T MEAN THAT THE LIMIT FOR THE CHIP IS 105 °C! In this example, let’s say the DTS value is 50. Therefore, Coretemp = 105-50 = 55 °C. If tjmax is 95, the math becomes 95-50 = 45 °C. Don’t worry about doing this calculation; all the temp monitoring software will do it for you. I only mention it so you can understand what’s going on.

I like to keep my core temps under 65 °C. I may be using a conservative number here, but I don't want to replace my chip anytime soon. If you don’t care about the longevity of your chip, you can likely use higher numbers. I have read about people running their chips right up to the factory shutdown/auto throttle down temp. It’s your chip, do what you want.

Load up CPU-Z to see what your vcore is at idle.

ooey0.gif


You’ll notice that the vcore in CPU-Z is different from the value you selected in your BIOS. This is normal and true for all boards. You’ll also notice it drops again when your machine enters a load state: again, this is normal and known as vdroop; some boards/chipsets do it worse than others. If you read at the end of the guide, some boards can be modified to eliminate or greatly reduce vdroop.

Stress Testing and Minimizing Your Vcores

The goal of stress testing is two fold:
1) To arrive at a stress test stable system (>24 hours with no prime95 errors).
2) To minimize your vcores and thus minimize heat product both on your CPU but also on your NB/SB and other MB components.

Prime95 will run and every now and then it will check the values it’s calculating using your processor to its internal standards since its torture testing using known values. Assuming you enable error checking, you’ll be notified if your values differ indicating an instability. This is why it is IMPERATIVE that you enable error checking within Prime95; again, if you don’t enable it, you WILL NOT be notified of errors!

Do so simply by going to the “Advanced” menu and enabling “Round off Checking.” If the system isn’t stable, it will report an error and stop stressing the core that gave the error.

royl8.gif
 
Status
Not open for further replies.