Clock gating vs power gating : les principales différences

Ce sont deux techniques de conception basse consommation qui réduisent la puissance des circuits inutilisés, mais elles n’arrêtent pas la même chose. Le clock gating coupe l’horloge des registres pour supprimer les commutations de signaux et réduit ainsi la puissance dynamique. L’alimentation reste présente : l’état est conservé et le circuit peut reprendre en un à quelques cycles. Le power gating coupe l’alimentation d’un bloc par un interrupteur et supprime, outre la puissance dynamique, presque toute la puissance statique due aux courants de fuite. En contrepartie, l’état est perdu, ce qui exige un mécanisme de sauvegarde, et la reprise prend du temps.

CritèreClock gatingPower gating
Puissance économiséePuissance dynamique (commutations du réseau d’horloge, des bascules et de la logique en aval)Puissance statique (fuites) et puissance dynamique
Élément coupéL’horloge des registresL’alimentation du bloc
AlimentationReste présente. Les courants de fuite continuent de circulerUn interrupteur d’alimentation déconnecte la ligne d’alimentation du bloc
Conservation de l’étatConservéPerdu. L’état nécessaire est sauvegardé dans des bascules de rétention (registres de rétention) ou en mémoire
Temps de repriseUn à quelques cyclesLong. L’alimentation est rétablie en limitant le courant d’appel, puis l’état est restauré ; généralement de l’ordre de la µs
Circuits nécessairesICG (cellule de clock gating à latch et porte ET) et logique générant le signal d’activationInterrupteurs d’alimentation (header ou footer), cellules d’isolation, bascules de rétention et circuit de séquencement des alimentations
GranularitéFine. Utilisable dès quelques registresGrossière. Par bloc (domaine d’alimentation), comme un cœur de CPU ou un bloc IP
Conception et vérificationLes outils de synthèse logique peuvent l’insérer automatiquement à partir des conditions d’activation. La STA effectue les vérifications de clock gatingL’intention d’alimentation est décrite, notamment en UPF, et l’on vérifie jusqu’au comportement hors tension et aux séquences
SurcoûtFaible. Surface et retard de l’ICGSurface et chute de tension des interrupteurs d’alimentation, énergie de sauvegarde et de restauration. Aucun gain pour les pauses courtes
Usage principalDans presque tous les circuits numériques, pour arrêter les registres des fonctions inactivesArrêter les blocs inutilisés pendant longtemps : états de veille profonde des CPU, blocs inutilisés des SoC de smartphones

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

Clock gating
Dès qu’un circuit est inactif, de quelques cycles à de longues durées. La reprise est immédiate et l’état est conservé : on l’utilise dans presque tous les circuits numériques.
Power gating
Lorsqu’un bloc reste longtemps inutilisé ou que la part de la puissance de fuite est importante (procédés fins ou haute température). À utiliser lorsque la pause est assez longue pour amortir l’énergie de sauvegarde et de restauration.
Combinaison
L’approche courante est progressive : on coupe d’abord l’horloge puis, si la pause semble devoir durer, on sauvegarde l’état et on coupe aussi l’alimentation. On les combine également avec le DVFS.

Questions fréquentes

Pourquoi une simple porte ET ne suffit-elle pas pour couper l’horloge ?

Si le signal d’activation change pendant que l’horloge est à 1, une impulsion brève (glitch) apparaît sur l’horloge et les bascules peuvent changer d’état à tort. L’ICG mémorise le signal d’activation dans un latch transparent uniquement lorsque l’horloge est à 0, puis effectue le ET, ce qui évite tout glitch.

Pourquoi la reprise est-elle longue en power gating ?

Parce qu’il faut recharger la grande capacité du bloc mis hors tension. Si tous les interrupteurs se ferment d’un coup, un fort courant d’appel circule et fait chuter la tension d’alimentation des autres circuits en fonctionnement ; on ferme donc les interrupteurs progressivement, les uns après les autres. Il faut ensuite aussi une réinitialisation et la restauration de l’état.

Pourquoi les cellules d’isolation sont-elles nécessaires ?

Les sorties d’un bloc hors tension prennent une tension qui n’est ni 0 ni 1. Si un bloc actif la reçoit telle quelle, il peut mal fonctionner, ou un courant traversant peut circuler dans ses portes d’entrée. Les cellules d’isolation fixent les signaux à la frontière à une valeur déterminée (0 ou 1).

Faut-il aussi couper l’alimentation pour des pauses courtes ?

