CPUの消費電力をエントロピーから考えてみる

最近Efficeonが1GhzでTDP 3Wとか言うのをみてなんかすごいなぁ、
とか思ったのだが、はてそういえば熱力学のあたりにこの辺の下界を与える
式があったような気がするので、ちょっくら計算してみることにした。


計算というものは原理的には古典/量子計算ともに消費エネルギー0で
行うことが出来る。が、不可逆なゲートの演算においてはそうではない。
不可逆な過程においてエントロピーは増大するというアレである。
しかし、ちょっと待った。出力データの"情報"エントロピー
入力データの"情報"エントロピーより減少しているから
環境の"物理的な"エントロピーは増大して、全体としては
エントロピーが増大している…って、"情報"のエントロピー
"物理的"エントロピーを混同していいのか?
…とも思ったが、しかし、デバイスレベルで見ると、
特定の場所の電圧の変化がまぎれも無く不可逆な変化をしており、
やはりいずれにせよ不可逆なゲートの演算にはエントロピーが増大せざるを得ない
ような気もする。


その辺の"情報"エントロピーと"物理"エントロピーをつなぐ式が
Landauerの法則である。

Landauer's principle:

計算機が1ビットの情報を破壊する際、
環境に消散されるエネルギーは少なくとも

kbTln2

である。

(kbはボルツマン定数、Tは環境の温度)

さらに、エントロピーでこれを言い換えると

Landauer's principle (その2):

計算機が1ビットの情報を破壊する際、
環境のエントロピーは、少なくとも

kbln2

上昇する。

(kbはボルツマン定数)

となる。
要するに、これだけのエネルギーはどうしても計算に必要になるのである。
そこで、件のEfficeonにて、この下界を計算してみよう。


まず、1オペレーションあたりに破壊される情報量であるが、
これは2000年前後のものでざっくりと500ビットになるらしい。
それがEfficeonだと1クロックあたり平均で5命令実行可能(?)で、
さらに動作速度1Ghz、環境温度300Kとすると環境に消散されるエネルギーは、
10^9 * 500kb * 300 * ln2 * 5
これを適当に(オーダーだけ…)計算すると、約10^-6Wとなる。


うーん…こんなものなのか。
計算機がムーアの法則に従って指数関数的に性能を伸ばし続けるとすると、
消費エネルギーも増大せざるを得ず、そのためには
1オペレーションあたりの破壊情報量を減少させる必要があるとか
今読んでいる本に書いてあるのだが、そんな心配をするのは
もっと先のような気がする。
というか、ムーアの法則も技術的な問題により
そのうち破綻しそうだが…。