PR

 IntelのCPUが先祖返りしている。メニーコアCPU「Larrabee(ララビー)」は、Pentiumをベースにした。低消費電力CPU「Atom」は、486世代のアーキテクチャーからアイデアを発展させた。Core 2 DuoのベースとなったPentium Mは、Pentium IIIを源流としている。なぜ、Intelの最新CPUはどれも旧世代のアーキテクチャーへと巻き戻しているのだろう。

ポラックの法則を破るためのCPU先祖返り

 理由はしごく簡単だ。旧世代CPUの方が、効率が良いからだ。

 CPU業界には、ムーアの法則とともに、よく知られている法則がもう一つある。Intelが「ポラックの法則」と呼ぶCPU開発の経験則だ。これは、CPUのサイズを2~3倍にしても、CPUの整数演算性能は約1.4~1.7倍くらいしか伸びないというものだ。つまり、CPUのトランジスター数を増やしても、整数演算の性能はその平方根程度にしか向上しない。

 消費電力は、トランジスター数と共に増えるので、CPUは性能を上げるために、どんどん性能/電力の効率を犠牲にしてきたことになる。だから、CPUアーキテクチャーをPentium 4より古い世代へと巻き戻せば、CPUの性能/電力の効率が高まるというわけだ。電力効率が最も重要になった今、CPUの先祖返りは、ポラックの法則を考えれば当然の結果だ。

 CPU開発者が、ポラックの法則で効率が悪くなることが分かっていながら、CPUを大型化してきた理由は、“PCの呪縛(じゅばく)”にある。PCは「過去のソフトウエアが新しいCPUで、より速く動かなければならない」という呪縛に縛られてきた。そして、これまでのPCソフトウエアの主流はシングルスレッドで整数演算が主体だった。だから、PC向けのCPUは、シングルスレッドの整数演算の性能を向上させ続けなければならなかった。

 過去数世代で一番効率が良かったのはIntelの486だ。1クロックに1命令しか実行しないので演算ユニットに無駄がない。命令をそのままの順序で実行するインオーダー実行なので、命令を制御する仕組みが簡単で消費電力が小さい。

 次に効率が良いのはインオーダー実行で2命令発行のPentiumだ。Pentiumは、2命令を同時に実行できるので整数演算の性能は上がる。しかし、同時に実行できない命令の組み合わせの場合には片方の実行ユニットが遊んでしまうので、486より効率が落ちる。

 3命令を同時に実行するPentium Pro/II/IIIになると、さらに効率が悪くなる。命令を並列に実行しやすいように、命令の順序を入れ替えて実行するアウト・オブ・オーダー実行を採用したからだ。アウト・オブ・オーダー実行は、命令の制御を複雑にするため、電力効率はがくっと悪くなった。そして、Pentium 4では、パイプラインを深くして高クロック化を図り、さらに効率が悪くなった。

 このようにPCの呪縛のために、CPUは効率が悪くなってしまった。それに対して、LarrabeeやAtomは、PCの呪縛から離れることで、ポラックの法則を破る。

LarrabeeはPentiumをベースに浮動小数点演算性能を強化したCPUコアを多数搭載する。Atomは486と同じインオーダー実行1命令発行からアーキテクチャーの検討を始め、Pentiumと同じインオーダー実行2命令発行になった。Core 2 DuoのベースとなったPentium Mは、元々はPentium IIIを拡張したモバイルCPUのプロジェクトだった。
LarrabeeはPentiumをベースに浮動小数点演算性能を強化したCPUコアを多数搭載する。Atomは486と同じインオーダー実行1命令発行からアーキテクチャーの検討を始め、Pentiumと同じインオーダー実行2命令発行になった。Core 2 DuoのベースとなったPentium Mは、元々はPentium IIIを拡張したモバイルCPUのプロジェクトだった。
[画像のクリックで拡大表示]