特別企画

AMD、サーバー向け新アーキテクチャCPU「EPYC」を発表

後藤弘茂氏による詳細レポート

ダイ同士を低レイテンシに接続するEPYCアーキテクチャ

 EPYCアーキテクチャでは、複数のCPUダイをCPUパッケージ上で接続している。そのため、ダイ間の接続がアーキテクチャ上重要となる。AMDはそのために、専用の高速I/Oを実装した。

 EPYCは、ダイの中、パッケージ上、パッケージ間のすべての接続に、新しいインターコネクト「Infinity Fabric」を使っている。Infinity Fabricでは、上位のプロトコル層に、AMDがOpteronサーバーCPUで採用していたインターコネクト「Coherent HyperTransport」を拡張したプロトコルを使っている。しかし、下位の物理実装は、各層に合わせたものとなっている。

AMDの新しいインターコネクトInfinity Fabric
EPYCの接続形態

 AMDは各ダイに、パッケージ上で接続するために高速リンクを3リンク実装した。パッケージ上では配線距離が短く基板の制御ができるため、配線間の干渉やクロックスキューを抑えることができる。そのため、パッケージ上の高速リンクは、シンプルなシングルエンデッド信号でクロックフォワーディングのインターコネクトを使っている。技術上の利点は、ダイの間の接続の遅延を最小にできる点と、消費電力を抑えられる点。消費エナジーは2pj/bitと極めて低くなっている。

ダイ同士を低レイテンシに結ぶ

 各ダイは、高速リンクにより、ほかの3つのダイと接続されている。通信帯域は各リンクが双方向で42.6GB/secで、インターフェイス幅は片方向32-bitずつ。転送レートは5.33Gtps。ダイ間のリンクの帯域は、ちょうどDDR4のデュアルチャネルのメモリ帯域と一致している。CPUコアはほかのCPUコアに接続されているDDR4メモリからのデータを、一貫した帯域で読み出すことができる。レイテンシが最小になるように設計されたアーキテクチャだ。

EPYCでのほかのダイに接続されたメモリアクセスの経路

高速なシリアルリンクでEPYCソケット間をつなぐ

 2プロセッサ構成の場合、CPUパッケージ間を接続する必要がある。AMDはここにもInfinity Fabricプロトコルを使っているが、物理的な実装は大きく異なる。EPYCは1P時には128レーンのPCI Express gen3をサポートする。2プロセッサ時には、このうちの半分をプロセッサ同士の接続に使う。EPYCの高速シリアルインターフェイスのPHYは、ユニバーサル設計となっており、PCI Expressだけでなく、ほかの用途に使うことができる。

 プロセッサ同士の接続は、ディファレンシャル信号のエンベデッドクロック方式の接続となっている。各ダイにつき16レーンをソケット間接続のリンクに使い、転送レートは9.45Gtps。各リンク当たりの転送帯域は38GB/secで、プロセッサ全体では4リンクで合計152GB/secの帯域となる。こちらは、マザーボード上で信号品質を保ちやすいディファレンシャル信号で、クロックも埋め込むため、遅延と消費電力が相対的に大きい。9pj/bitのエナジーとなっている。

EPYCのパッケージ間接続
EPYC全体のインターフェイス構成