Wie variiert der Stromverbrauch mit der Prozessorfrequenz in einem typischen Computer? [abgeschlossen]

Ich suche nach einer Schätzung der Beziehung zwischen der Steigerungsrate des Stromverbrauchs, wenn die Frequenz des Prozessors erhöht wird.

Hinweise auf diesbezügliche Erkenntnisse wären hilfreich.

Diese Frage scheint nicht zum Thema zu gehören, da es um den Stromverbrauch elektronischer Komponenten und nicht um Physik geht
Ich stimme dafür, diese Frage als nicht zum Thema gehörend zu schließen, da sie nichts mit Physik zu tun hat. Vielmehr befasst es sich mit dem Stromverbrauch elektronischer Geräte, was für diese Site nicht zum Thema gehört.
Das ist angewandte Physik, oder? Die Seite heißt nicht theoretische-physik.stackexchange.com , oder?

Antworten (5)

Der Stromverbrauch ist ungefähr linear mit der Frequenz .

Geben Sie hier die Bildbeschreibung ein

Der Prozessor enthält wie gezeigt Millionen komplementärer FETs. Wenn der Eingang niedrig wird, wird die kleine Kapazität aufgeladen und hält eine kleine Energiemenge. Eine gleiche Menge geht während des Ladens verloren. Wenn der Eingang wieder hoch geht, wird die Ladung zur Erde abgeleitet und geht verloren. Also bei jedem Levelwechsel n Joule geht verloren. Wenn die Frequenz 1 MHz beträgt, erfolgt diese Umschaltung 10 6 pro Sekunde und n 10 6 Joule gehen pro Sekunde verloren. Wenn die Frequenz 1 GHz beträgt, wird dieser Verlust sein n 10 9 Joule.

Beachten Sie, dass die Energie in einem Kondensator ist C v 2 2 , also ändert sich die Dissipation quadratisch mit der Spannung; Wenn der Prozessor mit halber Spannung betrieben wird, wird die Leistung um 75 % reduziert.

Dies führt zu der Gleichung, die tuğrul auch erwähnt:

P = c v 2 f + P S

wo c ist eine Skalierungskonstante mit der Dimension der Kapazität (F). P S ist die statische Verlustleistung, auf die sich Martin bezieht, also die Leistung bei einer Taktfrequenz von Null.

Beachten Sie, dass moderne CPUs ihre Spannung dynamisch mit der Frequenz skalieren und knapp über der Mindestspannung liegen, die für den korrekten Betrieb bei einer bestimmten Taktrate erforderlich ist. Das ist ungefähr linear, also ungefähr P   f 3 . ( realworldtech.com/near-threshold-voltage diskutiert das Herunterdrücken von Spannungen so weit, dass Fehler wahrscheinlicher werden. Siehe auch realworldtech.com/power-delivery ) Diese erklären nicht die f ^ 3-Skalierung über normale Spannungsausbrüche, aber siehe die Antwort von Wandering Logic auf diese Frage.

Für eine gegebene Schaltung in einer gegebenen Technologie steigt die Leistung mit einer Rate proportional zu f 3 oder schlimmer. Anhand des Diagramms in der Antwort von @Martin Thompson können Sie sehen, dass die Leistung in der Frequenz superlinear ist.

P = c v 2 f + P S ist richtig, aber nur oberflächlich so weil f und P S sind Funktionen von v und v t h (die Schwellenspannung.) In der Praxis werden Spannung, Schwellenspannung und Frequenz immer zusammen geändert . Bei einer gewählten Spannung gibt es eine maximale Frequenz, mit der Sie Ihre Schaltung betreiben können. Eine schnellere Ausführung führt zu schlechten Daten. Aber Sie würden die Frequenz niemals weit unter die maximale Frequenz für eine gewählte Spannung einstellen, weil Sie dann nur Energie verschwenden.

Lassen Sie uns die (statische) Leckleistung ignorieren und uns nur auf die dynamische Leistung konzentrieren. c v 2 f . Durch die Alpha-Näherung

f ( v v t h ) a v .

