Stromverbrauch einer CPU


9

Ich denke , die Leistung für eine CPU mit Strom I und Spannung U ist I · U .

Ich frage mich, wie die folgende Schlussfolgerung aus Wikipedia abgeleitet wird.

Die von einer CPU verbrauchte Leistung ist ungefähr proportional zur CPU-Frequenz und zum Quadrat der CPU-Spannung:

P = CV 2 f

(wobei C die Kapazität ist, f die Frequenz ist und V die Spannung ist).


2
Ist es besser für Electronic.SE oder Physics.SE oder hier geeignet? Bitte ziehen Sie die Migration in Betracht, anstatt sie zu schließen
Tim

1
Cin dieser Gleichung ist nur eine Konstante, keine Kapazität. Es könnte irgendwie "effektive Kapazität" sein, da es die richtigen Einheiten für die Kapazität hat, aber der Faktor ist falsch. Wie andere bemerkt haben, 1/2fehlt ein, aber wichtig ist, dass ein Lastkoeffizient fehlt, der sich auf den Anteil der Gates bezieht, die jeden Taktzyklus schalten. Nennen Sie es eine Proportionalitätskonstante und belassen Sie es dabei.
Ben Voigt

1
@Ben - Die Zeile (where C is capacitance, f is frequency and V is voltage). wird jedoch von der WP-Seite zitiert.
Stevenvh

3
@stevenvh, bitte sagen Sie mir, dass Sie eine neue Version des gerade gelöschten Beitrags bearbeiten und veröffentlichen. Ich wollte Ihnen eine +1 und einen Kommentar geben und Sie nur bitten, die historischen Artefakte zu entfernen und einen klaren, präzisen Beitrag zu verfassen.
Kortuk

1
@Kortuk - Ich habe eine viel bessere und detailliertere Antwort im Kopf, keine Zeit jetzt, ich werde sie morgen veröffentlichen.
Stevenvh

Antworten:


14

Die Antwort von MSalters ist zu 80% richtig. Die Schätzung ergibt sich aus der durchschnittlichen Leistung, die zum Laden und Entladen eines Kondensators bei konstanter Spannung über einen Widerstand erforderlich ist. Dies liegt daran, dass eine CPU sowie jede integrierte Schaltung ein großes Ensemble von Schaltern ist, die jeweils einen anderen ansteuern.

Grundsätzlich können Sie eine Stufe als MOS-Inverter modellieren (dies kann komplizierter sein, aber die Leistung bleibt gleich) und die Eingangs-Gate-Kapazität der folgenden laden. Es kommt also darauf an, dass ein Widerstand einen Kondensator auflädt und ein anderer ihn entlädt (natürlich nicht zur gleichen Zeit :)).

Die Formeln, die ich zeigen werde, stammen von Digital Integrated Circuits - Eine Designperspektive von Rabaey, Chakandrasan, Nikolic.

Stellen Sie sich einen von einem MOS geladenen Kondensator vor:

Geben Sie hier die Bildbeschreibung ein

Die Energie aus der Versorgung wird sein

EVDD=0iVDD(t)VDDdt=VDD0CLdvoutdtdt=CLVDD0VDDdvout=CLVDD2

Während die im Kondensator am Ende gespeicherte Energie sein wird

EC=0iVDD(t)voutdt=...=CLVDD22

Natürlich warten wir nicht unendlich lange, um den Kondensator zu laden und zu entladen, wie Steven betont. Es ist jedoch nicht einmal vom Widerstand abhängig, da sein Einfluss auf die Endspannung des Kondensators liegt. Abgesehen davon wollen wir eine bestimmte Spannung am folgenden Gate, bevor wir den Übergang betrachten. Nehmen wir also an, es ist 95% Vdd, und wir können es herausrechnen.

Unabhängig vom Ausgangswiderstand des MOS wird also die Hälfte der im Kondensator gespeicherten Energie benötigt, um ihn mit konstanter Spannung aufzuladen. Die im Kondensator gespeicherte Energie wird in der Entladephase auf dem pMOS abgeführt.

