CMOS回路の消費電力(動的電力と静的電力)

活動率、切り替わる容量の合計、電源電圧、クロック周波数、リーク電流を入れると、CMOS回路の動的消費電力と静的消費電力を計算します。電圧と周波数を同じ割合で下げるDVFSを使ったとき、全体の電力がどこまで減るかも比べられます。

条件

結果

動的消費電力 αCV²f
–
静的消費電力 Ileak × V
–
合計の消費電力
–
静的電力の割合
–
DVFS後の合計電力
–
DVFS後の電力(元に対する割合)
–

動的消費電力は P = αCV²f で、αは1クロックあたりに出力が0から1へ切り替わる確率としています(αを切り替わり全体の割合とする教科書では ½αCV²f と書きます)。静的電力は Ileak × V で見積もり、DVFSの計算ではリーク電流そのものは電圧によらず一定とし、×V の分だけ下がるとしています。短絡電流による電力は含めていません。

動的消費電力 αCV²f の意味

CMOS回路では、ゲートの出力が0から1に変わるたびに、負荷の容量Cが電源から CV² のエネルギーを受け取ります。その半分は充電の途中にpMOSで熱になり、容量にたまった残りの半分は、次に1から0に変わるときにnMOSで熱になります。1クロックあたりに0→1の切り替えが起こる確率を活動率αとすると、動的消費電力は P = αCV²f です。既定値の α = 0.1、C = 1 nF、V = 1.0 V、f = 2 GHz では、0.1 × 10⁻⁹ × 1² × 2 × 10⁹ = 0.2 W となります。

静的消費電力とその割合

トランジスタがオフでも、しきい値以下で流れるサブスレッショルド電流、薄いゲート絶縁膜を通るトンネル電流、接合のリーク電流などが流れ続けます。これによる電力が静的消費電力で、ここでは Ileak × V で見積もります。既定値では 100 mA × 1.0 V = 0.1 W で、合計0.3 Wのうち33.3%を占めます。サブスレッショルド電流は、しきい値電圧を下げると指数関数的に増え、温度が上がっても大きく増えます。微細化に合わせてしきい値電圧を下げてきた結果、静的電力は全体の中で無視できない割合を占めるようになりました。

DVFSで電力が大きく減る理由

電源電圧を下げると回路の遅延が大きくなるため、周波数を下げれば、そのぶん電圧も下げられます。電圧と周波数をともにs倍にすると、動的電力は V²f に比例するので s³ 倍になります。既定値で80%にすると、動的電力は 0.8³ = 0.512倍の約0.102 W、静的電力は0.08 Wとなり、合計は0.1824 W(元の60.8%)です。ただし、同じ計算を終える時間は 1/s 倍に延びるので、1回の計算に使う動的なエネルギーは s² 倍の減少にとどまります。静的電力の割合が大きいと、ゆっくり動くぶんリークで失うエネルギーが増える点にも注意が必要です。

設計で電力を減らす方法

式の各項は、それぞれ省電力の手段に対応します。αは使っていない回路のクロックを止めるクロックゲーティングで下げ、Cは配線を短くしたり小さなトランジスタを使ったりして減らします。Vは2乗で効くため効果が最も大きく、負荷に応じて電圧と周波数を変えるDVFSが広く使われています。静的電力には、使わないブロックの電源を切るパワーゲーティングや、速さが必要ない経路にしきい値電圧の高いトランジスタを使う方法が効きます。リークを抑えるためにしきい値電圧を下げられなくなったことが、電源電圧の低下が止まった大きな理由です。

電力管理の問題を解く

CMOS回路の動的消費電力の式 P = αCV²f で、αが表すものとして正しいものはどれか。

  1. Aトランジスタの数
  2. B1クロックあたりに信号が切り替わる割合(活動率)
  3. Cチップの温度
答えと解説を見る

正解:B. 1クロックあたりに信号が切り替わる割合(活動率)

動的消費電力は、配線やゲートの容量を充電したり放電したりするときに使われる電力です。Cは切り替わる部分の容量、Vは電源電圧、fはクロックの周波数で、αは1クロックの間にどれだけの割合の信号が切り替わるかを表す活動率です。データが変わらない部分や、クロックを止めた部分は切り替わらないので、αを小さくすることも省電力の大切な手段です。

活動率α=0.1、切り替わる容量C=1 nF、電源電圧V=1 V、周波数f=1 GHzの回路の動的消費電力はいくらか。

  1. A1 W
  2. B0.1 W
  3. C10 W
答えと解説を見る

正解:B. 0.1 W

P = αCV²fに値を入れると、0.1×1×10⁻⁹ F×(1 V)²×1×10⁹ Hz=0.1 Wです。容量の単位のナノ(10⁻⁹)と周波数のギガ(10⁹)が打ち消し合うので、計算は簡単になります。実際のチップでは、切り替わる容量は回路の規模に比例して大きくなり、全体の動的消費電力は数十〜数百Wに達することもあります。

DVFSで、電源電圧を周波数に比例して下げられるとする。周波数を半分にしたとき、動的な電力と、決まった量の計算に使う動的なエネルギーはおよそどうなるか。

  1. A電力は8分の1、エネルギーは4分の1になる
  2. B電力もエネルギーも半分になる
  3. C電力は4分の1、エネルギーは変わらない
答えと解説を見る

正解:A. 電力は8分の1、エネルギーは4分の1になる

電力はV²fに比例するので、Vとfがともに半分なら(1/2)²×1/2=1/8になります。計算にかかる時間は2倍になるので、エネルギーは1/8×2=1/4です。1回の切り替えのエネルギーがCV²に比例するので、エネルギーは電圧の2乗で決まると考えても同じ結果になります。実際には電圧を下げられる範囲に限りがあり、静的な電力もあるので、ここまで理想的には減りません。

電源電圧だけを10%下げたとき(ほかの条件は同じとする)、動的消費電力はおよそ何%減るか。

  1. A約19%
  2. B約10%
  3. C約50%
答えと解説を見る

正解:A. 約19%

動的消費電力は電圧の2乗に比例するので、電圧を0.9倍にすると電力は0.9²=0.81倍、つまり約19%減ります。わずかな電圧の変化でも電力への効果が大きいので、電圧を下げることは最も効く省電力の手段の1つです。ただし電圧を下げると回路は遅くなるので、必要な速さを保てる範囲で下げる必要があり、それを負荷に応じて行うのがDVFSです。

よくある質問

電源電圧を10%下げると、動的消費電力はどれだけ減りますか?

動的電力は電圧の2乗に比例するので、周波数が同じなら 0.9² = 0.81倍、つまり約19%減ります。周波数も同じ割合で下げれば 0.9³ ≈ 0.73倍となり、約27%減ります。

P = αCV²f と P = ½αCV²f はどちらが正しいですか?

どちらも正しく、αの定義が違います。αを1クロックあたりに0→1の切り替えが起こる確率とすると αCV²f、0→1と1→0の両方を数えた切り替えの割合とすると、1回の切り替えあたり ½CV² なので ½αCV²f になります。問題を解くときは、αがどちらの意味かを確かめてください。

静的消費電力はどうすれば減らせますか?

使わないブロックの電源を切るパワーゲーティング、しきい値電圧の高いトランジスタの利用、電源電圧を下げること、チップの温度を下げることが効きます。クロックゲーティングは動的電力を減らす方法で、リーク電流は減らせません。

関連する用語

動的消費電力 静的消費電力 活動率 DVFS(動的電圧・周波数制御) クロックゲーティング パワーゲーティング

半導体の計算ツール

ダイ数・歩留まり計算ツールウエハ径・チップサイズ・欠陥密度から、ダイ数・歩留まり・良品1個のコストを計算露光の解像度・焦点深度の計算波長・NA・k1から、解像できる線幅と焦点深度、必要なパターン分割の回数を計算セットアップ・ホールドのタイミング計算クロック周期と遅延から、セットアップ・ホールドの余裕(スラック)と最大周波数を計算MOSFETの電流-電圧特性(ID–VDS)しきい値電圧やW/Lを変えて、ID–VDS特性と動作点(領域・ID・gm・ro)を確かめる問題セットを作る分野と問題数を選ぶだけで、授業や研修で配れるクイズのURLを発行接合温度(Tj)と熱抵抗の計算消費電力と熱抵抗から、チップの接合温度、最大接合温度までの余裕、使える最大電力を計算メモリ帯域幅の計算転送レートとバス幅から、DDR・LPDDR・GDDR・HBMのピーク帯域と実効帯域の目安を計算ADコンバータのSN比と有効ビット数(ENOB)分解能、クロックジッタ、オーバーサンプリングから、ADコンバータのSN比と有効ビット数を計算アムダールの法則と並列化の速度向上並列化できる割合とプロセッサ数から、アムダールの法則とグスタフソンの法則で速度向上率と並列効率を計算キャッシュのアドレス分割と平均メモリアクセス時間容量・ラインサイズ・連想度から、タグ・インデックス・オフセットのビット数と平均メモリアクセス時間を計算PN接合の内蔵電位と空乏層幅不純物濃度と逆バイアス電圧から、PN接合の内蔵電位、空乏層幅、最大電界、接合容量を計算熱酸化の膜厚(Deal-Groveモデル)温度・時間・ドライ/ウェット・面方位から、Deal-Groveモデルでシリコン酸化膜の厚さと消費されるシリコンを計算LSIの配線のRC遅延配線の金属・幅・厚さ・間隔・比誘電率・長さから、配線の抵抗と容量、分布RC線路の遅延とドライバを含めた遅延を計算位相雑音からRMSジッタへの換算位相雑音のプロファイル(dBc/Hz)を積分して、クロックのRMS位相誤差とRMSジッタを計算PDNの目標インピーダンスとデカップリングコンデンサ電源電圧・許容リップル・電流の変化から目標インピーダンスを求め、デカップリングコンデンサの自己共振周波数と効く周波数範囲を計算