このページの本文へ

前へ 1 2 3 4 次へ

ロードマップでわかる!当世プロセッサー事情 第73回

CPU性能向上のトレンド マルチコアの理論と限界

2010年10月18日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/)

  • この記事をはてなブックマークに追加
  • 本文印刷

プロセス微細化により実用的なマルチコアCPUが可能に

 こうした問題を解決するのが、マルチコアと呼ばれる技術だ(図8)。要するに、ひとつのダイに複数のCPUを入れてしまうというものである。

図8

図8 マルチコアCPUの例

 従来は、これを実現しようとすると、ダイサイズがとんでもなく大きくなってしまうため、コストの面で非現実的だった。しかし製造プロセスがどんどん微細化されたことで、複数のCPUコアをひとつのダイに搭載しても、現実的なダイサイズに収まるようになったので、採用されるようになってきた。

 PCの世界でまず最初に投入されたのはデュアルコアの製品で、インテルは65nmプロセスの「Core Duo」で、AMDは90nmの「Athlon 64 X2」でそれぞれデュアルコアを実用化した。これに続き、4つのコアを内蔵したクアッドコアの製品を、インテルは45nmの「Core i7」で、AMDは65nmの「Phenom」で、それぞれ実用化している。

 大雑把に言えば、プロセスを1世代微細化すると、同じダイサイズで利用できるトランジスター数は倍増するので、インテルの32nm世代/AMDの45nm世代では8コア、インテルの22nm世代/AMDの32nm世代では16コアが実用化できるはずだ。しかし実際にはさまざまな要素が絡むので、もう少しコア数の増加のペースは遅くなるかもしれない。

 図8のマルチコアの構成では、CPUコア間の通信は共有キャッシュないし「BIU」(Bus Interface Unit)を経由する形になり、FSBを使ったMCM方式に比べて、ずっと高速に同期を取れる。そのため、コア間の同期を取るための時間が0にはならないにしても、大幅に減ることになった。もちろんアムダールの法則はまだ有効であり、そこで図4の問題は解決しないにしても、図5の効果は期待できることになる。

 ただし、図5の効果が期待できるのは、「文字通り同時に複数のプログラムが走っている」場合に限られる。例えばWindows XPまでに比べて、Windows Vista以降ではOSが内部で実行するプログラムの数が増えたので、クアッドコアCPUを使うと体感性能も上がる……とはよく言われる。だが、プログラムの大半は起動後そのまま待機しているため、本当に同時実行中のプログラムというのは、そう多いわけではない。

 2009年から2010年にかけて、インテルの「Core i7-980X」とかAMDの「Phenom II X6」といった6コアCPUが投入されているが、流石にすべてのコアがフルに動くケースはなくなってきたというか、ややコア数をもてあまし気味になりつつある。

 インテルでは、さらに多い80コアのCPU(関連記事)を初め、多数のコアを集積したさまざまなCPUを開発している(インテルはこれをメニイコアと称している)。今はまだ研究用の域を出ないレベルであり、今後どの程度まで実際の製品、それもHPC用やサーバー用ではなく、デスクトップ/ノートPCに採用されてゆくかは不明である。

 以前に比べると、ハードウェア仮想化とかセキュリティー関係などで処理が増えている、という背景はある。だが8コアあるいは16コアあたりで、「もうこれ以上コアの数を増やしても実際の性能が上がらない」状況に陥りそうだ……というのが現時点での見通しである。

 ちなみにAMDはと言うと、早くからこうしたメニイコアではなく、非対称型マルチプロセッサーの構成が今後の主流になるという見通しを述べている(AMDの場合はGPUとCPUの融合を目指し、これの第一歩が「Llano」などのFusion製品である)。どこまでこうしたマルチコアが有効か、というのはやや不透明なのが現状である。

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン