La potenza sarà inferiore alla frequenza operativa inferiore.
Alla stessa tensione centrale l'energia totale sarebbe più alta alla frequenza di clock più bassa.
Ma se la tensione del core viene regolata verso il basso con la frequenza, l'energia totale potrebbe essere inferiore.
Per gli algoritmi che trascorrono la maggior parte del loro tempo in attesa di operazioni di I / O, il tempo di esecuzione sarà approssimativamente costante indipendentemente dalla frequenza di clock principale. Pertanto l'energia totale richiesta per il calcolo aumenterà in proporzione alla frequenza di clock.
Il consumo energetico di una CPU è costituito da due parti.
1) Assorbimento di corrente statica (I_static). Per alcune particolari tensioni e temperature di alimentazione questa corrente assorbita è costante indipendentemente da ciò che la CPU sta facendo.
Una CPU realizzata utilizzando la tecnologia CMOS è costituita da migliaia o milioni di transistor MOSFET. L'assorbimento di corrente statica è principalmente dovuto alla corrente di dispersione combinata off-state di milioni di transistor MOSFET.
L'assorbimento di corrente statica di solito aumenta all'aumentare della tensione di alimentazione.
L'assorbimento di corrente statica di solito aumenta all'aumentare della temperatura della CPU.
L'assorbimento di corrente statica è per molti dispositivi molto più piccolo dell'assorbimento di corrente dinamico.
2) Assorbimento di corrente dinamico. Per un processore costruito utilizzando i processi CMOS la corrente dinamica si verifica quando i transistor commutano tra gli stati on / off.
Per una tensione di alimentazione specificata l'assorbimento di corrente dinamico è solitamente direttamente proporzionale alla frequenza.
L'assorbimento di corrente dinamico aumenta all'aumentare della tensione di alimentazione.
Il motivo è il seguente. Ogni transistor MOSFET nella CPU ha una certa quantità di capacità associata ad esso. Ogni volta che un MOSFET cambia; una carica Q = C * V è necessaria per caricare / scaricare quella capacità.
L'assorbimento di corrente dinamico per ciascun transistor è I_dynamic = C * V * f.
Indipendentemente dalla frequenza con cui vengono eseguite le istruzioni, una particolare serie di operazioni su una particolare CPU (assumendo un comportamento identico dalla cache e dalla memoria) consuma una certa quantità di carica totale (programma Q_) a causa dell'assorbimento di corrente dinamica, indipendentemente dalla frequenza in cui vengono eseguite le istruzioni.
Ma se le istruzioni vengono eseguite più lentamente, la carica totale dovuta all'assorbimento di corrente statica sarà maggiore perché è trascorso più tempo.
Matematicamente si potrebbe scrivere ...
W = (I_dynamic + I_static) * V_supply
E = W * time = Q_program * V_supply + I_static * V_supply * time
Possiamo vedere che quando la frequenza di clock si avvicina a 0 la potenza si avvicinerà a un valore fisso, ma l'energia necessaria per calcolare il programma si avvicina all'infinito.
Quindi se (in base alle capacità dei transistor della CPU) il programma Q_ è fissato per una particolare tensione di alimentazione e serie di operazioni, in che modo le moderne CPU risparmiano energia abbassando la frequenza di clock? La risposta è che la maggior parte delle CPU moderne include a bordo (o in un chip associato) un regolatore di tensione del core regolabile. Quando abbassano la frequenza di clock, possono anche abbassare la tensione del core. Q_program (ed E_program) quindi si abbassa proporzionalmente alla tensione di alimentazione.
Si noti che la CPU non può utilizzare la tensione più bassa alle frequenze più alte perché alle tensioni più basse aumenta il tempo di commutazione del transistor.
La potenza è proporzionale alla tensione (al quadrato) e all'assorbimento di corrente. Quindi, se la tensione viene ridotta contemporaneamente alla frequenza, la potenza diminuisce con il cubo della frequenza.