Clock-Gating vs. Power-Gating: die Unterschiede

Beide sind Low-Power-Entwurfstechniken, die den Leistungsbedarf ungenutzter Schaltungen senken, schalten aber Unterschiedliches ab. Clock-Gating hält den Takt zu Registern an, unterbindet so Signalwechsel und senkt die dynamische Leistung. Die Versorgung bleibt eingeschaltet, daher bleibt der Zustand erhalten, und der Betrieb kann nach 1 bis wenigen Zyklen sofort fortgesetzt werden. Power-Gating trennt die Versorgung eines Blocks über Schalter ab und beseitigt neben der dynamischen Leistung auch die statische Leistung durch Leckströme nahezu vollständig. Dafür geht der Zustand verloren, sodass ein Sicherungsmechanismus nötig ist, und das Aufwachen dauert länger.

MerkmalClock-GatingPower-Gating
Eingesparte LeistungDynamische Leistung (Umschalten von Taktnetz, Flipflops und nachfolgender Logik)Sowohl statische (Leckstrom) als auch dynamische Leistung
Was abgeschaltet wirdTakt zu den RegisternVersorgung des Blocks
VersorgungBleibt eingeschaltet. Leckstrom fließt weiterLeistungsschalter trennen die Versorgungsleitungen des Blocks ab
ZustandserhaltBleibt erhaltenGeht verloren. Benötigte Zustände werden in Retention-Flipflops (Retention-Registern) oder Speichern gesichert
Aufwachzeit1 bis wenige ZyklenLang. Die Versorgung wird unter Begrenzung des Einschaltstroms zugeschaltet und der Zustand wiederhergestellt, meist im µs-Bereich
Benötigte SchaltungenICG (Clock-Gate-Zelle aus Latch und AND) und Logik zur Erzeugung des Enable-SignalsLeistungsschalter (Header oder Footer), Isolationszellen, Retention-Flipflops, Schaltung zur Steuerung der Einschaltreihenfolge
GranularitätFein. Schon ab wenigen Registern einsetzbarGrob. Auf Ebene von Blöcken (Power-Domains) wie CPU-Kernen oder IPs
Entwurf/VerifikationLogiksynthese-Werkzeuge können es aus Enable-Bedingungen automatisch einfügen. Clock-Gating-Prüfungen erfolgen in der STADie Power-Intention wird z. B. in UPF beschrieben; verifiziert werden auch das Verhalten bei abgeschalteter Versorgung und die Reihenfolge
OverheadGering. Fläche und Verzögerung der ICGFläche und Spannungsabfall der Leistungsschalter, Energie für Sichern und Wiederherstellen. Bei kurzen Pausen lohnt es sich nicht
Typischer EinsatzIn nahezu allen Digitalschaltungen, um Register gerade nicht aktiver Funktionen anzuhaltenAbschalten lange ungenutzter Blöcke: tiefe Idle-Zustände von CPUs, ungenutzte Blöcke in Smartphone-SoCs

Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welche Variante?

Clock-Gating
Immer dann, wenn eine Schaltung zeitweise untätig ist – von wenigen Zyklen bis zu langen Zeiträumen. Da sofortige Rückkehr möglich ist und der Zustand erhalten bleibt, wird es in nahezu allen Digitalschaltungen eingesetzt.
Power-Gating
Wenn ein Block lange nicht benutzt wird oder der Anteil der Leckleistung hoch ist (feine Prozesse oder hohe Temperatur). Es wird eingesetzt, wenn die Pause lang genug ist, um die Energie für Sichern und Wiederherstellen wieder hereinzuholen.
Kombination
Üblich ist ein gestuftes Vorgehen: zuerst den Takt anhalten und, wenn die Pause voraussichtlich länger dauert, den Zustand sichern und auch die Versorgung abschalten. Zusätzlich wird es mit DVFS kombiniert.

Häufige Fragen

Warum reicht ein einfaches AND-Gatter zum Anhalten des Takts nicht?

Ändert sich das Enable-Signal, während der Takt 1 ist, entsteht im Takt ein kurzer Puls (Glitch), und Flipflops schalten fälschlich. Eine ICG hält das Enable in einem Latch, das nur bei Takt 0 durchlässig ist, und verknüpft erst dann per AND, sodass kein Glitch entsteht.

Warum dauert das Aufwachen beim Power-Gating so lange?

Weil die große Kapazität des abgeschalteten Blocks erneut geladen werden muss. Schaltet man alle Schalter auf einmal ein, fließt ein großer Einschaltstrom, und die Versorgungsspannung anderer aktiver Schaltungen bricht ein. Deshalb werden die Schalter schrittweise nacheinander eingeschaltet. Danach sind noch Reset und Wiederherstellung des Zustands nötig.

Wozu braucht man Isolationszellen?

Die Ausgänge eines abgeschalteten Blocks nehmen eine Spannung an, die weder eindeutig 0 noch 1 ist. Übernimmt ein aktiver Block diese direkt, kann es zu Fehlfunktionen oder Querströmen in den Eingangsgattern kommen. Isolationszellen legen die Signale an der Grenze auf einen definierten Wert (0 oder 1) fest.

Lohnt es sich, auch bei kurzen Pausen die Versorgung abzuschalten?

