Die Leistung ist bei der niedrigeren Betriebsfrequenz niedriger.
Bei gleicher Kernspannung wäre die Gesamtenergie bei niedrigerer Taktfrequenz höher.
Wenn jedoch die Kernspannung mit der Frequenz nach unten eingestellt wird, kann die Gesamtenergie geringer sein.
Bei Algorithmen, die die meiste Zeit auf E / A-Operationen warten, ist die Ausführungszeit unabhängig von der Kerntaktfrequenz ungefähr konstant. Daher steigt die für die Berechnung erforderliche Gesamtenergie proportional zur Taktfrequenz.
Der Stromverbrauch einer CPU besteht aus zwei Teilen.
1) Statische Stromaufnahme (I_static). Für eine bestimmte Versorgungsspannung und Temperatur ist diese Stromaufnahme unabhängig davon, was die CPU tut, konstant.
Eine mit CMOS-Technologie hergestellte CPU besteht aus Tausenden oder Millionen von MOSFET-Transistoren. Die statische Stromaufnahme ist hauptsächlich auf den kombinierten Leckstrom im ausgeschalteten Zustand von Millionen von MOSFET-Transistoren zurückzuführen.
Die statische Stromaufnahme nimmt normalerweise mit zunehmender Versorgungsspannung zu.
Die statische Stromaufnahme steigt normalerweise mit steigender CPU-Temperatur.
Die statische Stromaufnahme ist für viele Geräte viel kleiner als die dynamische Stromaufnahme.
2) Dynamische Stromaufnahme. Bei einem Prozessor, der unter Verwendung von CMOS-Prozessen aufgebaut ist, tritt der dynamische Strom auf, wenn Transistoren zwischen Ein / Aus-Zuständen umschalten.
Der Grund ist wie folgt. Jedem MOSFET-Transistor in der CPU ist eine bestimmte Kapazität zugeordnet. Jedes Mal, wenn ein MOSFET schaltet; Zum Laden / Entladen dieser Kapazität wird eine Ladung Q = C * V benötigt.
Die dynamische Stromaufnahme für jeden Transistor ist I_dynamic = C * V * f.
Unabhängig davon, mit welcher Frequenz die Befehle ausgeführt werden, verbraucht ein bestimmter Satz von Operationen auf einer bestimmten CPU (unter der Annahme eines identischen Verhaltens aus dem Cache und dem Speicher) aufgrund der dynamischen Stromaufnahme unabhängig von der Frequenz eine bestimmte Menge an Gesamtladung (Q_program) dass die Anweisungen ausgeführt werden bei.
Wenn die Anweisungen jedoch langsamer ausgeführt werden, ist die Gesamtladung aufgrund der statischen Stromaufnahme höher, da mehr Zeit vergangen ist.
Mathematisch könnte man schreiben ...
W = (I_dynamic + I_static) * V_supply
E = W * Zeit = Q_Programm * V_Supply + I_Static * V_Supply * Zeit
Wir können sehen, dass wenn sich die Taktfrequenz 0 nähert, sich die Leistung einem festen Wert nähert, aber die zur Berechnung des Programms erforderliche Energie gegen unendlich geht.
Wenn also (basierend auf den Kapazitäten der CPU-Transistoren) Q_program für eine bestimmte Versorgungsspannung und einen bestimmten Satz von Operationen festgelegt ist, wie sparen moderne CPUs Strom, indem sie ihre Taktfrequenz senken? Die Antwort ist, dass die meisten modernen CPUs entweder einen einstellbaren Kernspannungsregler an Bord (oder in einem Companion-Chip) enthalten. Wenn sie ihre Taktfrequenz senken, können sie auch ihre Kernspannung senken. Q_program (und E_program) senken sich dann proportional zur Versorgungsspannung ab.
Beachten Sie, dass die CPU die niedrigere Spannung bei den höheren Frequenzen nicht verwenden kann, da bei niedrigeren Spannungen die Schaltzeit des Transistors zunimmt.
Die Leistung ist proportional zur Spannung (Quadrat) und zur Stromaufnahme. Wenn also die Spannung gleichzeitig mit der Frequenz abfällt, fällt die Leistung mit dem Würfel der Frequenz ab.