Stromverbrauch einer CPU

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 = Lebenslauf 2 f

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

Ist es besser geeignet auf Electronic.SE oder Physics.SE oder hier? Bitte ziehen Sie eine Migration in Betracht, anstatt zu schließen
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 Lastkoeffizient, der sich auf den Anteil der Gatter bezieht, die jeden Taktzyklus schalten. Nennen Sie es eine Proportionalitätskonstante und belassen Sie es dabei.
@Ben - Die Zeile (where C is capacitance, f is frequency and V is voltage). wird jedoch von der WP-Seite zitiert.
@steven: Seit wann ist Wikipedia die ultimative Autorität für Elektrizität?
@ Ben - Hey ho! :-) Wenn es eine Person auf der Welt gibt, die WP kritisch gegenübersteht, dann bin ich das! :-)
@stevenvh, bitte sag mir, dass du eine neue Version des Beitrags bearbeitest und postest, den du gerade gelöscht hast. Ich wollte dir gerade +1 und einen Kommentar geben, in dem ich dich nur darum bitte, die historischen Artefakte zu entfernen und einen klaren, prägnanten Beitrag zu erstellen.
@Kortuk - Ich habe eine viel bessere und detailliertere Antwort im Kopf, jetzt keine Zeit, ich werde sie morgen posten.
@BenVoigt in diesem Fall hat Wiki Recht, es ist Kapazität :)
@clabacchio: $C_L$ in deiner Antwort ist Kapazität. In der Wikipedia-Formel ist $C$ nicht, es ist nur eine Proportionalitätskonstante, wobei die Kapazität eines der Dinge ist, die zu dieser Konstante beitragen. Insbesondere benötigen Sie auch einen Lastkoeffizienten, den ich in meinem ersten Kommentar erwähnt habe und der in Ihrer Antwort mit $ \ alpha $ bezeichnet wird.
@BenVoigt nein, die 1/2 fehlt nicht und meine Antwort (und davor das Buch) erkläre warum. Wiki sagt auch, dass es sich um eine Kapazität handelt, aber tatsächlich ist es die Gesamtkapazität der durchschnittlichen Anzahl von Gates, die in der Periode schalten. Aus diesem Grund könnte man auch sagen, dass f die Konstante ist, und es könnte angemessener sein
@ Kortuk - Fertig (vielleicht nicht so prägnant). Sie können alles upvoten, was Sie wollen! :-) Danke für die Unterstützung.
FYI - ein gutes, verwandtes Q&A zu Physics SE

Antworten (6)

MSalters Antwort 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. Das liegt daran, dass eine CPU, wie auch jeder integrierte Schaltkreis, ein großes Ensemble von Schaltern ist, von denen jeder einen anderen ansteuert.

Grundsätzlich können Sie eine Stufe als MOS-Inverter modellieren (es kann komplizierter sein, aber die Leistung bleibt gleich) und die Eingangsgatekapazität der folgenden aufladen. Es läuft also alles darauf hinaus, dass ein Widerstand einen Kondensator auflädt und ein anderer ihn entlädt (natürlich nicht gleichzeitig :)).

Die Formeln, die ich zeigen werde, stammen aus Digital Integrated Circuits - A Design Perspective von Rabaey, Chakandrasan, Nikolic.

Betrachten Sie einen Kondensator, der von einem MOS geladen wird:

Geben Sie hier die Bildbeschreibung ein

die Energie aus der Versorgung entnommen wird

E v D D = 0 ich v D D ( t ) v D D d t = v D D 0 C L d v Ö u t d t d t = C L v D D 0 v D D d v Ö u t = C L v D D 2

Während die Energie am Ende im Kondensator gespeichert wird

E C = 0 ich v D D ( t ) v Ö u t d t = . . . = C L v D D 2 2

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

Unabhängig vom Ausgangswiderstand des MOS wird also die Hälfte der Energie benötigt, die Sie im Kondensator speichern, um ihn mit konstanter Spannung aufzuladen. Die im Kondensator gespeicherte Energie wird in der Entladephase am pMOS abgebaut.

Bedenken Sie, dass es in einem Schaltzyklus einen L->H- und einen H->L-Übergang gibt, und definieren Sie f S die Frequenz, bei der dieser Wechselrichter einen Zyklus abschließt, haben Sie, dass die Verlustleistung dieses einfachen Gates ist:

P = E v D D t = E v D D f S = C L v D D 2 f S

Beachten Sie, dass es bei N Gates ausreicht, die Leistung mit N zu multiplizieren. Nun ist die Situation für eine komplexe Schaltung etwas komplizierter, da nicht alle Gates mit der gleichen Frequenz pendeln. Sie können einen Parameter definieren a < 1 als durchschnittlicher Anteil von Gattern, die bei jedem Zyklus pendeln.