Wenn Sie bedenken, dass es in einem Schaltzyklus einen L-> H- und einen H-> L-Übergang gibt, und die Frequenz definieren, mit der dieser Wechselrichter einen Zyklus abschließt, haben Sie folgende Verlustleistung dieses einfachen Gates:fS

P=EVDDt=EVDDfS=CLVDD2fS

Beachten Sie, dass es bei N Gattern ausreicht, die Leistung mit N zu multiplizieren. Bei einer komplexen Schaltung ist die Situation etwas komplizierter, da nicht alle Gates mit derselben Frequenz pendeln. Sie können einen Parameter als den durchschnittlichen Anteil der Gates definieren, die bei jedem Zyklus pendeln.α<1

So wird die Formel

PTOT=αNCLVDD2fS

Kleine Demonstration des Grundes, weil R herausrechnet: Wie Steven schreibt, wird die Energie im Kondensator sein:

EC=VDD2C2(1e2TchargeRC)

Offensichtlich ist R aufgrund der endlichen Ladezeit ein Faktor der im Kondensator gespeicherten Energie. Wenn wir jedoch sagen, dass ein Gate auf 90% Vdd aufgeladen werden muss, um einen Übergang abzuschließen, haben wir ein festes Verhältnis zwischen Tcharge und RC, das lautet:

Tcharge=log(0.1)RC2=kRC

man hat es gewählt, wir haben wieder eine Energie, die unabhängig von R ist.

Es ist zu beachten, dass das gleiche erhalten wird, indem von 0 nach kRC anstatt unendlich integriert wird, aber die Berechnungen werden etwas komplizierter.


Tolle Antwort, außer dass mir Bilder fehlen, mit denen ich die technische Genauigkeit überprüfen kann.
Kortuk

Vielen Dank! (1) Meinst du immer noch $ E_ {VDD} $ mit $ E $? (2) Wo wird in der Formel für $ P $ durch 2 geteilt? (3) Ist in der Schaltung der Strom Gleichstrom oder Wechselstrom?
Tim

@Tim ja, die Energie in einem Zyklus ist Evdd, weil es die Ladung ist, die zum Laden des Kondensators erforderlich ist; Die gelagerte Hälfte wird bei der Entladung abgeführt. Der Strom ist keiner von beiden, ist ein variabler Strom, der die exponentielle Charakteristik (finnenartig) des Ladens und Entladens der Kappe hat.
Clabacchio

Vielen Dank! (1) Ich verstehe immer noch nicht ganz, dass es in der Formel von $ E_C $ keine Division durch 2 gibt, während es in der Formel für $ E_VDD $ gibt. (2) Ich habe mir Wikipedia angesehen, konnte aber die Konzepte von DC und AC nicht gut genug verstehen, um Ihren letzten Satz in Ihrem Kommentar zu verstehen. Könnten Sie sie erklären und warum der Strom hier keiner von ihnen ist?
Tim

@ Tim Ec wird durch 2 geteilt, aus Gründen, die aus der Physik stammen und die Sie aus der Gleichung ableiten können (die ich der Kürze halber schneide). Das Signal ändert sich über die Zeit, daher (t), und ist weder Wechselstrom noch Gleichstrom, sondern schließlich dem ersteren ähnlicher. Es ist unvorhersehbar, da es von der Bedienung des Tors abhängt.
Clabacchio

7

Ich habe vorher eine andere Antwort gepostet, aber es war nicht gut, auch eine falsche Sprache, und ich möchte mich bei Markrages entschuldigen.

Ich habe darüber nachgedacht und ich denke, dass mein Problem hier darin besteht, dass der zitierte Text für mich darauf hindeutet, dass die Kapazität für die Verlustleistung verantwortlich ist. Welches ist nicht so. Es ist resistiv.

Geben Sie hier die Bildbeschreibung ein

VDDVSS

Erster Ben: Sowohl die Spannung als auch der Strom des Kondensators variieren während des Ladevorgangs exponentiell. Die jetzige

