À 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?