なぜチップは、熱を出すのか その熱は、無駄なのか
「漏れ」の無駄は技術で減らせる。でも、情報を消す熱は、物理法則で決まっている。
前回、宇宙の冷却の話をして、最後にこんな疑問を残した。そもそも、なぜチップは熱を出すのか。
考えてみると、不思議だ。
チップがやっているのは、計算だ。1と0を、ひたすら処理しているだけ。
なのに、なぜ熱くなるのか。
そしてもっと気になることがある。
その熱は、無駄なエネルギーを捨てているということなのか。だとしたら、それは、しょうがないことなのか。
調べていくと、これがとんでもなく深い話だった。
チップは、なぜ熱くなるのか
まず、素朴な事実から。
チップの中には、トランジスタという小さなスイッチが、何百億個も詰まっている。
このスイッチが、1と0を切り替えることで、計算が進む。
問題は、このスイッチを切り替えるたびに、電力を消費して、熱が出ることだ。
スイッチが、オンとオフを切り替える瞬間。電気が流れて、ごくわずかに熱が出る。
一回一回は、本当に小さい。でもトランジスタはクロックごとにスイッチングをし、その度に電力を消費する。微量ながらも、これを多く繰り返すことで、人が感じ取れるほどに熱を帯びてくる。
何百億個のスイッチが、1秒間に何十億回も切り替わる。
その熱が積み重なって、チップは、あれほど熱くなる。
性能を上げる、つまり計算を速くするほど、スイッチの切り替えは増える。
だから、熱も増える。
性能と発熱は、セットだった。
さらに厄介な「漏れ」がある
熱が出る理由は、スイッチングだけじゃない。
もう一つ、やっかいなものがある。
リーク電流、「漏れる電流」だ。
本来、スイッチがオフのときは、電気は流れないはずだ。
でも、現実には少しずつ、漏れている。
しかも、これが馬鹿にならない量になっている。
プロセスルールが100nm以下になると、半導体回路で消費される電力の半分以上が、リーク電流として消費されるようになっている。
半分以上。
つまり、今のチップは計算に使う電力と同じくらいの電力を、「漏れ」で捨てていることになる。
なぜ、漏れるのか。
チップを高性能にするには、回路を小さくする必要がある。
小さくすると、部品同士の距離が近くなる。
近くなりすぎると、量子トンネル効果により、絶縁膜などを超えてリーク電流が生じる。
この効果は原子レベルの微細な世界で確率的に生じるもので、加工の微細化によって導体同士が近づくほど急激に大きくなる。
電子が、壁をすり抜けてしまうのだ。
これは、設計が下手だからじゃない。高性能を追求して、極限まで小さくした結果、物理法則そのものが、壁になっている。
つまり、私の疑問への答え、半分はYes
ここで、最初の疑問に答えが出る。
「その熱は、無駄なエネルギーを捨てているのか?」
答えは、半分は、その通りだ。
特にリーク電流は、計算に何の役にも立っていない。
ただ漏れて、熱になって、消えていく。
純粋な無駄だ。
今のチップは、その「無駄」が、消費電力の半分を超えている。
これを減らそうと、技術者たちは何十年も戦ってきた。
配線の材料を変えたり、絶縁膜を工夫したり。
でも、微細化を進めるほど、漏れは増える。
イタチごっこが、今も続いている。
でも、ここで終わらない。
「無駄を減らす」という次元を超えた、もっと根本的な問いがある。
そもそも、計算には、必ず熱が必要なのか?
究極の問い:計算に、熱は必要か
リーク電流のような「漏れ」は、技術で減らせる。
理論上は、ゼロに近づけられる。
では、漏れを完全になくしたら、チップは、熱を出さなくなるのか?
ここで、物理学の、ある重要な発見が登場する。
1961年、IBMの物理学者ランダウアーが、驚くべきことを示した。
「情報を消すとき、必ず熱が出る」
これは、技術の問題じゃない。宇宙の物理法則として、決まっていることだ。
どういうことか。
計算では、しばしば情報を「消す」。
例えば「1+1=2」を計算したあと、元の「1」と「1」は、もう要らないから消される。
このとき情報が消えた分だけ、必ず、最小限の熱が出る。
これを「ランダウアーの原理」と呼ぶ。
つまり、どんなに技術が進んでも、「情報を消しながら計算する」限り、熱はゼロにできない。
これが、計算と熱の、最も深いところにある関係だ。
でも、そこに「抜け道」がある
ここからが、本当に面白い。
熱が出るのは、「情報を消す」からだった。
だったら、情報を消さなければ、熱は出ないんじゃないか?
これが、「可逆計算」という考え方だ。
普通の計算は、後戻りできない。
「2」という答えから、元が「1+1」だったか「3-1」だったかは、わからない。
情報が、消えているからだ。
でも、もし、すべての計算を「後戻りできる形」で設計したら?
情報を消さずに、計算できたら?
理論上、その計算は熱を、ほとんど出さない。
これは夢物語じゃなく、真剣に研究されている分野だ。
もし可逆計算が実用化されれば、コンピュータの発熱は、桁違いに小さくなる。
宇宙の冷却問題も、地上の電力問題も、根本から、変わるかもしれない。
そして、ここで「あれ」を思い出す
熱を出さずに計算する。
情報を効率的に処理する。
これを聞いて、思い出すものがある。
人間の脳だ。
関連記事:本当に賢い知能は、奪わない。生み出す。
以前の記事で書いた。
脳は、たった20ワット、電球一個分で動いている、と。
スーパーコンピュータが何百万ワットも使うのに、脳は、電球一個分で、桁違いに賢い処理をする。
なぜ、脳はこんなに省エネなのか。
理由の一つは、脳が「必要なときだけ」働くからだった。
全部の回路を常に動かさず、サボれるところはサボる。
これは、無駄な「漏れ」や、無駄な「消去」を、極限まで減らしている、とも言える。
脳は、何十億年もの進化の果てに、「熱を出さない計算」の達人になっていた。
私たちが今、リーク電流と戦い、可逆計算を夢見ているその答えを、脳は、とっくに、自分の中に持っていた。
「しょうがない」のか、という問いに
私の最初の疑問は、こうだった。
「無駄なエネルギーを捨てている。しょうがないのかな?」
ここまでの話を、まとめてみる。
今のチップの発熱は、「しょうがない」部分と、「しょうがなくない」部分がある。
リーク電流のような無駄は、技術で、まだ減らせる。「しょうがなくない」。
でも、情報を消すことで出る熱は、今のコンピュータの仕組みである限り、「しょうがない」。
ただし、その「しょうがない」の前提を、可逆計算がひっくり返そうとしている。
そして、その究極の答えのお手本が、私たちの頭の中に、すでにある。
「しょうがない」と諦めるか、「お手本は脳にある」と希望を持つか。
たぶん、後者でいいと思う。
熱との戦いは、文明の歴史そのものだ
最後に、少し引いて考える。
考えてみれば、人類の技術の歴史は、ずっと「熱との戦い」だった。
蒸気機関は、熱を動力に変える挑戦だった。
エンジンは、いかに熱の無駄を減らすかの工夫だった。
そして今、コンピュータが、「計算に伴う熱」と戦っている。
熱は、エネルギーを使った証だ。
何かをすれば、必ず熱が出る。
でも、人類はいつも、その熱の無駄を、少しずつ減らしてきた。
真空管が、電球一個分の電力で動く電卓になったように。
いつか、今のAIの膨大な発熱も「あんなに熱を出していた時代があったね」と、振り返る日が来るのかもしれない。
その鍵は、物理法則の限界を見極めることと、そして、私たちの頭の中にある、20ワットの奇跡から学ぶことだ。
計算の熱は、無駄なのか。
今はまだ、無駄が多い。
でも、その無駄を減らす旅は、たぶん、これからが本番だ。