I=VDDRetRC

P=I2R=VDD2Re2tRC

und die Integration im Laufe der Zeit gibt uns Energie, die im Widerstand abgeführt wird:

U=VDD2Rt=0e2tRCdt=VDD2RRC2=VDD2C2

R

t

U=VDD2Rt=0t1e2tRCdt=VDD2C2(1e2tRC)

R
RCTCLOCK

RR(t)R

CR

RCVDDVSSC

Rdi/dt


Nein, stimme zu :). Ihr Absatz über die endliche Zeit ist richtig, aber es wird davon ausgegangen, dass wir die Zeit festlegen, die wir für den Übergang angeben, während die Spannung festgelegt ist, bei der wir davon ausgehen, dass der Übergang beendet ist. Der Widerstand geht also wieder weg, weil er die maximale Geschwindigkeit der CPU bestimmt, und deshalb ist es besser, die Kapazität zu verkleinern (einer der Gründe)
clabacchio

Beachten Sie, dass ich normalerweise einen großen Spielraum für Fehler in meinen Antworten lasse, aber dieser wird - fast - aus einem sehr teuren Buch kopiert :). Ich vertraue mehr auf seine (konzeptionelle) Genauigkeit als auf alle anderen Tippfehler.
Clabacchio

@clabacchio - Ben ist Ben Voigt, der meine andere Antwort kommentiert hat. Der Widerstand verschwindet aufgrund der kurzen RC-Zeit wieder. Es gibt jedoch keinen Grund, warum Sie das Laden nicht mit einer höheren Taktrate abbrechen sollten, wenn eine Ladung von 90% ausreichen würde. Mein sehr teures Buch ist mein Kopf (manchmal mit Hilfe von Mathematica) :-)
Stevenvh

Meine Argumentation ist anders: Ich sage, dass es nicht an t >> RC liegt (es wäre eine Verschwendung von Ressourcen), sondern an t = kRC, wobei k eine Entwurfsbeschränkung ist, die einen ausreichenden Spannungshub gewährleistet, um robust zu sein. Wenn Sie immer das gleiche k verwenden, verschwindet dieser Faktor (auch mit Reim). Die Sache mit dem Buch war klar zu machen, dass ich meine Behauptung nicht nur wegen Arroganz unterstütze
Clabacchio

Besser so wie es ist :-). Ich habe sogar den Inhalt vor den + 10.000 Repräsentanten versteckt. Ich denke, Kortuk war zu positiv. Über den RC denke ich, dass wir dasselbe sagen. Wenn dein k = 2,3 ist, landest du bei meinen 90%.
Stevenvh

3

Der Hauptstromverbrauch in CPUs wird durch das Laden und Entladen von Kondensatoren während der Berechnungen verursacht. Diese elektrischen Ladungen werden in Widerständen abgeführt und wandeln die damit verbundene elektrische Energie in Wärme um.

Die Energiemenge in jedem Kondensator beträgt C i / 2 · V 2 . Wenn dieser Kondensator f- mal pro Sekunde geladen und entladen wird, beträgt die ein- und ausgehende Energie C i / 2 · V 2 · f . Summe für alle Schaltkondensatoren und Ersetzen von C = ΣC i / 2 ergibt C · V 2 · f


Vielen Dank! WARUM C = ΣCi / 2, nicht C = ΣCi? Mit anderen Worten, wie lässt man das Teilen durch 2 verschwinden?
Tim

1
@ Tim: Eine Frage der Definition. In der Praxis wird der C- Wert einer CPU direkt gemessen.

In Reihe ist 1 / C = \ sum_i 1 / C_i; parallel dazu ist C = \ sum_i, C_i. Ihre Formel C ist auch nicht C = 1/2 \ time \ sum_i C_i. Das ist meine Verwirrung.
Tim

