À l'époque où j'ai commencé à coder, du moins pour autant que je sache, les processeurs utilisaient tous une quantité fixe de puissance. Il n'y avait pas de processeur «inactif».
De nos jours, il existe toutes sortes de technologies pour réduire la consommation d'énergie lorsque le processeur n'est pas très occupé, principalement en réduisant dynamiquement la fréquence d'horloge.
Ma question est pourquoi le fonctionnement à une fréquence d'horloge inférieure consomme moins d'énergie?
Mon image mentale d'un processeur est celle d'une tension de référence (disons 5V) représentant un 1 binaire et 0V représentant 0. Par conséquent, j'ai tendance à penser à un 5V constant appliqué sur toute la puce, les différentes portes logiques déconnectant cette tension lorsqu'il est "éteint", ce qui signifie qu'une quantité constante d'énergie est utilisée. La vitesse à laquelle ces portes sont ouvertes et fermées ne semble pas avoir de rapport avec la puissance utilisée.
Je n'ai aucun doute que c'est une image désespérément naïve, mais je ne suis pas ingénieur électricien. Quelqu'un peut-il expliquer ce qui se passe réellement avec la mise à l'échelle des fréquences et comment cela économise de l'énergie? Existe-t-il d'autres façons dont un processeur utilise plus ou moins d'énergie selon l'état? Par exemple, utilise-t-il plus de puissance si plus de portes sont ouvertes?
En quoi les processeurs mobiles / basse consommation sont-ils différents de leurs cousins de bureau? Sont-ils simplement plus simples (moins de transistors?), Ou y a-t-il une autre différence de conception fondamentale?
Réponses:
C'est là que vous vous trompez. Fondamentalement, chaque porte est un condensateur avec une capacité incroyablement minuscule. En l'allumant et en l'éteignant en «connectant» et en «déconnectant» la tension déplace une charge électrique incroyablement minuscule dans ou hors de la grille - c'est ce qui la fait agir différemment.
Et une charge électrique en mouvement est un courant qui utilise de l'énergie. Tous ces minuscules courants provenant de milliards de portes commutées des milliards de fois par seconde s'additionnent un peu.
la source
Comme le souligne le commentaire de SK-logic, la majeure partie de l'énergie est vraiment dépensée pour commuter la bascule plutôt que pour un état stable.
Pour réduire dynamiquement il y a deux choses principales que vous pouvez faire IIRC.
si des zones entières d'une puce ne sont pas synchronisées, vous pouvez potentiellement couper complètement l'alimentation de ces zones
L'arbre d'horloge lui-même est l'un des plus grands drains électriques du système, en grande partie car il s'agit de la partie de commutation la plus rapide d'un système. Il est donc important de réduire la puissance dans l'arbre d'horloge lui-même.
la source
La puissance consommée par un circuit électronique a deux composantes:
Afin de réduire la consommation, les concepteurs de processeurs utilisent plusieurs techniques:
Ces techniques ont pour résultat qu'en fonction de votre charge, vous pouvez être mieux loti, du point de vue de la consommation d'énergie, soit en réduisant la fréquence, soit en faisant un "sprint" à pleine vitesse, puis en coupant un sous-ensemble des circuits.
la source
L'exécution à une fréquence d'horloge inférieure n'affecte pas l'énergie requise pour effectuer une tâche fixe. Il peut même augmenter l'énergie requise si vous tenez compte des fuites et que vous êtes capable de vous éteindre complètement.
Là où une fréquence d'horloge inférieure permet d'économiser de l'énergie, il est également possible de réduire la tension de fonctionnement. La réduction de la tension permet souvent d'économiser suffisamment d'énergie pour compenser le besoin de rester actif plus longtemps.
la source