Nicht unbedingt. Das Abschalten kostet Energie für Sichern und Wiederherstellen des Zustands und für das Laden der Kapazitäten. Wenn die Pause nicht länger ist als die Zeit, in der die eingesparte Leckleistung diese Energie wieder hereinholt (Break-even-Zeit), ist es sogar nachteilig. Für kurze Pausen verwendet man Clock-Gating.

Verständnis prüfen

Welches Verfahren des Low-Power-Entwurfs stoppt die Taktzufuhr zu nicht benutzten Schaltungsblöcken und verringert so unnötige Leistungsaufnahme?

  1. AÜbertakten
  2. BClock Gating
  3. CScan-Entwurf
Antwort und Erläuterung anzeigen

Antwort: B. Clock Gating

Clock Gating ist ein Verfahren, das den Takt für Blöcke abschaltet, die nicht arbeiten müssen, unnötiges Schalten von Flipflops und Taktleitungen vermeidet und so die dynamische Leistungsaufnahme senkt. Auch Logiksynthese-Werkzeuge können es automatisch einfügen, indem sie Register finden, deren Wert sich unter bestimmten Bedingungen nicht ändert. Der Leckstrom sinkt dadurch jedoch nicht, weshalb es mit Power Gating kombiniert wird, das die Versorgung selbst abschaltet. Übertakten bedeutet Erhöhung der Frequenz, Scan-Entwurf ist ein Testverfahren.

Welche Aussage zu Power Gating ist richtig?

  1. AEs stoppt nur die Zufuhr des Takts zu einem Schaltungsblock
  2. BEs schaltet die Spannungsversorgung nicht benutzter Schaltungsblöcke per Schalter ab und beseitigt so auch nahezu die Leckleistung
  3. CEs verdoppelt die Versorgungsspannung, um die Verarbeitung zu beschleunigen
Antwort und Erläuterung anzeigen

Antwort: B. Es schaltet die Spannungsversorgung nicht benutzter Schaltungsblöcke per Schalter ab und beseitigt so auch nahezu die Leckleistung

Beim Clock Gating hören die Schaltvorgänge auf, sodass die dynamische Leistung sinkt, doch solange die Versorgung anliegt, fließt weiterhin Leckstrom. Beim Power Gating wird der große Transistorschalter zwischen Block und Versorgung ausgeschaltet und die Versorgung selbst abgetrennt, sodass auch die Leckleistung nahezu verschwindet. In Smartphone-SoCs werden nicht benutzte CPU-Kerne, GPUs und verschiedene Beschleuniger häufig abgeschaltet.

Welche Kombination aus Hinweis und Gegenmaßnahme ist für einen durch Power Gating abgeschalteten Block richtig?

  1. ADer Inhalt bleibt auch nach dem Abschalten stets erhalten, es ist nichts zu tun
  2. BDer Inhalt der Flipflops geht verloren, daher wird der benötigte Zustand vor dem Abschalten in Retention-Registern oder externem Speicher gesichert
  3. CBeim Abschalten verdoppelt sich die Spannung anderer Blöcke
Antwort und Erläuterung anzeigen

Antwort: B. Der Inhalt der Flipflops geht verloren, daher wird der benötigte Zustand vor dem Abschalten in Retention-Registern oder externem Speicher gesichert

Flipflops und SRAM eines abgeschalteten Blocks verlieren ihren Inhalt; um nach der Rückkehr dort weiterzumachen, muss der Zustand vor dem Abschalten gesichert werden. Möglich sind Retention-Register mit einem kleinen, dauerversorgten Speicher oder das Auslesen des Zustands in den Speicher durch Software. Sichern, Wiederherstellen und Hochfahren der Versorgung kosten Zeit und Energie, sodass es bei kurzen Pausen besser sein kann, nicht abzuschalten.

  1. Welche Aussage zum Vergleich von Clock Gating und Power Gating ist richtig?
  2. Welche Rolle haben Isolation Cells an der Grenze zwischen einem durch Power Gating abgeschalteten und einem laufenden Block?
  3. Was prüft die Clock-Gating-Prüfung der STA bei einer Schaltung, die den Takt mit einem AND-Gatter mit 2 Eingängen aus Takt und Enable-Signal anhält?

Übungsfragen zu Energieverwaltung (softwaregesteuert)

Wichtige Begriffe erklärt

Clock-Gating
Methode des Low-Power-Entwurfs, bei der die Taktzufuhr zu ungenutzten Schaltungsblöcken gestoppt wird, um die Leistungsaufnahme durch unnötiges Schalten zu senken.
Power Gating
Stromsparverfahren, bei dem die Versorgung ungenutzter Schaltungsblöcke per Schalter getrennt wird und damit auch die Leckleistung nahezu entfällt. Zeit für Zustandssicherung und Wiederherstellung ist zu beachten.
Retention-Register
Flipflop, das seinen Zustand mit einem kleinen, dauerhaft versorgten Speicher auch dann hält, wenn beim Power-Gating die Versorgung abgeschaltet ist. Nach dem Wiedereinschalten kann es dort fortfahren, wo es aufgehört hat.
Isolationszelle (Isolation Cell)
Zelle an der Grenze, die dem aktiven Teil einen definierten Wert liefert, auch wenn der Ausgang eines abgeschalteten Blocks unbestimmt wird.
Power-Domain
Schaltungsbereich im Chip, der dieselbe Versorgungsspannung und dieselbe Ein-/Aus-Steuerung der Versorgung teilt. Spannung und Versorgung lassen sich blockweise verwalten.

Verwandte Vergleiche