今回はAMDのマルチコアCPUの動向を見ていく。

 AMDの場合、Bulldozerの登場した2011年からZenが登場する2017年の間の6年間、マルチコア化はやや複雑な形で進んできた。

AMDのマルチコアCPUの概要
AMDのマルチコアCPUの概要
[画像のクリックで拡大表示]

初期には狙い通りの性能が出ない世代も

 2007年、AMDはK10という新アーキテクチャに基づく最初の製品として、AgenaコアのPhenomを発表する。K10そのものはそれ以前のK8の延長にあるが、特に浮動小数点演算性能を強化した結果、消費電力が大きくなり悲惨な状態となった。おまけに出荷開始直後にTLB(Translation Lookaside Buffer)のエラッタが発覚、その影響もあって一度仕切り直しになるなど、出だしはあまり良いものではなかった。それでもPhenomは、PC向けとしては初となる、1つのダイで4つのCPUコアを搭載する製品である(ちなみにインテルは、2コアのダイをMCMに搭載した製品をCore 2の世代に投入している)。

 これが幾分なりとも解決したのは、2009年から投入を開始したPhenom IIである。こちらはプロセスを45nm SOI(Silicon On Insulator)に変更し、現実的な消費電力に抑えつつ性能を上げたことで、この時点ではまだ完全にインテルと伍する性能を発揮していた。当初こそ2/3/4コアの製品のみがラインナップされていたが、後追いの形で2010年には6コア構成となるPhenom II X6も投入され、明確に多コア化の方向に舵を切った。

 問題はその次である。K10はある意味、それ以前のK8の延長にあるコアであったが、その次世代製品であるBulldozerを2006年頃から開発していた。Bulldozerの基本方針は、「2010年頃になると、より多くのスレッドを利用するようになるので、トータルでのスレッド性能が重要になる」という、ある意味極端にサーバー向けに舵を切った形のアーキテクチャである。実際構成もフロントエンド(命令デコード部)とバックエンド(命令実行部)を完全分離した上で、通常のCPUの2コア分のデコードを一つにまとめてしまうという、非常に斬新な構成をとった。

Bulldozerの内部構造
Bulldozerの内部構造
(出所:AMD)
[画像のクリックで拡大表示]

 おまけにFPUの実行部は2コア分で共用するという構成になっている。これにより、整数演算などのサーバーワークロードに高い性能を発揮しつつ、デコーダ部を共用化することでCPUの物理的なサイズを小さくまとめられるというのが、AMDの狙いだった。この構成をとった結果、同社はこの2つのコアをモジュールという単位で呼ぶことになった。

 そのBulldozerコアを搭載したのが、2011年に投入されたAMD FXである。最大で4モジュールなので8コア相当になるが、実際に動かしてみると4コア/8スレッドのCore i7はもとより、4コア/4スレッド相当のCore i5にも及ばないという結果が出てしまったから大変である。Bulldozerはダイサイズを抑えるため、絶対的なIPCをわりと低く抑える設計になっている。狙いは違うが、構成はPentium 4に近い。おまけに低いIPCを多少なりともカバーするべく、動作周波数を高めに設定した。初代のAMD FX-8150ですら定格3.6GHz、Turboで4.2GHzと4GHz超えを果たしていたが、それでも性能はいまひとつという具合だった。

 2013年には内部の若干の省電力化とIPCの改善を果たしたPiledriverコアが投入されるが、基本的なコアの構造は同じままなので、大きな性能改善はあり得ない。若干動作周波数が上がって性能がわずかに増した程度であり、インテルのHaswellには遠く及ばなかった。