Fonctionnement d'un ordinateur/La consommation d'énergie d'un ordinateur

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche
Loi de Kommey.

Dans ce chapitre, nous allons évoquer la consommation énergétique. Nos ordinateurs consomment une certaine quantité de courant pour fonctionner, et donc une certaine quantité d'énergie. Il se trouve que cette énergie finit par être dissipée sous forme de chaleur : plus un composant consomme d'énergie, plus il chauffe. La chaleur dissipée est mesurée par ce qu'on appelle l'enveloppe thermique, ou TDP (Thermal Design Power), mesurée en Watts. Généralement, le TDP d'un processeur tourne autour des 50 Watts, parfois plus sur les modèles plus anciens.

De telles valeurs signifient que les processeurs actuels chauffent beaucoup. Pourtant, ce n'est pas la faute des fabricants de processeurs qui essaient de diminuer la consommation d'énergie de nos CPU au maximum. Malgré cela, nos processeurs voient leur consommation énergétique augmenter toujours plus : l'époque où l'on refroidissait les processeurs avec un simple radiateur est révolue. Place aux gros ventilateurs super puissants, placés sur un radiateur. Et pourtant, l'efficacité énergétique des processeurs n'a pas cessé d'augmenter au cours du temps : pour le même travail, les processeurs chauffent moins. Avant les années 2000, 2010, la quantité de calcul que peut effectuer le processeur en dépensant un watt double tous les 1,57 ans. Cette observation porte le nom de loi de Kommey. Mais de nos jours, cette loi n'est plus tellement respectée, pour diverses raisons.

Pour comprendre pourquoi, on doit faire quelques précisions. Une partie de la consommation d'énergie d'un processeur vient du fait que nos transistors consomment de l'énergie en changeant d'état : on appelle cette perte la consommation dynamique. Une autre partie vient du fait que les transistors ne sont pas des dispositifs parfaits et qu'ils laissent passer un peu de courant entre la grille et le drain (y compris dans l'état fermé). Cette consommation est appelée la consommation statique. Et l'évolution de la finesse de gravure a des effets différents sur chaque type de consommation : si elle diminue la consommation dynamique, elle augmente la consommation statique. D'où la fin de la loi de Kommey, qui ne valait que tant que la consommation dynamique était la plus importante des deux. Mais voyons cela dans le détail.

Consommation dynamique[modifier | modifier le wikicode]

