À moins que nous aimions gaspiller de l’argent ou que nous soyons des gens très ignorants qui laissent généralement les lumières allumées, personne n’aime gaspiller de l’énergie et on peut en dire autant des autres éléments de base de la consommation quotidienne. Dans le cas des processeurs, en revanche, cela ne vient pas de la conscience économique et environnementale des concepteurs, mais plutôt un produit des lois de la physique et surtout du mode de transmission de l’électricité.
N’oublions pas qu’un processeur n’est aujourd’hui qu’un circuit électrique miniaturisé au maximum. En d’autres termes, nous parlons aujourd’hui de milliards de transistors, chacun d’eux devant être alimenté de manière autonome et simultanément avec les autres.
La partie la plus complexe lors de la conception d’un nouveau CPU ou GPU aujourd’hui n’est pas de parvenir à une architecture qui atteint une certaine puissance sur papier, mais que sa mise en œuvre physique et réelle soit capable d’atteindre les performances attendues dans une consommation spécifique. L’une des astuces pour y parvenir est la désactivation partielle du processeur, c’est-à-dire que certaines parties de celui-ci sont éteintes tandis que les autres sont maintenues allumées et que cette capacité peut être réalisée à la volée et donc avec le CPU ou GPU entièrement fonctionnel.
Consommation électrique d’un processeur
La formule de la consommation d’énergie de chacun des transistors d’un processeur est la suivante :
Puissance = Q * C * F * V2
Où:
- Q est le pourcentage de temps pendant lequel le transistor reste actif.
- C est la capacité électronique, et donc le niveau de charge qu’un semi-conducteur peut supporter.
- F est la fréquence ou la vitesse d’horloge
- V est la tension
Jusqu’en 2005, les règles de conception d’un processeur étaient les mêmes en termes de consommation d’énergie par zone. L’idée est que si la surface d’un processeur était réduite de moitié, le rapport d’échelle « S » se comportait de manière similaire, ce qui était calculé avec la formule suivante : S = √2
Avec cela, nous pouvons déjà comprendre le tableau suivant:
À l’ère de la mise à l’échelle Dennard, la tension consommée par chaque transistor diminuait avec chaque nœud de fabrication, mais le point était atteint où la tension arrêtait de diminuer. Le résultat a été que la consommation d’énergie a grimpé en flèche et pas seulement, et c’est là que vient le problème : la quantité d’énergie perdue convertie en chaleur a augmenté. Du coup il n’était plus possible d’augmenter la vitesse d’horloge des processeurs pour augmenter les performances, forçant la création de systèmes multicœurs. Quant au graphe, il est la conséquence de la fin de la mise à l’échelle de Dennard.
Qu’est-ce que la désactivation partielle ?
D’accord, nous savons déjà que les processeurs ont le problème que la consommation d’énergie après un certain point a explosé et est devenue impossible à faire évoluer. Les conséquences de cela ont été ce que l’on appelle le silicium noir, qui est basé sur le fait que certaines parties du processeur sont désactivées lors de l’exécution de certaines opérations pour maintenir un budget énergétique constant. En raison du phénomène dont nous avons parlé dans la section précédente, la zone attribuée au silicium noir a augmenté au fil du temps.
D’autre part, la désactivation partielle, bien que similaire dans son concept, est différente, car elle repose sur la désactivation de blocs entiers et fonctionnels à cent pour cent d’un processeur et non de parties spécifiques. Par exemple, lorsqu’un GPU ne décode pas la vidéo via son codec matériel, il le désactive, ou lorsqu’un processeur est inactif mais pas complètement éteint, il ne fait que désactiver tous les cœurs sauf un.
La désactivation partielle est donc l’équivalent du processeur d’éteindre les lumières dans une pièce si personne ne l’utilise ou de laisser les robinets d’eau fermés. Bien qu’il ne soit pas seulement confronté à la tension, mais aussi à la chaleur générée par les parties actives. Si un élément voisin d’un autre reçoit de l’énergie, il produit par conséquent de la chaleur et peut étouffer thermiquement les composants voisins. C’est pourquoi, face à l’overclocking ou à l’augmentation de l’horloge d’un processeur, des cœurs entiers sont souvent désactivés plusieurs fois.
Comment la désactivation partielle est-elle mise en œuvre ?
Nous entrons ici dans le concept des îlots dits de puissance ou de tension, dont la mise en œuvre est réalisée pendant la période de conception de tout processeur. Cette idée consiste à concevoir les circuits de différentes parties du processeur à différentes fréquences et tensions indépendantes les unes des autres.
L’idée d’avoir des tensions différentes dans chacune des parties d’un processeur a du sens car toutes n’ont pas besoin de la même puissance énergétique pour fonctionner et cela finit par entraîner une consommation plus élevée dans les zones où cela n’est pas nécessaire. Eh bien, la désactivation partielle est basée sur un concept très simple : faire en sorte que dans chacun de ces îlots de puissance, la tension puisse être modifiée jusqu’à ce qu’elle soit nulle. De la même manière, cela permet au CPU d’augmenter et de baisser sa tension pour faire de même avec la vitesse d’horloge si nécessaire.
Lorsque nous accédons au BIOS pour activer ou désactiver des parties du processeur, gardez à l’esprit qu’il s’agit d’une activation et d’une désactivation partielles de celui-ci, ce que nous pouvons aujourd’hui faire en vol et sans avoir à éteindre le processeur. Au niveau de la fabrication, de nombreux processeurs sont partiellement désactivés par rapport aux modèles avec la même architecture, dans ce cas, ce qui est fait est de désactiver les circuits qui alimentent cette partie, ce qui l’empêche de fonctionner.
C’est facile à voir dans les processeurs Ryzen avec leur logiciel Ryzen Master et maintenant avec Intel Alder Lake, cela se produit également.