You are on page 1of 2

If you’ve ever overclocked a processor, or been around people who have, odds are you’ve heard

people talk about ‘upping the core-voltage’ before. In fact, nowadays its pretty much a no-
brainer. Just about anyone who overclocks anything knows that, often, an extra bit of voltage
will help a component run at speeds it wouldn’t before, be it a CPU, video card, or even
memory. But do you know why?
It’s one of those things we tend to take for granted. We don’t know why it works, all we know
is that it does work, and that’s good enough for us. And that’s just fine, because in most cases, it
really doesn’t matter why it works, just that it does (that’s engineering in a nutshell).

Current Vs. Voltage


Unless, of course, you’re curious, in which case, we’ve got an answer for you! A common
misconception is that increasing the voltage gives the CPU the added ‘power’ it needs to run at
higher speeds. While it’s true that power varies with voltage, it’s actually the current demands of
the processor that increase with speed, not voltage demands (when you overclock a CPU, it
requires more current at the same voltage, not more voltage with the same current). It doesn’t
need more power, it needs more current, and so feeding it more voltage in an effort to increase
power won’t help. So why, then, does increasing the voltage a bit often help the CPU run faster,
and with more stability?

We are aware that CPUs, and indeed, all computer equipment, deal only in binary; 0s and 1s.
Your CPU has no vocabulary for numbers, as we know them, CPUs produce results that are
understood by us (base 10), without really knowing they’re doing it. Our entire digital world is
based entirely on this premise, this Boolean logic.
But what exactly constitutes a 0 or 1 inside a CPU? Many of you have likely heard the Off /
On analog, but what represents an Off or On? How does a gate in your CPU know when it’s off
or on, 0 or 1?
The answer here is voltage. In a CPU, we have a low voltage, and a high voltage. These
represent a logic low (0), and a logic high (1). If a gate wants to output a ‘1’, it outputs a logic
high voltage. If it wants to output a ‘0’; logic low voltage.

The Voltage Logic


These voltages are generally referred to in more compact ways in data sheets, though. Logic low,
which is usually 0V, is referred to as VSS. Logic high is referred to as VCC, or sometimes VDD
or VCORE. The value of VCC will vary from device to device, and largely depends on the
transistor technology used. When you talk about the core voltage of a Pentium 4 being 1.700V,
this is the voltage to which you are referring. VCC for a Pentium 4 is 1.700V, while VCC for an
old Pentium II may have been 2.800V.
So a typical gate, then, will look at the voltages of its inputs. If it sees a voltage of about
VCC, it treats that as a logical 1. If it sees a VSS (0V), it treats it as logic 0. Your CPU is nothing
more than a huge array of ever-changing voltages, used to indicate 0s and 1s.
So why is it, then, that increasing VCC, or VCORE, of a processor, can allow it to run at
higher speeds?
The first thing we need to understand before we can answer this is that, while on paper,
everything is quite black and white (0V or 1.700V), it’s not so simple inside the device. The
input a gate receives may not be exactly 1.700V, rather it may see 1.680V, for example, due to
resistance in the interconnects, and potentially tens of other factors.
As a result, our gates must have tolerance. That is, our gate might treat anything from 1.650V
to 1.750V as logic high. This works well in most cases, expect when the voltage drops below the
tolerance of the gate. For example, suppose we inputted 1.600V into our gate above. It would be
treated as logic low (or 0), even though it was most probably intended to be a logic high (1).
Electrical properties of transistors (which we cannot change) require that tolerances are
generally very small compared to VCC. In others words, it’s not electrically possible to have a
transistors whose VCC is 2.00V, but that will treat anything from 1.00V to 3.00V as a logic high.
Tolerances are generally on the order of 1-10% of VCC, meaning for a 2.00V transistor, a
range of 1.80V to 2.20V is more realistic. This is simply a property of CMOS or even TTL
transistors, and is something we cannot change (at least until we invent a new type of transistor,
then who knows!)
In other words, we have to make sure that our VCC is always of sufficient levels to be
properly interpreted as logic high. If it drops much more than 10%, we run the risk of it being
interpreted as logic low, and causing errors. Overclocking, unfortunately, can cause this.

You might also like