Basic clock theory
Overclocking starts and ends with clock speeds, and you'll need to know about several clocks in a system in order to understand how things work. For Core 2 processors, the first clock of note belongs to the front-side bus. The front-side bus, or FSB, links the CPU to the rest of the system, including main memory, storage, graphics, and peripherals. Like several of the key elements in a modern PC, the FSB is a little tricky, because its effective data rate differs from its base clock speed. For example, the Core 2 Duo E6750 is advertised as having a 1333MHz front-side bus. That's the effective data rate, but the base clock is 333MHz. You've got to multiply by four to get the effective bus speed from the base FSB clock. Intel uses the term "quad-pumped" to describe the FSB's nature. Overclockers tend to refer to the base FSB clock rather than the effective speed, because the base clock frequency is usually the value shown in the system BIOS.
The FSB is notable because processor clock speeds are determined by the product of the base FSB clock and the CPU multiplier. For example, the Core 2 Duo E6750 uses an 8X multiplier with a 333MHz base clock, yielding a processor speed of 2.67GHz on an effective 1333MHz front-side bus. (For AMD chips, the CPU multiplier is applied to the HyperTransport base clock.)
The easiest way to overclock a processor would be to increase the value of the CPU multiplier. However, with Core 2 processors, doing so is only possible with Extreme Edition chips that are far too expensive to be reasonable overclocking candidates for most enthusiasts. Intel prevents users from adjusting the CPU multiplier upward on its other chips. AMD does the same thing with its processors; only its Black Edition and FX chips allow the CPU multiplier to be increased.
Interestingly, it's actually possible to decrease the CPU multiplier for Core 2 processors. That won't help with processor overclocking, though, leaving us with no choice but to tackle the front-side bus. This is where it helps to have a CPU whose native front-side bus speed is lower than the maximum FSB supported by the motherboard. Combine a Core 2 that has a native 1066MHz front-side bus with a P35 or X38 Express-based mobo that supports FSB speeds up to 1333MHz, and you have 266MHz of quad-pumped overclocking headroom right out of the box.
For the sake of illustration, we're going to be overclocking a Core 2 Duo E6750 processor on a Gigabyte GA-X38-DQ6 motherboard as we step through the key system clocks. The menu above is typical of many high-end motherboards. Gigabyte labels the base FSB clock as the CPU Host Frequency. The default value for this CPU is 333MHz, but we can change it by setting CPU Host Clock Control to "Enabled" and simply keying in the value we wish to use.
Oh, and let's hope you're using a home-built PC with a decent motherboard. Don't expect to find these menus in the BIOS of your average Dell, folks.
I generally like to overclock in small increments, increasing the front-side bus base clock in 10MHz steps. Overclocking is usually a very iterative process: set the speed a little higher, test, and repeat. However, for this example, we've skipped ahead a little bit, because we know this chip has lots of headroom. If you do the math, an 8X multiplier on a 390MHz bus will get us a CPU clock frequency of 3120MHz or 3.12GHz. That's... quite healthy. We'll stick with that for the time being.
Of course, the CPU isn't the only system element that bases its clock speed on the front-side bus. The PCI Express, PCI, and memory subsystems also typically derive their clock frequencies from the FSB clock. We'll want to ensure that overclocking the front-side bus doesn't inadvertently increase the clock speeds of any of these other subsystems, lest they hold back our overclocking attempt. We can manage these auxiliary clock speeds in one of two ways.
The easiest means of keeping these clocks in check is locking them down at a given clock speed, regardless of the FSB clock. Any motherboard with a good suite of overclocking tools should include such an option for the PCI and PCIe subsystems. Sometimes, these options are even enabled by default. In the example below, we're locking down the PCI Express clock at 100MHz, which is its proper default speed.
A much bigger concern is the memory clock, which most often cannot be locked. Instead, the memory clock's relationship with the front-side bus is usually governed by a single valuea multiplier, divider, or ratio, depending on the BIOS. By manipulating this value, we can keep the memory speed from exceeding the rated speed of our system's memory modules, even as we increase the front-side bus speed. That's exactly what we'll want to do during our initial CPU overclocking attempts: adjust the memory ratio in order to keep the memory clock at or below our DIMMs' stock speeds. Later on, if you wish, this memory ratio can also be used to overclock your memory, if fiddling with CPU clock speeds isn't enough to satiate your appetite.
In our example case, we're using 800MHz DDR2 memory along with our 390MHz FSB, so we've set the system memory multiplier to 2X the FSB clock. That should give us a memory clock of 780MHza little slower than stock for these DIMMs, so we're sure overclocked RAM won't be a source of instability. There's no real harm in running our memory at this somewhat odd speed, either.
Setting this board's memory ratio involves a multiplier much like the CPU's, but it seems like every motherboard maker does it a little differently. Each chipset has its own quirks, too, like the MCH strapping on this Intel chipset. The ratios can be confusing and may not always behave like you'd first expect, but a good mobo will help. The X38-DQ6's BIOS even shows us the resulting memory frequency of 780MHz just below the multiplier option.
Like Intel's front-side bus, DDR memory transfers data multiple times per clock cycle. In this case, DDR's double data rate means that we multiply by a factor of two. A 400MHz memory clock corresponds to an effective memory data rate of 800MHz. (This 2:1 ratio between the base memory clock and the data rate holds true for all DDR memory types, including DDR2 and DDR3 modules.) Unlike the FSB, however, motherboard BIOSes usually express all values using the effective memory clock, so you shouldn't have to worry about doing the math.