Sunday, June 29, 2008

CPU Overclocking

The Gigabyte EP45-DS3R motherboard is pretty friendly for overclocking. With a little browsing of Intel's P45 chipset and E8000 series CPU datasheets, I am ready to void my CPU's warranty.

From BIOS, I am able to change the clock frequency that the P45 MCH (Memory Controller Host or something) provides to the CPU. This determines the CPU core frequency, with the use of the CPU multiplier. The E8400 CPU has a locked multiplier of x6 or x9 (x6 is used automatically by software through the Enhance SpeedStep feature to reduce power consumption).

The initial CPU clock is 333 MHz. With a x9 multiplier, the usual CPU core frequency is 2997 MHz. By adjusting the clock to 378 MHz, I can get 9 x 378 = 3402 MHz core frequency or a 13% increase from the stock 2997 MHz. This also implies a FSB of 4 x 378 = 1512 MT/s, (x4 is due to DDR2 or intel's data quad-pumping) when the E8400 stock FSB is only 1333 MT/s. Excellent!

There is a tradeoff however. The memory cannot run with a faster FSB. My HyperX Kingston DRAM is rated at 1066 MT/s FSB. Attempts to make the memory run faster than this cause the BIOS bootup or POST (Power On Self Test) to fail. The EP45-DS3R is smart enough to reset the BIOS to default values when this happens, so this makes experimenting convenient.

Typically, a memory multiplier is employed to reduce the memory clock frequency that the MCH provides to the DRAM, so that the memory's FSB can be lowered. Here comes the crux : this multiplier is fixed at certain ratios only (why won't Intel use an arbritary counter and divider?). This basically means that at a CPU clock frequency of 377 MHz, the best memory multiplier I can get is 2.66. This means the DRAM FSB is 2.66 x 378 = 1005 MT/s. A theoretical decrease in memory bandwidth of around 6%. More of the actual memory performance later.

While the EP45-DS3R BIOs allows the CPU clock to be increased without limit, the real-life limit is heat dissipation. A high core frequency increases heat dissipation (power dissipation is proportional to frequency x voltage^2). An inappropriate core frequency will literally melt your CPU. The E8400 CPU thermal specification is approximately 72 'C, but its best to do some derating and operate at a lower temperature if you like your CPU to have longevity. Having no idea whats the proper derating value, I settle on 60 'C. The E8400 has a thermal sensor which reports the CPU temperature (or strictly the temperature at the geometric center, which is supposed to be the hottest anyway). I can access this temperature using the motherboard vendor's software EasyTune.

I used Prime 95 to push the CPU to the limit and measure the temperature at different overclock settings. Prime 95 is designed to discover prime numbers, but it is also good as a stress / stability test software for overclocking.

Its time to see how well my FANLESS cpu cooler handles the heat. To be fair, the casing fans and the heat flow inside the case is also very important, especially for a FANLESS cpu cooler.

3 GHz (default) --- 50 'C
3.4 GHz --- 52 'C
3.6 GHz --- 60 'C

I chose 3.4 GHz in the end. I can probably used 3.5 GHz or something, but I wanted a healthy margin. As dust starts to accumulate on my sparkling new CPU cooler and casing fans, I expect the heat removal efficiency to reduce, and the temperature to rise. Especially since I dont think I want to clean the PC so often, I rather live with a better margin. Another less compelling reason is that Prime 95 stresses only 1 core out of E8400 dual core capabilities. With dual core in use at the same work level (which is unlikely to happen in typical applications by the way -- nothing pushes the core like Prime 95 does), I would shutter at the kind of heat if 3.6 GHz is used.

The rather large 8 'C difference between 3 and 3.6 GHz suggests that there is some kind of performance envelope below which the BTF-92 cooler is able to do its job well.

Using PC Wizard's CPU benchmark, this is the results of overclocking

3 GHZ (default) --- 150K
3.4 GHz --- 192K
3.6 GHz --- 218K

So 3.4 GHz is pretty good. There is in fact a 30% improvement according to the benchmark.

The memory bandwidth at 1008 MT/s FSB does suffer a bit with 3.4 GHz core frequency. At the rated 1066 MT/s, PC Wizard measured a bandwith of 5.9 GB/s (a lower number from the Kingston marketed 8.5 GB/s! grumble grumble :P ) Forced to use 1008 MT/s, the bandwidth is now 5.4 GB/s, a decrease of around 9%. But since the CPU L2 cache is an enormous 6 MB, I would expect the effect of the decrease in bandwidth to be greatly reduced.

No comments: