クロックゲーティングとパワーゲーティングの違い:減らす電力・復帰時間・状態の保持・回路を比較
どちらも、使っていない回路の電力を減らす低消費電力設計の手法ですが、止めるものが違います。クロックゲーティングは、レジスタへのクロックを止めて信号の切り替わりをなくし、動的な電力を減らします。電源は入ったままなので、状態は保たれ、1〜数サイクルですぐに再開できます。パワーゲーティングは、ブロックの電源をスイッチで切り、動的な電力に加えてリーク電流による静的な電力もほぼなくせます。その代わり、状態が消えるので保存の仕組みが必要で、復帰にも時間がかかります。
| 項目 | クロックゲーティング | パワーゲーティング |
|---|---|---|
| 減らす電力 | 動的な電力(クロックの配線、フリップフロップ、その先の論理の切り替え) | 静的な電力(リーク)と動的な電力の両方 |
| 止めるもの | レジスタへのクロック | ブロックへの電源 |
| 電源 | 入ったまま。リーク電流は流れ続ける | 電源スイッチで、ブロックの電源の線を切り離す |
| 状態の保持 | 保たれる | 消える。必要な状態はリテンションFF(リテンションレジスタ)やメモリに保存する |
| 復帰の時間 | 1〜数サイクル | 長い。突入電流を抑えながら電源を入れ、状態を戻すので、多くはµsの単位 |
| 必要な回路 | ICG(ラッチとANDによるクロックゲートのセル)と、イネーブルを作る論理 | 電源スイッチ(ヘッダやフッタ)、アイソレーションセル、リテンションFF、電源の順序を制御する回路 |
| 細かさ | 細かい。数個のレジスタの単位から使える | 粗い。CPUのコアやIPなどのブロック(電源ドメイン)の単位 |
| 設計・検証 | 論理合成のツールが、イネーブルの条件から自動で入れられる。STAでクロックゲーティングのチェックを行う | 電源の意図をUPFなどで記述し、電源を切ったときの動作や順序まで検証する |
| オーバーヘッド | 小さい。ICGの面積と遅延 | 電源スイッチの面積と電圧降下、保存と復帰のエネルギー。短い休止では得にならない |
| 主な使い方 | ほとんどのデジタル回路で、動いていない機能のレジスタを止める | 長く使わないブロックを止める。CPUの深いアイドル状態、スマートフォンのSoCの使っていないブロック |
数値は代表的な目安で、世代や製品によって異なります。