1
@Tim: Das setzt voraus, dass die Kondensatoren sowieso parallel fest verdrahtet sind ( sum_i). Da alle Gates eine CPU einschalten, ist dies sowieso nicht selbstverständlich. Aber der Hauptgrund, warum ich die 1/2 fallen gelassen habe, ist, dass ich einen technischen Ansatz verwende, keinen rein physikalischen Ansatz. Eine CPU fungiert sowieso nicht als Kondensator. Der CWert ist nicht verwandt mit (dV/dt)/I; es ist lediglich ein beobachteter Kandidat, der P , V und f in Beziehung setzt .

@Tim: Wenn Sie die 1/2 behalten, wird sie nur aufgehoben, Sie erhalten nur einen anderen Wert für die Kapazität. Wenn Sie beispielsweise nach C lösen, erhalten Sie entweder V^2·F/Poder (1/2)·V^2·F/P. Angenommen, Sie ändern Spannung, Frequenz und Leistung. Mit der ersten Gleichung erhalten Sie V1^2·F1/P1 = V2^2·F2/P2und im anderen Fall erhalten Sie, (1/2)V1^2·F1/P1 = (1/2)V2^2·F2/P2was das gleiche ist.
David Schwartz

2

Die Kapazität wird in gemessen Farad , das ist Coulomb pro Volt.

Die Frequenz wird in Hertz gemessen, was Einheiten pro Sekunde entspricht.

Wenn wir es reduzieren, erhalten wir Coulomb-Volt pro Sekunde, besser bekannt als Watt , eine Leistungseinheit.


1
Dies antwortet jedoch nicht wirklich warum.
Kortuk

0

Im Allgemeinen ist der von einem Gerät verbrauchte Strom proportional zur Spannung. Da die Leistung Spannung * Strom ist, wird die Leistung proportional zum Quadrat der Spannung.


1
Das ist alles andere als "allgemein". Tatsächlich gibt es einen speziellen Namen für solche Geräte: Ohmsche Lasten (nach dem Ohmschen Gesetz, V = I · R)

0

Ihre Gleichung ist korrekt für die zu einem bestimmten Zeitpunkt gezogene Leistung. Der von der CPU aufgenommene Strom ist jedoch nicht konstant. Die CPU läuft mit einer bestimmten Frequenz und ändert regelmäßig ihre Zustände. Es verbraucht für jede Zustandsänderung eine bestimmte Menge an Energie.

Wenn Sie I als den Effektivstrom (die Quadratwurzel des Durchschnitts des Quadrats des Stroms) verstehen, ist Ihre Gleichung korrekt. Wenn Sie diese zusammenstellen, erhalten Sie:

V · I (Effektivwert) = C · V ^ 2 · F
I (Effektivwert) = C · V · F.

Der durchschnittliche Strom ändert sich also linear mit der Spannung, Frequenz und Kapazität. Die Leistung variiert mit dem Quadrat der DC-Versorgungsspannung.


Vielen Dank! Meine Frage ist, warum V · I (Rms) = C · V ^ 2 · F? Haben Sie Referenzen für diese Formel?
Tim

Ich verstehe nicht ganz, was Sie wissen wollen.
David Schwartz

Warum ist V · I (Rms) = C · V ^ 2 · F wahr? Wo lernst du es?
Tim

Es ist wahr, weil es zwei Potenzgleichungen kombiniert, von denen jede korrekt ist und die dasselbe messen. Das Imuss RMS-Leistung sein P=V·I, damit Sie eine durchschnittliche Leistung erhalten, die mit Kalkül aus trivial bewiesen werden kann P = I^2·R.
David Schwartz

1
@Tim: Wenn Sie durch zwei teilen, müssen Sie nur die Kapazität verdoppeln und die Gleichung funktioniert genauso. Wenn Sie durch zwei teilen möchten, können Sie. Sie verwenden nur Kapazitätszahlen, die doppelt so hoch sind wie die aller anderen, und Sie erhalten die gleichen Antworten. (Wir verwenden 12-Zoll-Fuß, aber Sie können 6-Zoll-Fuß verwenden, wenn Sie möchten. Sie können immer noch Autos, Gebäude und Brücken entwerfen. Sie nennen sie einfach andere Größen als alle anderen.)
David Schwartz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.