JA EN
体系デバイス物理
·★ 会員·12分で読めます

電力バジェットで読むチップ設計 — リークと発熱の物理

チップの設計は「何を置けるか」ではなく「同時に何を光らせられるか」で決まります。動的電力とリーク電力という2つの支出、温度でリークが膨らむ正帰還、ワットを温度に換算する熱抵抗、そして予算を空間・時間・仕事あたりで配る手口までを、電力バジェットという1枚の家計簿として読み解きます。

対象textタスクhardware

ブレーカが先に決まっている家

チップ設計を、電気の契約が決まっている家に例えてみます。部屋(面積)はいくらでも増築できるのに、ブレーカの容量(冷却できる熱量)は据え置きです。エアコンと電子レンジと乾燥機を全部同時に回せば落ちる。だから住人は「何を置くか」ではなく「何を同時に動かすか」を考えることになります。

現代のチップはまさにこの状態にあります。トランジスタは微細化のたびに増えますが、そこから逃がせる熱はパッケージと冷却系でほぼ決まっていて、世代が進んでも大きくは伸びません。設計の主語が面積からワットに移った、というのがこの20年でいちばん大きな変化です。

だから設計者は最初に1枚の家計簿を書きます。使える総ワット数を決め、それをコアに、キャッシュに、メモリインターフェースに、I/Oに配る。この家計簿を電力バジェットと呼びます。この記事は、その家計簿の読み方の話です。

支出は2種類ある — 従量課金と基本料金

チップが出す熱は、性質の違う2つの支出に分かれます。

Ptotal=αCV2f動的+VIleakリークP_{\text{total}} = \underbrace{\alpha C V^2 f}_{\text{動的}} + \underbrace{V \cdot I_{\text{leak}}}_{\text{リーク}}
(1)

つまり、電気代の請求は「回路が切り替わった回数ぶんの従量課金」と「電源が入っているだけで取られる基本料金」の足し算だ、ということです。α\alpha は1クロックあたりに実際に切り替わる回路の割合、CC は駆動する容量、VV は電源電圧、ff はクロック周波数、IleakI_{\text{leak}} はOFFのはずのトランジスタから漏れる電流です。

第1項がなぜ CV2CV^2 になるのか、なぜ電圧だけが2乗で効くのかは電力の物理で導出しています。ここで重要なのは第2項のほうです。リーク電力は仕事をしていなくても発生します。 アイドル中のチップが温かいのはこのためで、しかもこの基本料金はトランジスタの数に比例して積み上がります。数十億個が同時に、静かに漏れているわけです。

家計簿として見ると、この2つは扱いがまったく違います。従量課金は「使わなければ減る」ので、無駄な演算を止めれば効きます。基本料金は使用量と無関係なので、電源そのものを切るしか減らす手がありません

基本料金は、温度で勝手に膨らむ

やっかいなのは、リークが定数ではないことです。OFFのトランジスタを漏れる電流(サブスレッショルド電流)は、おおよそ次の形をしています。

Ileakexp ⁣(VthnkT/q)I_{\text{leak}} \propto \exp\!\left(\frac{-V_{th}}{n \cdot kT/q}\right)
(2)

つまり、漏れの量は「しきい値電圧が熱の勢いに対してどれだけ高いか」で指数的に決まる、ということです。VthV_{th} はトランジスタが開き始める電圧(しきい値電圧)、kT/qkT/q は熱電圧と呼ばれる量で室温では約26 mV、nn は1より少し大きい係数です。

ここで TT は絶対温度です。温度が上がると熱電圧 kT/qkT/q が大きくなり、指数の中の分数の絶対値が小さくなる。つまり温度が上がるだけで漏れが増えます。 さらに VthV_{th} 自体も温度が上がると下がる方向に動くので、2つの効果が同じ向きに重なります。

漏れる経路はここだけではありません。ゲート絶縁膜が薄くなると、ゲートからチャネルへ直接トンネルする電流も無視できなくなります(こちらは高誘電率材料の導入で大きく抑えられました)。ただし、温度で膨らむのは主にサブスレッショルド側です。

指数関数なので、増え方は直感を裏切ります。設計の議論では「10℃前後の上昇でリークがおよそ倍」という粗い目安が使われますが、正確な係数はプロセスと動作点によって変わります。大事なのは倍率の値ではなくです。動的電力は電圧や周波数に対して素直な多項式で増えるのに対し、リークは温度と VthV_{th} に対して指数で増える。少し余裕があるうちは無視できて、ある点から急に家計を食い潰します。

FIG 1まっすぐ伸びる線を「動的電力」、いちばん急に立ち上がる線を「リーク」と読み替えてほしい。横軸を温度だと思って右へ送ると、しばらく無視できていた線がある地点から一気に他を追い越す。対数表示に切り替えると指数だけが直線になる — 実測データが指数で効いているかを見分けるとき、現場で実際に使う手つきです

温度がリークを決め、リークが熱を出す。この輪を閉じるには「ワットを温度に直す換算レート」が要ります。それが熱抵抗です。

この先にあるもの

§

ここから先は会員限定です

解説記事371本・教科書26章・学生モード48単元・論文精読6本が、月額¥490ですべて読み放題になります。新しい解説は毎日3本ずつ増えます。いつでも解約でき、解約後も期間の終わりまで読めます。

会員の方はログインすると続きが表示されます

コメント

コメントにはログインが必要です