So wird die Formel

P T Ö T = a N C L v D D 2 f S


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

E C = v D D 2 C 2 ( 1 e 2 T c h a r g e R C )

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

T c h a r g e = l Ö g ( 0,1 ) R C 2 = k R C

hat man es gewählt, so haben wir wieder eine von R unabhängige Energie.

Beachten Sie, dass dasselbe durch Integrieren von 0 bis kRC anstelle von unendlich erhalten wird, aber die Berechnungen werden etwas komplizierter.

großartige Antwort, außer es fehlen Bilder, mit denen ich die technische Genauigkeit überprüfen kann.
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 der Strom in der Schaltung Gleichstrom oder Wechselstrom?
@Tim ja, die Energie in einem Zyklus ist Evdd, weil es die Ladung ist, die zum Laden des Kondensators erforderlich ist; die gespeicherte Hälfte wird bei der Entladung abgeführt. Der Strom ist keines von beiden, sondern ein variabler Strom, der die exponentielle Charakteristik (flossenartig) des Ladens und Entladens der Kappe hat.
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$ eine 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 keines von beidem ist?
@Tim Ec wird aus physikalischen Gründen durch 2 geteilt, die Sie aus der Gleichung ableiten können (die ich der Kürze halber abgeschnitten habe). Das Signal ändert sich über die Zeit, daher (t), und ist weder Wechselstrom noch Gleichstrom, aber schließlich dem ersteren ähnlicher. Es ist unvorhersehbar, da es vom Betrieb des Tors abhängt.
Die Wikipedia sagt "proportional zu", also können Sie die Konstanten in der Formel ignorieren, da sie die Proportionalität nicht beeinflussen.
Ah, ich habe nicht verstanden, was du meinst. Es ist korrekt IMO.
Wie heißt die Komponente zwischen V_DD und v_out? Es hat ein anderes Ende, das mit der Erde verbunden ist.
Danke, ich möchte grundlegende Dinge lernen. Befindet sich in Stevenvhs Antwort die Komponente in der linken unteren Ecke, dh unter dem pMos und links vom Kondensator C_1, nMos?
@tim: ja. Sie können die meisten Dinge finden, die nach MOSFET und CMOS suchen, auch ohne das Buch. Und viele Leute schlagen Art of Electronics vor.

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

Ich habe darüber nachgedacht und 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. Was nicht so ist. Es ist widerstandsfähig.

Geben Sie hier die Bildbeschreibung ein

Voilà une paire complémentaire MOS. Die MOSFETs bilden zusammen mit dem Kondensator eine Ladungspumpe. Wenn der Ausgang hoch geht, leitet der P-MOSFET und lädt den Kondensator auf v D D , wenn es niedrig wird, wird der Kondensator entladen v S S über den N-MOSFET. Beide MOSFETs haben einen Einschaltwiderstand, der dafür sorgt, dass sie während des Ladens/Entladens Leistung verbrauchen. Jetzt schlägt Ben vor, dass der Widerstandswert keine Rolle spielt, während ich das Gegenteil sage. Nun, wir haben beide Recht, also auch beide Unrecht.

First Ben: Sowohl die Kondensatorspannung als auch der Strom variieren während des Ladevorgangs exponentiell. Die jetzige

ich = v D D R e t R C

P = ich 2 R = v D D 2 R e 2 t R C

und die Integration über die Zeit gibt uns die im Widerstand verbrauchte Energie:

U = v D D 2 R t = 0 e 2 t R C d t = v D D 2 R R C 2 = v D D 2 C 2

das ist in der Tat unabhängig von R . Es sieht also so aus, als hätte Ben recht.

Jetzt ich. "Unendlich!? Bist du verrückt? Dieser Job muss in 0,3 ns erledigt werden!" In der Schule schienen wir Ewigkeiten zu haben, um einen Kondensator aufzuladen. Wenn t endlich ist, bekommen wir

U = v D D 2 R t = 0 t 1 e 2 t R C d t = v D D 2 C 2 ( 1 e 2 t R C )

und dann R ist immer noch ein Faktor.
In der Praxis spielt es aber keine Rolle, da R C T C L Ö C K .

Ich schneide hier einige Ecken ab, davon ausgegangen R ist konstant. Aber es ist nicht einfach. R ( t ) hängt von der Spannung des Gates ab, die von der Ladungskurve der Kapazität des Gates abhängt, die davon abhängt R . Einfach, wenn es ein lineares System ist, aber das ist es nicht, also habe ich mich für die Exponentialfunktion als Annäherung entschieden.

