今夏も省電力キャンペーンは続いているが、昨年ほど過激ではなさそうだ。一方、半導体への低消費電力化の圧力は止まらない。それは……。
ロンドン・オリンピックを見るためについつい夜更かしをし過ぎたと反省していたのだが、今度は盆休みで昼間から甲子園を見てしまった。酷暑の中、当然エアコンをつけてである。電力を使い続けることになって、後ろめたい気もするのだが、多分、似たような境遇(?)の人も多いのではあるまいか。
省電力キャンペーンは続いているが、昨年ほどには過激ではないように感じられる。マスコミも消費電力削減のためにオリンピックを見るのを止めようなどと、自分の首を絞めるようなことをいうところはなかったようだ。消費電力削減作戦が始まって2年目ともなると、すでに周知徹底、みんなが知っていることはニュースにもならない。また照明をLED化したり、エアコンの温度を細かく調整したり、工場の操業にいたるまで、やれるところはすでに削減済みで、アンダーコントロール(制御できている)状態である。根本的な解決にはほど遠いのだが、とりあえず「いまは」何とかなってしまっているように見える。かなりなところ「喉元過ぎれば」感があるのかもしれない。
そんな中でも、半導体デバイスへの低消費電力化のプレッシャーは止まることはない。何度も書いたことだが、低消費電力化しないことには、この先、前に進めないからである。少しでも発電所の負荷を減らそうという気持ちが入っていないわけでもないのだろうが、それ以前に、マイクロプロセッサに代表される半導体デバイスには消費電力、つまりは熱の問題が壁のように立ちふさがっている。その壁を押しのけていかなければならない内部事情が続いているのだ(消費電力と熱の関係については「第49回 人類の未来は1Wの消費電力削減から」を参照のこと)。
モバイル分野における消費電力とは、電池の持ちという基本スペックの問題があるから、低消費電力にしたいのは当然といえば当然だ。ところが、モバイル・デバイスで処理しなければならないことは増えている。無線も複数種類を内蔵するのが当たり前だし、高解像度のディスプレイで、動画や負荷の重い処理、かっこいいUI(ユーザー・インターフェイス)を「軽く」動かしてみせなければならない。電池も進歩はしているが、要求される処理量はそれより早く伸びている。限られた電力の中で何をどこまでできるかは、半導体デバイス次第である。そのうえ、強制冷却のできない小さく閉じた装置が多いモバイル・デバイスでは、放熱の問題は難しい。休んでいる、あるいは、かなり落とした性能で動かしている分には何とかなっても、最高速度で動かし続けると熱的には厳しい。下手をすると半導体が誤動作する前に低温ヤケドでもしかねない。
外から電力をもらえるサーバ側も消費電力は大問題だ。処理能力とストレージ・サイズとスペース・ファクタのいずれも追い求めないとならない宿命なので、システム・レベルでみても、デバイス・レベルでみても、「消費電力=熱」の問題を解決しないことには、性能向上などおぼつかない。現状のサーバ向けのプロセッサなどを見ていると、性能と熱的条件のトレードオフの限界線に近いところを出入りしている感じが強い。何だかんだで進歩を続けてきたが、現行方式はもはや限界が近付いているように見える。また、それに加えて規模の大きなデータセンターともなると消費電力も莫大なので、社会的な消費電力減という要請も重なってくる。
熱の問題を「何とか」していかないことには、この先の性能向上などおぼつかない。だが、半導体デバイスの消費電力というものの大枠のところは物理現象が決めていて、人間が「何とかできる」のはその上のある部分の選択でしかない。例えば電源電圧である。消費電力を単純化すれば、2つの部分に大別できる。トランジスタが動作するときに使う電力と、トランジスタが動作しなくても使ってしまう電力である。そのどちらもが、電源電圧に比例する。だから、低消費電力化するためには電圧を下げるということは根本的に有効なのだが、すでに下げられる限界に近い。電圧を下げていけば自然と信号の振幅も狭くなっていき、すると雑音などに影響されやすくなってしまうからだ。入出力に使う信号などは外界の環境にさらされているからそんなに下げるとまずい、ということになって大分前から、入出力系と半導体内部の電源電圧は分けざるを得なくなっている。
それぞれトランジスタの耐圧も違うので、1個の半導体の中で複数種類のトランジスタを作り分けないとならなくなったわけだ。それでもコア内部の電圧は下がっていったが、今度は半導体を乗せるボード設計にも変化を迫ることになった。コア内部の消費電力そのものは集積度と速度の向上もあって横ばいか上がり気味だったのに、コアの電圧が下がったので、コアには低電圧だが大電流を流さねばならなくなった。電線の抵抗が同じで電流が倍になれば電圧のドロップは2倍になる。これに対して、下がった電源電圧により許される電圧変動の範囲はより狭くなっていて、そんな電圧ドロップは許容できない。
そこで、ボード上での「送電」系統が考案され、そのための「近代的な」電源デバイスなどが登場し、何とかその問題を切り抜けてきた。5V単一電源などといえていた古きよき時代に比べたら、現代のボード上の電源系統はどれも複雑奇怪といえるほどで、例えば同じ電圧であっても別の回路を経由したりする。が、その先には半導体として動作させるために最低限必要な電圧という、材料そのものを取り替えない限り超えられない限界が見えてしまってもいる。電圧を下げて消費電力を下げるという手は、素材を替えない限りほぼ限界に思える。
ほかにも消費電力を下げる技はいろいろあるのだが、やれることは手をつけてしまっているので「何とかできる」部分は、実のところ限られてきているように思われる。トランジスタが動作するときに使う電力には単位時間あたりのスイッチングの回数に比例するという単純明快な関係がある。昔の回路は意味のある動きをしないときでも、末端のトランジスタはパタパタと動作していることが多く、そういう「無駄な動き」の回数が増えて、電力を消費する一因になっていた。そこで、ともかく意味のある動きの系統以外の系統がパタパタと動かないように回路を設計する技術が進歩し、いまではソフトウェア・ツールを駆使することで、そのような動きが出ないような回路構成を自動生成することができるようになっている。
しかし自動化できるのは、低レベルの回路の構造である。根本的に考え方を変えてスイッチングの回数をけた違いに下げるというようなことを、機械は考えてくれない。例えば、ソフトウェアでぶん回していた処理を、専用のハードウェアのアシストによって1けた、2けた少ない消費電力で実行する、といったディシジョンである。ソフトウェア処理は、規模の大きな回路である汎用プロセッサによるものであるので、ある特定の処理専用のハードウェアに比べるとけた違いに多くのスイッチングが発生する。そのため、これは当然のディシジョンともいえる。しかし、いろいろな処理すべてに専用回路を積むというのも現実的ではないから、そこにはかなり「高度なディシジョン」が存在するし、選択肢も多すぎて、2択や3択問題にはなかなか帰着できない。難しいだけに、この上位レベルでどう最適化し、消費電力を下げるかという問題にはまだまだ改良の余地が大きいともいえる。物理層に近い低レベルでの削減策に限界が見える中、今後は上位層での対処が中心となっていくだろう。
でもまあ、家の場合は、低レベルの削減の方をまずしないとな。こまめに電気を消す。涼しくなったらエアコンは止めると。あっ、またテレビがつけっ放しだ……。
日本では数少ないx86プロセッサのアーキテクト。某米国半導体メーカーで8bitと16bitの、日本のベンチャー企業でx86互換プロセッサの設計に従事する。その後、出版社の半導体事業部を経て、現在は某半導体メーカーでRISCプロセッサを中心とした開発を行っている。
「頭脳放談」
Copyright© Digital Advantage Corp. All Rights Reserved.