La puissance sera plus faible à la fréquence de fonctionnement inférieure.
À la même tension de noyau, l'énergie totale serait plus élevée à la fréquence d'horloge inférieure.
Mais si la tension du cœur est abaissée avec la fréquence, l'énergie totale peut être inférieure.
Pour les algorithmes qui passent la plupart de leur temps à attendre des opérations d'E / S, le temps d'exécution sera approximativement constant quelle que soit la fréquence d'horloge de base. Par conséquent, l'énergie totale requise pour le calcul augmentera proportionnellement à la fréquence d'horloge.
La consommation d'énergie d'un CPU se compose de deux parties.
1) Appel de courant statique (I_static). Pour une tension d'alimentation et une température particulières, cette consommation de courant est constante, indépendamment de ce que fait le CPU.
Un processeur fabriqué à l'aide de la technologie CMOS se compose de milliers ou de millions de transistors MOSFET. La consommation de courant statique est principalement due au courant de fuite combiné à l'état bloqué de millions de transistors MOSFET.
La consommation de courant statique augmente généralement à mesure que la tension d'alimentation augmente.
La consommation de courant statique augmente généralement à mesure que la température du processeur augmente.
La consommation de courant statique est pour de nombreux appareils beaucoup plus petite que la consommation de courant dynamique.
2) Appel de courant dynamique. Pour un processeur construit à l'aide de processus CMOS, le courant dynamique se produit lorsque les transistors commutent entre les états marche / arrêt.
Pour une tension d'alimentation spécifiée, la consommation de courant dynamique est généralement directement proportionnelle à la fréquence.
La consommation de courant dynamique augmente à mesure que la tension d'alimentation augmente.
La raison en est la suivante. Chaque transistor MOSFET dans le CPU a une certaine quantité de capacité qui lui est associée. Chaque fois qu'un MOSFET commute; une charge Q = C * V est nécessaire pour charger / décharger cette capacité.
La consommation de courant dynamique pour chaque transistor est I_dynamic = C * V * f.
Quelle que soit la fréquence à laquelle les instructions sont exécutées, un ensemble particulier d'opérations sur un processeur particulier (en supposant un comportement identique du cache et de la mémoire) consomme une certaine quantité de charge totale (Q_program) en raison de la consommation de courant dynamique, quelle que soit la fréquence que les instructions sont exécutées à.
Mais si les instructions sont exécutées plus lentement, la charge totale due à la consommation de courant statique sera plus élevée car plus de temps s'est écoulé.
Mathématiquement, on pourrait écrire ...
W = (I_dynamic + I_static) * V_supply
E = W * time = Q_program * V_supply + I_static * V_supply * time
Nous pouvons voir que lorsque la fréquence d'horloge approche de 0, la puissance s'approche d'une valeur fixe, mais l'énergie nécessaire pour calculer le programme approche de l'infini.
Donc, si (basé sur les capacités des transistors CPU) Q_program est fixé pour une tension d'alimentation et un ensemble d'opérations particuliers, comment les processeurs modernes économisent-ils de l'énergie en abaissant leur fréquence d'horloge? La réponse est que la plupart des processeurs modernes incluent soit à bord (ou dans une puce compagnon) un régulateur de tension de noyau réglable. Lorsqu'ils abaissent leur fréquence d'horloge, ils peuvent également abaisser leur tension de base. Q_program (et E_program) diminue ensuite proportionnellement à la tension d'alimentation.
Notez que le CPU ne peut pas utiliser la tension inférieure aux fréquences plus élevées car à des tensions inférieures, le temps de commutation du transistor augmente.
La puissance est proportionnelle à la tension (au carré) et à la consommation de courant. Donc, si la tension baisse simultanément avec la fréquence, la puissance diminue avec le cube de la fréquence.