Hier a ist eine technologieabhängige Konstante, die die Geschwindigkeitssättigung berücksichtigt. a wäre 2 für keine Geschwindigkeitssättigung (z. B. in der 1000-nm-Technologie und älter) und nähert sich 1 bei vollständiger Geschwindigkeitssättigung. In der 250-nm-Technologie lag er irgendwo zwischen 1,3 und 1,5. Bei 45 nm könnte es irgendwo zwischen 1,1 und 1,4 liegen.

Vor 1995 könnte man davon ausgehen a war 2 und das v v t h , in welchem ​​Fall f v Also P f 3 . Aber im Jahr 2013 ist die Technologie (45 nm und darunter) nicht nur a eher 1,3 als 2, aber v ist jetzt nur geringfügig größer als v t h .

Weiter die statische Kraft P S e ( v t h / v Ö ) v , was bedeutet, dass die Auswahl von Spannung, Schwellenspannung und Frequenz nun ein nichtlineares Optimierungsproblem mit Zwangsbedingungen ist. (Optimieren Sie bei fester maximaler Leistung auf die höchste erreichbare Frequenz oder optimieren Sie bei fester erforderlicher Frequenz auf die minimale Leistung.)

Hier sind drei sehr gute Arbeiten, die die Optimierungsverfahren und ihre Folgen diskutieren:

González, Gordon, Horowitz; Versorgungs- und Schwellenspannungsskalierung für Low-Power-CMOS; IEEE JSSC , 32(8), 1997.

Brodersen, Horowitz, Markovic, Nikolic, Stojanovic; Methoden zur True-Power-Minimierung; IEEE/ACM International Conf on CAD , S. 35–42, 2002.

Horowitz, Alon, Patil, Naffziger, Kumar, Bernstein; Skalierung, Leistung, die Zukunft von CWWW-VLSI, IEEE International Electron Devices Meeting , 2005.

Diese Arbeit zeigt deutlich den nichtlinearen Anstieg des Stromverbrauchs mit zunehmender Frequenz:

Miyoshi, Akihikoet al. "Kritische Leistungssteigung: Verständnis der Laufzeiteffekte der Frequenzskalierung." Proceedings of the 16th international conference on Supercomputing. AKM, 2002.

Diese Antwort könnte überzeugender sein, wenn die von Ihnen zitierte Forschung nicht (jetzt) ​​vor 13-20 Jahren durchgeführt wurde.
@Columbo: Viele Forschungen, denen wir immer noch vertrauen, sind Tausende von Jahren alt. Dass die Papiere alt sind, bedeutet nicht, dass die Phänomene, die sie beschreiben, für moderne Prozesse nicht relevant sind. Das heißt, ich habe die Zeitungen nicht gelesen, aber ich denke, es scheint, als ob Wandering Logic weiß, wovon er spricht. Ich könnte mich aber irren.

Zu dem Punkt "linear mit der Frequenz" kommt noch ein zusätzlicher Faktor hinzu. Wenn diese "dynamische Leistung" zunimmt, steigt die Temperatur des Chips und dies erhöht auch den Leckstrom durch die Millionen von Transistoren, was zu mehr Verlustleistung führt (als "statische Leistung" bezeichnet).

Es gibt einen langen Anandtech-Thread , der viele Werte nimmt und sie in ihre statischen und dynamischen Beiträge zerlegt, was zu folgendem Diagramm führt:http://i272.photobucket.com/albums/jj163/idontcare_photo_bucket/Intel%20Core%20i7-2600K/i7-2600KPower-ConsumptionAnalysis.png

Der leichte Anstieg der statischen Leistung bei höheren Taktraten ist (so wie ich es verstehe) auf die höhere Die-Temperatur zurückzuführen.