Fazit: dabei wird die Verlustleistung ausgedrückt C es passiert in R , was auf den ersten Blick nichts damit zu tun zu haben scheint.

Was kann man dagegen tun? Senkung R nützt nichts. Können wir abnehmen C ? Es würde helfen, die Ladung zu verringern, von der abgezogen wird v D D zu v S S , aber wir brauchen C . Die Gate-Kapazität ist das, was einen MOSFET zum Funktionieren bringt!

Was wäre wenn R waren Null, absolute Null? Dann hätten wir keine Dissipation, richtig? In diesem Fall würde das Umschalten ein Unendliches ergeben d ich / d t , was dazu führen würde, dass die Schaltenergie abgestrahlt statt dissipiert würde, aber die Energiemenge wäre die gleiche. Ihre CPU würde weniger heiß werden, wäre aber ein breitbandiger 100-W-HF-Rauschsender.

Nein einverstanden :). Ihr Absatz über die endliche Zeit ist richtig, aber er setzt voraus, dass wir die Zeit festlegen, die wir für den Übergang angeben, während das Feste die Spannung ist, bei der wir davon ausgehen, dass der Übergang abgeschlossen ist. Der Widerstand verschwindet also wieder, weil er die maximale Geschwindigkeit der CPU bestimmt, und deshalb ist es besser, die Kapazität zu verkleinern (einer der Gründe).
Beachten Sie, dass ich in meinen Antworten normalerweise einen großen Spielraum für Fehler lasse, aber dies ist - fast - aus einem sehr teuren Buch kopiert :). Ich vertraue seiner (konzeptionellen) Genauigkeit mehr als jeder anderen, abgesehen von Tippfehlern.
@clabacchio - Ben ist Ben Voigt, der meine andere Antwort kommentiert hat. Der Widerstand geht wegen der kurzen RC-Zeit wieder weg. Es spricht aber nichts dagegen, den Ladevorgang bei höherem Takt abzubrechen, wenn eine 90%-Ladung ausreichen würde. Mein sehr teures Buch ist mein Kopf (manchmal mit Hilfe von Mathematica) :-)
Meine Argumentation ist anders: Ich sage, dass es nicht daran liegt, dass t >> RC (es wäre eine Verschwendung von Ressourcen), sondern dass t = kRC ist, wobei k eine Designbeschränkung ist, die einen ausreichenden Spannungshub gewährleistet, um robust zu sein. Wenn Sie immer das gleiche k verwenden, dann verschwindet dieser Faktor (auch bei Reimen). Die Sache mit dem Buch war, deutlich zu machen, dass ich meine Behauptung nicht nur wegen Arroganz unterstütze
Besser so wie es ist :-). Ich habe den Inhalt sogar vor den +10.000 Wiederholungsbenutzern versteckt. Ich denke, Kortuk war zu positiv darüber. Über den RC sagen wir, glaube ich, dasselbe. Wenn Ihr k = 2,3 ist, landen Sie bei meinen 90 %.
Nein. Die Energie für jeden FET ist eine Funktion von R, wenn die Ladezeit < 5RC ist. Das gilt für jeden FET, wie auch immer Sie ihn skalieren. (sofern ich dich nicht richtig verstehe)
+1. Wie hast du diese hübsche Schaltung gezeichnet? Oder ist es aus irgendeinem Buch?
@Tim - Es stammt aus einem PDF, das ich im Internet gefunden habe. Tut mir leid, ich halte keine Links, also habe ich keinen Bezug darauf. Danke für die positive Bewertung.
@clabacchio: Wird das teure und genaue Buch, das Sie in einem früheren Kommentar "Digital Integrated Circuits - A Design Perspective from Rabaey, Chakandrasan, Nikolic" erwähnt haben, in Ihrer Antwort erwähnt? Ich habe im Internet herumgesucht, aber noch keine vollständige E-Book-Version dieses Buches gefunden.
@Tim: Ja, aber ich fürchte, es gibt keine. Aber das Taschenbuch ist nicht so teuer, nur um die 40/50 $
Ja, das ist viel besser.

Der Hauptstromverbrauch in CPUs wird durch das Laden und Entladen von Kondensatoren während Berechnungen verursacht. Diese elektrischen Ladungen werden in Widerständen abgebaut, wodurch die damit verbundene elektrische Energie in Wärme umgewandelt wird.

