Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The whole multi-core debate got me thinking.

It's much easier to produce two cores (in one package) then speeding up one core by a factor of two. Why exactly is this? I googled a bit, but found mostly very imprecise answers from over clocking boards which do not explain the underlying Physics.

The voltage seems to have the most impact (quadratic), but do I need to run a CPU at higher voltage if I want a faster clock rate? Also I like to know why exactly (and how much) heat a semiconductor circuit produces when it runs at a certain clock speed.

share|improve this question

migrated from stackoverflow.com Jul 14 '10 at 14:54

This question came from our site for professional and enthusiast programmers.

    
there's a multi-core debate? I thought murphy's law ran out and the comp arch guys couldn't find anything else to do. –  Gary Jul 14 '10 at 13:44
6  
Moore's law. Murphy's law will only run out at the worst possible moment. :-) –  Ollie Jones Jul 14 '10 at 13:56
    
There is an element of truth to Gary's comment though. At this point transistor counts are high enough that for larger CPUs designers can put everything on die instead of having to pick and choose, and adding cache eventually runs into diminishing returns. The 10-20% gains with new architectures indicate that designers are still managing to tweak performance but there's probably not anything revolutionary left that could be implemented if there were more transistors available to spend. –  Dan Neely Jul 14 '10 at 15:41

7 Answers 7

up vote 29 down vote accepted

Each time the clock ticks you're charging or discharging a bunch of capacitors. The energy for charging a capacitor is:

E = 1/2*C*V^2

Where C is the capacitance and V is the voltage to which it was charged.

If your frequency is f[Hz], then you have f cycles per second, and your power is:

P = f*E = 1/2*C*V^2*f

That is why the power goes up at linearly with frequency.

You can see that it goes up quadratically with voltage. Because of that, you always want to run at the lowest voltage possible. However, if you want to raise the frequency you also have to raise the voltage, because higher frequencies require higher operating voltages, so the voltage rises linearly with the frequency.

For this reason, the power rises like f^3 (or like V^3).

Now, when you increase the number of cores, you're basically increasing the capacitance C. This is independent of the voltage and of the frequency, so the power rises linearly with C. That is why it is more power efficient to increase the number of cores that it is to increase the frequency.

Why do you need to increase the voltage to increase the frequency? Well, the voltage of a capacitor changes according to:

dV/dt = I/C

where I is the current. So, the higher the current, the faster you can charge the transistor's gate capacitance to its "on" voltage (the "on" voltage doesn't depend on the operating voltage), and the faster you can switch the transistor on. The current rises linearly with the operating voltage. That's why you need to increase the voltage to increase the frequency.

share|improve this answer
5  
Transistors have dynamic capacitance. In order to "open" a transistor, you need to charge its gate-capacitance. –  Nathan Fellman Jul 14 '10 at 13:12
1  
I didn't even go into leakage, but that works pretty much the same. It's more like some sort of resistor, and less like a capacitor, so it consumes power based on v^2/r at the same frequency f. –  Nathan Fellman Jul 14 '10 at 13:19
1  
You're wrong. It's 100% about capacitance. The capacitance is charged and discharged through the source-drain resistance, which is definitely not leakage, but which consumes the power that you spent charging and discharging the capacitors. Also, not that these aren't ideal capacitors in any way. 1st of all they're real-world capacitors, 2nd of all they're MOS capacitors whose behavior is very different from regular capacitors, if only because their capacitance depends on the current voltage. –  Nathan Fellman Jul 14 '10 at 13:25
3  
ok... capacitance doesn't have anything to do with heat conversion, but it does have to do with energy consumption, because you need to invest 1/2CV^2 to charge the capacitor. That energy comes from some power source, so each time you charge the capacitor, you're spending 1/2CV^2 from that source. There's nothing keeping that source from heating up. The capacitance per-se isn't to blame. The environment that capacitor is in is to blame. –  Nathan Fellman Jul 14 '10 at 13:38
1  
@Gary You blame the capacitance because the heat scales with the capacitance. Say you need to raise the voltage on a transistor from 0.2V to 0.75V in a billionth of a second from an 0.9V source. The power you use to do that depends linearly on the resistance the current needs to pass through and the capacitance of the gate. If the capacitance was zero, no current would need to flow through the resistance. –  David Schwartz Aug 7 at 7:38