Deshalb sagte ich linear und nicht proportional :-).
@stevenvh: Wenn alles gleich ist, ist es nicht ganz linear (obwohl ich feststelle, dass Sie "ungefähr linear" gesagt haben), da sich die statische Leistung mit der Temperatur und damit der Gesamtleistung ändert (oder vermisse ich Ihren Punkt)?
Nein, Sie haben recht, aber die Leistung aufgrund des Leckstroms ist nur ein kleiner Bruchteil der dynamischen Leistung. Obwohl sie exponentiell mit der Temperatur ansteigt, wird die Gesamtleistung bei 85 °C um einige Größenordnungen größer sein, sodass die statische Leistung die Kurve nur leicht krümmen wird.
Ist es linear nach links? Normale Frequenzen liegen wahrscheinlich direkt am Rand des linearen Regimes (wenn dies nicht der Fall wäre, würden sie einfach die Frequenz erhöhen, um eine Leistungssteigerung bei linearen Stromkosten zu erzielen).
Ich bin mir über die Genauigkeit des Diagramms nicht sicher (und die Referenz unten rechts scheint mir nicht viel Grund dazu zu geben :-)). Die Grafik besagt, dass die dynamische Leistung bei 1,6 GHz etwa 10 W und bei 4,8 GHz 100 W betragen würde? Das ist ein Faktor 10, wo wir einen Faktor 3 erwarten würden. Wenn es unter 1,6 GHz linear ist, würde es 10 mW bei 1,6 MHz verbrauchen, was für einen Prozessor mit rund einer Milliarde Transistoren wie dem i7 extrem wenig ist.
Hmm. Beim weiteren Lesen der Methodik bin ich mir nicht sicher, ob entweder das Lila oder das Blau "echte Dynamik ohne die Spannungsskalierungseffekte" sind. Ich denke, das grüne Bit ist immer noch gültig
@stevenvh: Die Grafik ist korrekt, die richtige Frage ist: warum funktioniert das P = c v 2 f Modell passt nicht zu den Daten? Das liegt daran, dass Sie Spannung und Frequenz zusammen skalieren müssen. Siehe meine Antwort unten.
@ Martin Thompson: Richtig, Sie können die Frequenz nicht skalieren, ohne auch die Spannung zu skalieren.

Beispielsweise hat der Pentium 4 2,8 GHz eine typische thermische Leistung von 68,4 W und eine maximale thermische Leistung von 85 W. Wenn sich die CPU im Leerlauf befindet, verbraucht sie weit weniger als die typische Wärmeleistung. Die von einer CPU verbrauchte Leistung ist ungefähr proportional zur CPU-Frequenz und zum Quadrat der CPU-Spannung: P = C v 2 f

Entnommen von hier: http://en.wikipedia.org/wiki/CPU_power_dissipation

Diese Seite unterstützt TeX-Code, zB P = C v 2 f indem Sie Dollarzeichen links und rechts verwenden. Sie müssen kein Bild einer Formel importieren. :)
Testen: E = m c 2 und ( ( h 2 ) / 2 m )
@tuğrulbüyükışık : Sie können auch \frac{h^{2}}{2m} in Dollarzeichen verwenden, um schöne Brüche zu erhalten. Sie können noch viel mehr tun. Googlen Sie nach MathJax oder LaTeX, und Sie werden eine ganze Reihe von Mathematik sehen, die Sie tun können.

Sehen Sie sich auch ein Video zu diesem Thema an, das von jemandem präsentiert wird, der sich auskennt:

Tim Mattson (Intel): Introduction to OpenMP: 02 part 1 Module 1 , YouTube, 6. Dezember 2013

Ab 3:34 leitet er die Gleichung her:

P = C v 2 f .

Dann sagt er bei 5:14 in Bezug auf die Halbierung der Frequenz:

[...] Frequenz skaliert mit der Spannung, aber du weißt schon [Leckage...], also sagen wir, die Spannung wird nicht halbiert, sagen wir, sie geht auf 0,6.

Die Gleichung auf der dort gezeigten Folie lautet wie folgt:

P r e d u c e d = 2.2 C ( 0,6 v ) 2 f / 2

= 2.2 C 0,36 v 2 f / 2

= ( 2.2 0,36 0,5 ) C v 2 f

= 0,396 C v 2 f .

Das bedeutet in seinem Fall eine Leistungsreduzierung auf 40 % bei halber Frequenz.