Pas forcément. Couper l’alimentation consomme de l’énergie pour sauvegarder et restaurer l’état et recharger les capacités ; si la pause n’est pas plus longue que le temps nécessaire pour la récupérer grâce à la réduction des fuites (temps d’équilibre), on y perd. Pour les pauses courtes, on utilise le clock gating.

Vérifier vos connaissances

Quelle technique de conception basse consommation arrête l'horloge des blocs inutilisés pour réduire la consommation superflue ?

  1. AOverclocking
  2. BClock gating
  3. CConception par chaînes de scan
Afficher la réponse et l'explication

Réponse : B. Clock gating

Le clock gating arrête l'horloge des blocs dont le fonctionnement n'est pas nécessaire, supprimant les commutations inutiles des bascules et du réseau d'horloge pour réduire la consommation dynamique. L'outil de synthèse logique peut l'insérer automatiquement en détectant les registres dont la valeur ne change pas. Le courant de fuite n'étant pas réduit, on le combine avec le power gating, qui coupe l'alimentation elle-même. L'overclocking augmente la fréquence, et la conception par scan est une technique de test.

Quelle description du power gating est correcte ?

  1. AIl arrête uniquement la distribution d'horloge vers un bloc du circuit
  2. BIl coupe par un interrupteur l'alimentation des blocs inutilisés, supprimant presque aussi la puissance de fuite
  3. CIl double la tension d'alimentation pour accélérer le traitement
Afficher la réponse et l'explication

Réponse : B. Il coupe par un interrupteur l'alimentation des blocs inutilisés, supprimant presque aussi la puissance de fuite

Le clock gating arrête les commutations et réduit donc la puissance dynamique, mais le courant de fuite continue de circuler tant que l'alimentation est connectée. Le power gating bloque un gros transistor interrupteur placé entre le bloc et l'alimentation, coupant l'alimentation elle-même : la puissance de fuite disparaît presque aussi. Les SoC de smartphones coupent fréquemment l'alimentation des cœurs CPU, du GPU et des divers accélérateurs inutilisés.

Quelle association entre la précaution à prendre pour un bloc dont l'alimentation est coupée par power gating et la parade correspondante est correcte ?

  1. ALe contenu est toujours conservé après la coupure, aucune action n'est nécessaire
  2. BLe contenu des bascules étant perdu, on sauvegarde l'état nécessaire dans des registres de rétention ou en mémoire externe avant la coupure
  3. CLa coupure double la tension des autres blocs
Afficher la réponse et l'explication

Réponse : B. Le contenu des bascules étant perdu, on sauvegarde l'état nécessaire dans des registres de rétention ou en mémoire externe avant la coupure

Les bascules et la SRAM d'un bloc hors tension perdent leur contenu : pour reprendre là où il s'était arrêté au réveil, il faut sauvegarder l'état avant la coupure. On peut utiliser des registres de rétention, qui intègrent une petite mémoire alimentée en permanence, ou faire écrire l'état en mémoire par le logiciel. La sauvegarde, la restauration et la remise sous tension coûtant du temps et de l'énergie, il vaut parfois mieux ne pas couper pour de courtes pauses.

  1. Quelle comparaison du clock gating et du power gating est correcte ?
  2. Quel est le rôle correct d'une cellule d'isolation placée à la frontière entre un bloc mis hors tension par power gating et un bloc en fonctionnement ?
  3. Dans un circuit qui arrête l'horloge au moyen d'une porte AND à 2 entrées recevant l'horloge et un signal de validation (enable), quel est le contenu correct de la vérification de clock gating effectuée par la STA ?

Questions d'entraînement sur Gestion de l'énergie

Termes clés expliqués

Clock gating
Technique de conception basse consommation qui coupe l'horloge des blocs inutilisés pour réduire la consommation due aux commutations inutiles.
Coupure d'alimentation (power gating)
Technique basse consommation qui coupe par un interrupteur l'alimentation des blocs inutilisés, supprimant presque aussi la puissance de fuite. Les temps de sauvegarde et de restauration de l'état sont à prendre en compte.
Registre de rétention
Bascule capable de conserver son état grâce à un petit élément de mémorisation alimenté en permanence pendant la coupure d'alimentation (power gating). Au réveil, le fonctionnement reprend là où il s'était arrêté.
Cellule d'isolation
Cellule placée à la frontière d'un bloc mis hors tension pour transmettre une valeur définie au côté actif, même si les sorties du bloc deviennent indéterminées.
Domaine d'alimentation
Partie d'une puce dont les circuits partagent la même tension d'alimentation et la même commande de mise sous/hors tension. Il permet de gérer tension et alimentation bloc par bloc.

Comparatifs associés