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 tolerances. That is, our gate might treat anything from 1.650V to 1.750V as a logic high. This works well in most cases, except 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 a 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 other words, itís not electrically possible to have a transistor 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 a logic high. If it drops much more than 10%, we run the risk of it being interpreted as a logic low, and causing errors. Overclocking, unfortunately, can cause this.
Discuss This Article (8 Comments) - If you have any questions, comments or suggestions about the article and/or its contents please leave your comments here and we'll do our best to address any concerns.