AMDが次世代Zenの概要をさらに明らかに AMDが次世代GPUコア「Zen」のベールをさらに剥いだ。米クパチーノで8月21～23日に開催された半導体チップカンファレンス「Hot Chips 28」の最終セッションで、AMDはZenについてより詳細な発表を行なった。 今回で28回目と歴史を刻むHot Chipsは、先端プロセッサの技術のお披露目の場となっている。高性能プロセッサのセッションは、最終日の最後に行なわれた。今回は、IBMの新CPU「Power 9」とIntelの「Skylake」、そしてAMDのZenのセッションが行なわれた。 Zenのフロントエンドでは、アルゴリズムは明らかにされていないが、分岐予測が大幅に強化された。BTB(Branch Target Buffer)エントリ毎に2ブランチがサポートされ、演算パイプでも2個のALUが分岐ユニットを備える。命令側のTranslation Lookaside Buffer (TLB)は3レベルとなり、8エントリのL0 TLB、64エントリのL1 TLB、512エントリのL2 TLBとなった。 命令デコードは4命令/サイクルで、x86/x64命令を内部命令Micro-opに変換する。AMDアーキテクチャでは、伝統的にMicro-opはCISC(Complex Instruction Set Computer)の特性を残した複合opのMicro-opとなる。Micro-opはディスパッチステージで、オペレーション単位のシンプルなMicro-opに分解される。AMDは、以前は複合型のMicro-opを「Macro-op」と呼んでいたが、Zenではそうした呼称分けをしていないため、やや分かりにくい。

4コアで1クラスタを構成するZenプロセッサ 浮動小数点演算エンジンは4パイプ。128-bit幅SIMD(Single Instruction, Multiple Data)の乗算(MUL)と加算(ADD)パイプのペアが2つとなっている。実際には、MULパイプは積和算(MAD)パイプで、FMA命令を実行できる。ただし、その時に、ADDパイプ側のレジスタポートを1つ使う。256-bit SIMD命令を実行する場合は2パイプを使う。x86/x64系のSIMD命令は、SSE/AVX1/AVX2とレガシのMMXも網羅する。 ZenのFP SIMDユニットは、Intelの現在のアーキテクチャと比べると、スループットは半分となる。しかし、AMDは強力なGPUコアを汎用コンピューティングで使うことができる。浮動小数点系のスケジューラのキューは2段階となっている。 今回のZenアーキテクチャは、4CPUコアで1個の「CPU COMPLEX」を構成している。L3キャッシュも含めた4CPUコア単位のコンプレックスで、8コア構成の場合はコンプレックスを2個にする。L3は各CPUコアに付属する4スライスに分かれているが、平均アクセスレイテンシは同じ。 キャッシュ階層は3段階+opキャッシュ。L1命令キャッシュが64KB 4-way、L1データキャッシュが32KB 8-way、L2は512KB 16-wayと相対的に小さい。4コアで共有するL3キャッシュは8MB 16-wayで、従来はL3がシングルポートであったのに対して、Zenでは各CPUコア毎に32-byteのリードとライトが可能なポートが設けられている。Zenでもヴィクティムキャッシュ方式を取る。 ZenのSMT(Simultaneous Multithreading)は2スレッドの並列実行で、実行パイプやキャッシュはスレッド間で完全に共有される。整数パイプがスレッド毎に分かれていた、従来のAMD Bulldozer系アーキテクチャとは異なる。Micro-opキューとリタイヤキュー、ストアキューはスレッド毎に分離されている。レジスタは物理レジスタのプールを両スレッドに動的に割り当てる。

NVIDIA GPUとのコヒーレントな接続が可能なPower9 IBMは、巨大サーバーCPUの頂点であるPowerファミリーの最新CPU「Power9」を発表した。2013年のHot Chipsで発表した「Power 8」以来、3年振りとなる。投入は来年(2017年)。 14nm FinFETプロセスで製造され、17層と異例なスタック数の配線階層のプロセスを使う。トランジスタ数は80億。120MBと膨大なeDRAMキャッシュを搭載し、オンチップのキャッシュ階層の帯域は合計で7TB/sとなる。 CPUコアのマイクロアーキテクチャを刷新、命令セットもPower ISA v3.0となった。CPUコアはスケーラブルなモジュラー設計となっており、4スレッドSMT(Simultaneous Multithreading)の「SMT4 Core」と、8スレッドSMTの「SMT8 Core」の両方のコンフィギュレーションが提供される。SMT4の場合は24コア/ダイ、SMT8の場合は12コアとなる。さらに、DDR4を8chダイレクトアタッチするか、メモリバッファを使うかのコンフィギュレーションの違いがある。 IBMは、Power 8でコプロセッサを接続する専用ポートを実装した。Power9では発展させた25GHz転送レートのBlueLinkを備える。BlueLink PHYは、NVIDIAの次世代チップ間インターコネクト「NVLink 2.0」をサポートし、NVIDIA GPUコアをメモリコヒーレンシを保って接続できるようになる。CPUを強化するだけでなく、ヘテロジニアスコンピューティングへも手を伸ばしている。