Die Energiemenge in jedem Kondensator ist C i /2 · V 2 . Wenn dieser Kondensator f mal pro Sekunde geladen und entladen wird, ist 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 die Division durch 2 verschwinden?
@Tim: Reine Definitionssache. In der Praxis wird der C -Wert einer CPU direkt gemessen.
In Reihe, 1/C = \sum_i 1/C_i; parallel dazu C = \sum_i, C_i. Ihre Formel C = 1/2 \time \sum_i C_i ist es auch nicht. Das ist meine Verwirrung.
@Tim: Vorausgesetzt, die Kondensatoren sind sowieso fest parallel verdrahtet ( sum_i). Bei all den Gates, die 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 bezieht sich nicht auf (dV/dt)/I; es ist lediglich ein beobachteter Konstante, der P , V und f in Beziehung setzt .
@Tim: Wenn Sie die 1/2 beibehalten, wird sie einfach aufgehoben, Sie erhalten nur einen anderen Wert für die Kapazität. Wenn Sie beispielsweise nach C auflösen, erhalten Sie entweder V^2·F/Poder (1/2)·V^2·F/P. Nehmen wir nun an, Sie ändern die 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/P2dasselbe.

Die Kapazität wird in Farad gemessen , was Coulombs pro Volt entspricht.

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

Durch Reduzieren erhalten wir Coulomb-Volt pro Sekunde, besser bekannt als Watt , eine Einheit der Leistung.

Dies beantwortet jedoch nicht wirklich warum.

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.

Das ist weit entfernt von "allgemein". Tatsächlich gibt es für solche Geräte einen speziellen Namen: Ohmsche Lasten (aus dem Ohmschen Gesetz, V = I · R)

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

Wenn Sie I als RMS-Strom (die Quadratwurzel aus dem Durchschnitt des Quadrats des Stroms) verstehen, dann ist Ihre Gleichung richtig. Setzt man diese zusammen, erhält man:

V · I(Rms) = C · V^2 · F
I(Rms) = C · V · F

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

Vielen Dank! Meine Frage ist, warum V · I(Rms) = C · V^2 · F? Haben Sie einige Referenzen für diese Formel?
Ich verstehe nicht ganz, was du wissen willst.
Warum ist V · I(Rms) = C · V^2 · F wahr? Woher lernst du es?
Es ist wahr, weil es zwei Potenzgleichungen kombiniert, von denen jede richtig ist und die dasselbe messen. Das Imuss RMS-Leistung sein, denn P=V·Ium Ihnen eine durchschnittliche Leistung zu geben, kann dies trivialerweise mit Kalkül von bewiesen werden P = I^2·R.
Meine ursprüngliche Frage ist, warum P = C · V ^ 2 · F wahr ist? Ich habe noch nicht angenommen, dass es wahr ist, was ich denke, Sie tun es.
Die Rate, mit der Strom verbraucht wird, ist die gleiche wie die Menge an Energie, die pro Sekunde verbraucht wird. F ist die Anzahl der Zustandsübergänge pro Sekunde. Die Energie in einem Kondensator ist proportional zu C·V^2 . Alles andere ist konstant und skaliert mit der Kapazität. (Zum Beispiel die Anzahl der Lasten in der CPU, die für jeden Zustandsübergang geladen oder entladen werden müssen, der Wärmeverlust und so weiter.)
Vielen Dank! Die Energie in einem Kondensator ist laut Wikipedia C·V^2 /2, statt C·V^2. Warum dann V · I(Rms) = C · V^2 · F statt V · I(Rms) = C · V^2 · F /2 in Ihrer Antwort?
Es macht keinen Unterschied. Wenn Sie dort bleiben möchten /2, verdoppeln Sie einfach den CWert und die Gleichung funktioniert genauso. Es ist bequemer, die /2. Es ändert nichts, außer welchen Wert Sie für C verwenden. Die Gleichung soll Ihnen nicht helfen, die CPU physikalisch zu modifizieren, also ist C eine willkürliche Konstante, die die Kapazität der CPU beschreibt. (Siehe meinen Kommentar zu MSalters Antwort.)
Vielen Dank! Ich habe deinen Kommentar dort gesehen. Es sagt nur, dass sich bei fester Kapazität die anderen Größen ändern. Das ist eine andere Situation als in Ihrer Antwort, wo Sie eine Formel zur Berechnung der Leistung als P = CV^2 f anstelle von P = CV^2 f /2 angeben. Ich verstehe nicht, warum man nicht durch 2 dividiert.
@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 das tun. Sie verwenden einfach Kapazitätszahlen, die doppelt so hoch sind wie alle anderen, und Sie erhalten die gleichen Antworten. (Wir verwenden 12-Zoll-Füße, aber Sie könnten auch 6-Zoll-Füße 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.)