Very basically :

  • A transistor switches faster when you apply more voltage to it.
  • modern IC consume most power when swithing from one state to the next (on the clock tick), but consume no power to stay in the same state (well, there is leakage, so not exactly no power) so the faster you switch, the more switch per seconds you have, the more power you consume.

A very good book on all the details of processor architecture :Computer organization and design by David A. Patterson, John L. Hennessy.

share|improve this answer
    
That's a classic book. –  Gary Jul 14 '10 at 13:19
    
is that the governor of New York State? –  Nathan Fellman Jul 14 '10 at 13:26

Every time a transistor switches state, current is spent. Higher frequency means faster switching, more current wasted. And the impedance of everything converts it to heat. P=I^2*R and all that. And P is V^2/R. In this case though, you'd really want the average V and I over time to be able to calculate, and it'd be quadratic to voltage and current both.

share|improve this answer
    
The leakage is less significant that the actual switching power. –  Nathan Fellman Jul 14 '10 at 13:20
    
sorry, i'll change 'leaked' to 'wasted' –  Gary Jul 14 '10 at 13:34

1) two cores vs. speeding up one core
To speed up one core you need new technology to speed up the transistors switching from one state to another. To add another core you just need more of the same transistors.

2) Heat
The power dissipation is in the form of heat. Power = Voltage * Current. Voltage = Resistace * Current. Power = Voltage^2 / Resistance. So the heat disipated is proportional to the voltage squared.

share|improve this answer
    
Yes i know that the heat increases quadratic with the voltage, what I don't get is what influence the voltage has on the clock speed? Do I need higher voltage for higher clock speed? –  Nils Jul 14 '10 at 13:10
    
I know the Microchip's PICs have a graph for Voltage vs Frequency. There's a minimum voltage that the chip will run at a low frequency. It's a linear scale to the maximum voltage and maximum frequency. –  Robert Jul 14 '10 at 13:25
2  
@Nils, higher voltage gives sharper and less ambiguous transitions and states, and makes it more likely a 1 will be interpreted as a 1 and not a 0. And higher frequency makes transitions less square-ish. Remember square waves don't exist. –  Gary Jul 14 '10 at 13:38
    
you mean more square-ish –  Nathan Fellman Jul 14 '10 at 14:19

Well, in electrical power, there are two kinds of power, reactive power and real power. Some people call reactive power dynamic power. Reactive power is never consumed or lost. For instance, if an ideal capacitor is connected to an AC voltage source by ideal lossless wires, the capacitor will charge and discharge, taking energy from the generator in one cycle, and returning energy to the generator in the next cycle. The net loss is zero.

However, if the wires are nonideal and resistive, then energy is dissipated in the wires during the charging and discharging of the capacitor. This dissipated power is real power loss, and cannot be recovered. As the clock rate goes up, the rate of charging and discharging goes up, increasing the power loss in the wires.

The gates of transistors behave like capacitors. As the clock rate goes up, more reactive power is delivered to the capacitors. The fraction of which is lost in the resistive wires also goes up.

share|improve this answer

One thing not mentioned so far - chips get faster and the lithography process to make them gets components smaller. They've gotten so small that they're a few atoms wide in some cases. There's significant current leakage now, which gets dissipated as heat generally.

share|improve this answer

To switch the state of a circuit rapidly requires more current than to switch it slowly. To achieve that current you need a higher voltage and/or larger, more power-thirsty components. And, of course, larger components need more drive current, causing a snowball effect.

(Interestingly, there was an article in the latest Scientific American (July 2011) that covers this topic for the human brain. Same principles, and one way the human brain packs in more power is to partition the brain in to separate sub-processors, so to speak.)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.