Früher, als ich anfing zu programmieren, verwendeten alle Prozessoren, soweit mir bekannt ist, eine festgelegte Menge an Strom. Es gab keinen Prozessor, der "untätig" war.
Heutzutage gibt es alle Arten von Technologien zur Reduzierung des Stromverbrauchs, wenn der Prozessor nicht sehr ausgelastet ist, hauptsächlich durch dynamische Reduzierung der Taktrate.
Meine Frage ist, warum Laufen mit einer niedrigeren Taktrate weniger Strom verbraucht.
Mein mentales Bild eines Prozessors ist eine Referenzspannung (z. B. 5 V), die eine binäre 1 darstellt, und 0 V, die 0 darstellt. Daher neige ich dazu, an eine konstante 5 V zu denken, die über den gesamten Chip angelegt wird, wobei die verschiedenen Logikgatter diese Spannung trennen Wenn "Aus", bedeutet dies, dass eine konstante Energiemenge verwendet wird. Die Geschwindigkeit, mit der diese Tore ein- und ausgeschaltet werden, scheint in keinem Verhältnis zur verwendeten Leistung zu stehen.
Ich habe keinen Zweifel, dass dies ein hoffnungslos naives Bild ist, aber ich bin kein Elektrotechniker. Kann jemand erklären, was mit der Frequenzskalierung wirklich los ist und wie sie Strom spart. Gibt es andere Möglichkeiten, wie ein Prozessor je nach Status mehr oder weniger Strom verbraucht? ZB Verbraucht es mehr Strom, wenn mehr Tore geöffnet sind?
Inwiefern unterscheiden sich mobile Prozessoren und Prozessoren mit geringem Stromverbrauch von ihren Desktop-Verwandten? Sind sie nur einfacher (weniger Transistoren?) Oder gibt es einen anderen grundsätzlichen Konstruktionsunterschied?
Antworten:
Hier liegen Sie falsch. Grundsätzlich ist jedes Gate ein Kondensator mit einer unglaublich kleinen Kapazität. Durch das Ein- und Ausschalten durch "Anschließen" und "Abschalten" der Spannung wird eine unglaublich kleine elektrische Ladung in das oder aus dem Gate befördert - deshalb verhält es sich anders.
Und eine sich bewegende elektrische Ladung ist ein Strom, der Strom verbraucht. All diese winzigen Ströme von Milliarden von Toren, die milliardenfach pro Sekunde geschaltet werden, summieren sich ziemlich viel.
quelle
Wie der Kommentar von SK-logic zeigt, wird der größte Teil der Energie für das Umschalten von Flip-Flops und nicht für den Dauerzustand aufgewendet.
Zum dynamischen Reduzieren gibt es zwei Hauptfunktionen, die Sie für IIRC ausführen können.
Wenn ganze Bereiche eines Chips nicht getaktet werden, können Sie möglicherweise die Stromversorgung für diese Bereiche vollständig ausschalten
Der Clock Tree selbst ist einer der größten Stromabflüsse im System, da er der am schnellsten schaltende Teil eines Systems ist. Daher ist es wichtig, die Leistung im Uhrenbaum selbst zu reduzieren.
quelle
Der Stromverbrauch einer elektronischen Schaltung besteht aus zwei Komponenten:
Um den Verbrauch zu senken, wenden Prozessorkonstrukteure verschiedene Techniken an:
Diese Techniken haben zur Folge, dass Sie abhängig von Ihrer Last besser von der Leistungsaufnahme POV abhängen können, indem Sie entweder die Frequenz reduzieren oder einen "Sprint" mit voller Geschwindigkeit ausführen und dann eine Teilmenge der Schaltkreise ausschneiden.
quelle
Das Laufen mit einer niedrigeren Taktrate wirkt sich nicht auf die Energie aus, die zum Ausführen einer festen Aufgabe erforderlich ist. Es kann sogar zu einer Erhöhung des Energiebedarfs führen, wenn Sie die Leckage berücksichtigen und vollständig abschalten können.
Wo eine niedrigere Taktrate Energie spart, kann auch die Betriebsspannung gesenkt werden. Das Verringern der Spannung spart oft genug Energie, um zu kompensieren, dass sie länger aktiv bleiben muss.
quelle