Commençons par évaluer la consommation dynamique en fonction de la finesse de gravure. Pour l'évaluer, il faut se rappeler d'une chose : un transistor est composé de deux morceaux de conducteurs (l'armature de la grille et la liaison drain-source) séparés par un isolant. Dit autrement, c'est une sorte de condensateur, à savoir un composant capable d'accumuler des charges électriques (ici, des électrons). La quantité d'énergie que peut stocker un tel condensateur est égale au produit ci-dessous, avec C un coefficient de proportionnalité appelé la capacité du condensateur et U la tension d'alimentation. Cette équation nous dit que la consommation d'énergie d'un transistor dépend du carré de la tension d'alimentation et de sa capacité. Ainsi, plus la tension d'alimentation est élevée, plus le composant consomme d'énergie.

Cette énergie est dissipée quand le transistor change d'état, il dissipe une quantité de chaleur proportionnelle au carré de la tension d'alimentation. Or, la fréquence définit le nombre maximal de changements d'état qu'un transistor peut subir en une seconde : pour une fréquence de 50 hertz, un transistor peut changer d'état 50 fois par seconde maximum. Pour un seul transistor, l'énergie dissipée en une seconde est donc calculable de la sorte :

Et si on prend en compte le fait qu'un processeur contient un nombre n de transistors, on obtient alors que la consommation énergétique d'un processeur est égale à :

Dynamic Voltage et Frequency Scaling[modifier | modifier le wikicode]

L'équation précédente dit que diminuer la tension ou la fréquence permettent de diminuer la consommation énergétique, la diminution de tension ayant un effet plus marqué. Les fabricants de CPU ont donc eu l'idée de faire varier la tension et la fréquence en fonction de ce que l'on demande au processeur. Rien ne sert d'avoir un processeur qui tourne à 200 gigahertz pendant que l'on regarde ses mails. Par contre, avoir un processeur à cette fréquence peut être utile lorsque l'on joue à un jeu vidéo dernier cri. Dans ce cas, pourquoi ne pas adapter la fréquence suivant l'utilisation qui est faite du processeur ? C'est l'idée qui est derrière le Dynamic Frequency Scaling, aussi appelé DFS. De plus, diminuer la fréquence permet de diminuer la tension d'alimentation, pour diverses raisons techniques. La technologie consistant à diminuer la tension d'alimentation suivant les besoins s'appelle le Dynamic Voltage Scaling, de son petit nom : DVS. Ces techniques sont gérées par un circuit intégré dans le processeur, qui estime en permanence l'utilisation du processeur et la fréquence/tension adaptée.

Clock Gating[modifier | modifier le wikicode]

Clock Gate

Une autre solution consiste à jouer sur la manière dont l'horloge est distribuée dans le processeur. On estime que 20 à 35 % des pertes ont lieu dans l'arbre d'horloge (l'ensemble de fils qui distribuent l'horloge aux bascules). Une grande partie des pertes vient des composants reliés à l'horloge qui doivent changer d'état tant que l'horloge est présente, même quand ils sont inutilisés. La solution est ne pas envoyer le signal d'horloge en entrée des différents circuits inutilisés : on appelle cela le clock gating. Pour implémenter cette technique, on est obligé de découper notre processeur en sous-circuits, tous reliés à l'horloge. L'ensemble de ces circuits formera un tout du point de vue de l'horloge : on pourra tous les déconnecter de l'horloge d'un coup. Pour implémenter le Clock Gating, on dispose entre l'arbre d'horloge et le circuit un circuit qui inhibera l'horloge au besoin. Ce circuit d'inhibition de l'horloge, qui s'appelle une Clock Gate, est relié à la fameuse unité de gestion de l'énergie intégrée dans le processeur qui se charge de le commander. Comme on le voit sur le schéma du dessus, ces Clock Gates sont commandées par un bit, qui ouvre ou ferme la Clock Gate. Ce signal est généré par une unité spéciale dans notre processeur.

L'influence de la loi de Moore[modifier | modifier le wikicode]

La loi de Moore a des conséquences assez intéressantes. En effet, l'évolution de la finesse de gravure permet d'augmenter le nombre de transistors et la fréquence, mais aussi de diminuer la tension d'alimentation et la capacité des transistors. Pour comprendre pourquoi, il faut savoir que le condensateur formé par la grille, l'isolant et le morceau de semi-conducteur est ce que l'on appelle un condensateur plan. La capacité de ce type de condensateur dépend de la surface de la plaque de métal (la grille), du matériau utilisé comme isolant (en fait, de sa permittivité), et de la distance entre la grille et le semi-conducteur. On peut calculer cette capacité comme suit, avec S la surface de la grille, e un paramètre qui dépend de l'isolant utilisé et d la distance entre le semi-conducteur et la grille (l'épaisseur de l'isolant, quoi).

Généralement, le coefficient e (la permittivité électrique) reste le même d'une génération de processeur à l'autre. Les fabricants ont bien tenté de diminuer celui-ci, et trouver des matériaux ayant un coefficient faible n'a pas été une mince affaire. Le dioxyde de silicium pur a longtemps été utilisé, celui-ci ayant une permittivité de 4,2, mais il ne suffit plus de nos jours. De nombreux matériaux sont maintenant utilisés, notamment des terres rares. Leur raréfaction laisse planer quelques jours sombres pour l'industrie des processeurs et de la micro-électronique en général. Dans les faits, seuls les coefficients S et d vont nous intéresser.

Les équations de Dennard[modifier | modifier le wikicode]

Si la finesse de gravure diminue de , la distance d va diminuer du même ordre. Quant à la surface S, elle va diminuer du carré de , c'est à dire qu'elle sera divisée par 2. La capacité totale sera donc divisée par tous les deux ans. La fréquence suit le même motif. Cela vient du fait que la période de l'horloge correspond grosso-modo au temps qu'il faut pour remplir ou vider l'armature de la grille. Dans ces conditions, diminuer la capacité diminue le temps de remplissage/vidange, ce qui diminue la période et fait augmenter la fréquence. Les conséquences d'une diminution par de la finesse de gravure sont résumées dans le tableau ci-dessous. L'ensemble porte le nom de lois de Dennard, du nom de l'ingénieur qui a réussit à démontrer ces équations à partir des lois de la physique des semi-conducteurs.

Paramètre Coefficient multiplicateur (tous les deux ans)
Finesse de gravure
Nombre de transistors par unité de surface
Tension d'alimentation
Capacité d'un transistor
Fréquence

Plus la finesse de gravure est faible, plus le composant électronique peut fonctionner avec une tension d'alimentation plus faible. La tension d'alimentation est proportionnelle à la finesse de gravure : diviser par deux la finesse de gravure divisera la tension d'alimentation par deux. La finesse de gravure étant divisée par la racine carrée de deux tous les deux ans, la tension d'alimentation fait donc de même. Cela a pour conséquence de diviser la consommation énergétique par deux, toute chose égale par ailleurs. Mais dans la réalité, les choses ne sont pas égales par ailleurs : la hausse du nombre de transistors va compenser exactement l'effet de la baisse de tension. A tension d'alimentation égale, le doublement du nombre de transistors tous les deux ans va faire doubler la consommation énergétique, ce qui compensera exactement la baisse de tension.

La finesse de gravure permet aussi de faire diminuer la capacité d'un transistor. Comme pour la tension d'alimentation, une division par deux de la finesse de gravure divise par deux la capacité d'un transistor. Dit autrement, la capacité d'un transistor est divisée par la racine carrée de deux tous les deux ans. On peut remarquer que cela compense exactement l'effet de la fréquence sur la consommation énergétique. La fréquence étant multipliée par la racine carrée de deux tous les deux ans, la consommation énergétique ferait de même toute chose égale par ailleurs.

Si on fait le bilan, la consommation énergétique des processeurs ne change pas avec le temps, du moins si ceux-ci gardent la même surface. Cette conservation de la consommation énergétique se fait cependant avec une augmentation de performance. Ainsi, la performance par watt d'un processeur augmente avec le temps. L'augmentation de performance étant de 80 % par an pour un processeur, on déduit rapidement que la performance par watt augmente de 80 % tous les deux ans. Du moins, c'est la théorie. Théorie qui fonctionnait bien il y a encore quelques années, mais qui ne se traduit plus dans les faits depuis la commercialisation des premiers processeurs Intel Core. Depuis, on observe que le nombre de transistors et la finesse de gravure suivent la tendance indiquée par la loi de Moore, mais cela ne permet plus de faire baisser la tension ou la fréquence. L'ère des équations de Dennard est aujourd'hui révolue, reste à vous expliquer pourquoi.

La fin des équations de Dennard[modifier | modifier le wikicode]

Les calculs précédents ne prenaient pas en compte la consommation statique, qui existe même quand nos transistors restent dans le même état. Il nous reste à comprendre d'où vient cette consommation statique pour comprendre comment la finesse de gravure influe dessus. Pour commencer, la grille et la liaison source-drain d'un transistor sont séparés par un isolant : aucun courant ne devrait la traverser. Mais avec la miniaturisation, la couche d'isolant ne fait guère plus de quelques dizaines atomes d'épaisseur et laisse passer un peu de courant : on parle de courants de fuite. Plus cette couche d'isolant est petite, plus le courant de fuite sera fort. En clair, une diminution de la finesse de gravure a tendance à augmenter les courants de fuite. Les lois de la physique nous disent alors que la consommation d'énergie qui résulte de ce courant de fuite est égale au produit entre la tension d'alimentation et le courant de fuite.

Réduction de la consommation statique[modifier | modifier le wikicode]

Sleep Gate

Pour limiter la casse, on peut éteindre les circuits inutilisés d'un processeur, qui ne consommeront donc plus de courant : on parle de power gating. Elle s'implémente en utilisant des Power Gates, qui déconnecter les circuits de la tension d'alimentation quand ceux-ci sont inutilisés. Cette technique est très efficace, surtout pour couper l'alimentation du cache du processeur.

Une autre solution prend en compte le fait que certaines portions du processeur sont naturellement plus rapides que d'autres. Dans un processeur complet, on doit se limiter au plus petit dénominateur commun et s'aligner sur le circuit le plus lent. Vu que ces circuits fonctionnent à une fréquence inférieure à ce qu'ils peuvent, on peut baisser leur tension juste ce qu'il faut pour les faire aller à la bonne vitesse. Pour ce faire, on doit utiliser plusieurs tensions d'alimentation pour un seul processeur. Ainsi, certaines portions du processeur seront alimentées par une tension plus faible, tandis que d'autres seront alimentées par des tensions plus élevées.

Limites à la réduction de la consommation d'énergie[modifier | modifier le wikicode]

Cependant, les courants de fuite traversent l'isolant du transistor, qui a une certaine résistance électrique. Or, quand on fait passer un courant dans une résistance, il se forme une tension à ses bornes, appelée tension de seuil. Cette tension de seuil est proportionnelle au courant et à la résistance (c'est la fameuse loi d'Ohm vue au collège). or, on ne peut pas faire fonctionner un transistor si la tension d'alimentation (entre source et drain) est inférieure à la tension de seuil. C'est pour cela que ces dernières années, la tension d'alimentation des processeurs est restée plus ou moins stable, à une valeur proche de la tension de seuil (1 volt, environ). Il faut alors trouver autre chose pour limiter la consommation à des niveaux soutenables. Les concepteurs de processeurs ne pouvaient pas diminuer la fréquence pour garder une consommation soutenable, et ont donc préféré augmenter le nombre de cœurs. L'augmentation de consommation énergétique ne découle que de l'augmentation du nombre de transistors et des diminutions de capacité. Et la diminution de 30 % tous les deux ans de la capacité ne compense plus le doublement du nombre de transistors : la consommation énergétique augmente ainsi de 40 % tous les deux ans. Bilan : la performance par watt stagne. Et ce n'est pas près de s'arranger tant que les tensions de seuil restent ce qu'elles sont.