60年間で何がおきたのか(!?)[3分でわかる]プロセッサの進化

先日の行政刷新会議の事業仕分けで、一躍国民的な注目を浴びた次世代のコンピュータ事業。その論点はさておき、そもそも計算の速度ってどのくらい重要?(そんなに重要?)と思った方もいらっしゃるのではないでしょうか。いえいえ、計算する機械コンピュータにとって演算速度は生命線、その心臓部プロセッサの歴史は速度追求の道のりだったといっても過言ではありません。

コンピュータの歴史となると、まず登場するのがENIAC(エニアック、Electronic Numerical Integrator and Computer⁠⁠。ENIACは1946年に完成し実用に供された最初のコンピュータで、大きな部屋を占有する巨大な演算装置でした。ENIACの性能は毎秒5,000演算で、約150KWもの電力を消費し、設置された米国ペンシルバニア大学一帯の電灯が暗くなるのではないかと心配されたそうです。

これに対して、現代のマイクロプロセッサは毎秒100億演算以上の性能を持ち、PC全体の消費電力はせいぜい300W程度。毎日100万台ものPCが販売され、その他巨大データセンター、携帯電話、家電、車まで、地球の総人口の何倍ものプロセッサが至る処で稼働しています。

ここで単純にENIACと現代のマイクロプロセッサを比較すると、演算性能は「200万倍」向上し、消費電力は「1/500」減少したことになります。この間、わずか60年ですから驚異的な進化です。60年間で何が起きたのか、簡単に見てみましょう。

この進歩は、何より回路テクノロジーによるところが大きいと言われています。ENIACの時代は素子が真空管でしたが、現代のマイクロプロセッサは微細化されたトランジスタを大量に搭載しています。トランジスタの微細化が進み単位面積に大量に注ぎ込めるようになってくれば演算能力が向上する、進化してきた後の今となっては当たり前のような話ですが、このプロセッサメーカーによる弛みない素子、回路の大改良がプロセッサにおける性能向上を支えてきました。

また、ソフトウェア的、ハードウェア的なコンピュータアーキテクチャの変化も、性能向上に大きな貢献をしています。ごく一例を挙げると、ENIACでは人間が操作するスイッチや(現在の電子工作セットのような)配線の差し替えによって計算の手順を決めていたそう。このようなプログラム方法では、別のプログラムに切り替えて実行するのに人間がうろうろ。いまやプログラム内蔵に加えて、マルチユーザ、マルチタスク、そして仮想化(1つのプロセッサで、複数の仮想マシンを動かす技術)まで、いくつものレベルにおける環境の切り替えが当然のように機能しますから、初期のコンピュータの人力によるプログラムの切り替えなど想像し難いくらい……。このようなアーキテクチャの変化も性能向上という面においては見逃せないのです。

今回はENIACから現代のマイクロプロセッサへと一足飛びに比較をしましたが、プロセッサにはその時代の先端技術が集結し進化してきました。あちこちの身近な機器に入っているプロセッサに先進的な技術が詰まっているなんて、ちょっとわくわくしませんか?

※参考
『プロセッサを支える技術.果てしなくスピードを追求する世界』の第1章、第2章