-
Het wattage zal lager zijn bij de lagere werkfrequentie.
-
Bij dezelfde kernspanning zou de totale energie hoger zijn bij de lagere klokfrequentie.
-
Maar als de kernspanning met de frequentie wordt verlaagd, kan de totale energie minder zijn.
-
Voor algoritmen die het grootste deel van hun tijd besteden aan het wachten op I / O-bewerkingen, zal de uitvoeringstijd ongeveer constant zijn, ongeacht de kernklokfrequentie. Daarom zal de totale energie die nodig is voor de berekening evenredig met de klokfrequentie stijgen.
Het stroomverbruik van een CPU bestaat uit twee delen.
1) Statische stroomafname (I_static). Voor een bepaalde voedingsspanning en temperatuur is deze stroomopname constant, ongeacht wat de CPU doet.
Een CPU die is gemaakt met CMOS-technologie bestaat uit duizenden of miljoenen MOSFET-transistors. Statische stroomafname is voornamelijk te wijten aan de gecombineerde uit-toestand lekstroom van miljoenen MOSFET-transistors.
-
Statische stroomopname neemt gewoonlijk toe naarmate de voedingsspanning toeneemt.
-
Statische stroomopname neemt gewoonlijk toe naarmate de CPU-temperatuur stijgt.
-
De statische stroomafname is voor veel apparaten veel kleiner dan de dynamische stroomafname.
2) Dynamische stroomafname. Voor een processor die is geconstrueerd met behulp van CMOS-processen, treedt de dynamische stroom op wanneer transistors schakelen tussen aan / uit-toestanden.
De reden is als volgt. Elke MOSFET-transistor in de CPU heeft een bepaalde capaciteit die eraan is gekoppeld. Elke keer dat een MOSFET schakelt; een lading Q = C * V is nodig om die capaciteit op te laden / ontladen.
De dynamische stroomafname voor elke transistor is I_dynamic = C * V * f.
Ongeacht de frequentie waarmee de instructies worden uitgevoerd, verbruikt een bepaalde reeks bewerkingen op een bepaalde CPU (uitgaande van identiek gedrag van de cache en het geheugen) een bepaalde hoeveelheid totale lading (Q_program) als gevolg van dynamische stroomafname, ongeacht van de frequentie waarmee de instructies worden uitgevoerd.
Maar als de instructies langzamer worden uitgevoerd, zal de totale lading als gevolg van statische stroomafname hoger zijn omdat er meer tijd is verstreken.
Wiskundig zou men kunnen schrijven ...
W = (I_dynamic + I_static) * V_supply
E = W * time = Q_program * V_supply + I_static * V_supply * tijd
We kunnen zien dat naarmate de klokfrequentie 0 nadert, het wattage een vaste waarde nadert, maar de energie die nodig is om het programma te berekenen, bijna oneindig nadert.
Dus als (op basis van de capaciteiten van de CPU-transistors) Q_program is vastgelegd voor een bepaalde voedingsspanning en een reeks bewerkingen, hoe kunnen moderne CPU's dan stroom besparen door hun klokfrequentie te verlagen? Het antwoord is dat de meeste moderne CPU's ofwel aan boord (of in een bijbehorende chip) een instelbare kernspanningsregelaar hebben. Als ze hun klokfrequentie verlagen, kunnen ze ook hun kernspanning verlagen. Q_program (en E_program) zakt dan proportioneel met de voedingsspanning.
Merk op dat de CPU de lagere spanning bij de hogere frequenties niet kan gebruiken, omdat bij lagere spanningen de transistorschakeltijd toeneemt.
Wattage is evenredig met zowel de spanning (in het kwadraat) als het stroomverbruik. Dus als de spanning gelijktijdig met de frequentie daalt, daalt het wattage met de kubus van de frequentie.