特別企画

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

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

ZEN CPUコアをベースとするEPYC

 EPYCのCPUコアは、新設計の「ZEN(ゼン)」コアだ。これは、AMDが投入した新しいデスクトップCPU「Ryzen」シリーズに使われているコアと同じだ。

 AMDのCPUは、前世代まではシングルスレッド性能が低いBulldozer(ブルドーザ)系列のCPUコアだった。しかし、ZENではシングルスレッド性能が高く、2スレッドを1個のCPUコアで走らせるSMT(Simultaneous Multithreading)技術によって、マルチスレッド性能も高くなっている。

 技術的には、IntelのCPUコアと共通する部分も多い。しかし、IntelのCPUコアよりも小さくコンパクトに作られており、電力効率も高い。

ZENのCPUコア
ZENのマイクロアーキテクチャ
IntelのCPUコアとAMDのZEN CPUコアのアーキテクチャ比較

AMDのEPYCとIntelのXeon Scalableの違い

 EPYCはZEN CPUコアをベースとしているが、サーバー向けに最適化されている。EPYCのアーキテクチャ上の最大の特徴は、複数のダイ(半導体本体)を1パッケージに統合していることだ。ダイは半導体チップで、通常のCPUは1個のダイで構成される。しかし、EPYCの場合は、4個のダイで1個のCPUとなっている。

4個のダイをオンパッケージで統合したEPYC

 具体的には、8個のCPU、2個のDRAMコントローラ、32レーンのPCI Expressを搭載したダイを4個配置し、それぞれ相互接続している。ダイ自体は、PC向けの8CPUの「Ryzen」と同じものだ。ダイ同士をサーバー向けに最適化して接続し、サーバー向けの機能をイネーブルにすることで、EPYCに仕立てている。

 それに対して、IntelのXeon系CPUは、いずれも1個のダイで構成されている。Xeon Scalableは最大28コアだが、28個のCPUコアが1個のダイの上に載っている。6チャネルのDRAMインターフェイスや48レーンのPCI Expressも同じダイに載っている。

AMDのEPYCとIntelのXeon Scalableの設計思想の違い
EPYCに使われている8コアのダイ(半導体本体)

 IntelとAMDのアーキテクチャには、それぞれ利点と難点がある。AMDのアプローチでは、CPUコア数やDRAMチャネル数、I/O数を増やすことが設計的に容易になる。実際、EPYCの方が、CPUコア、DRAMチャネル、PCI Expressのいずれも上回っている。また、1個のダイは相対的に小さいため、製造がしやすい。さらに、デスクトップとサーバーで同じダイを使っているように、異なる製品を派生させやすく、ダイを設計製造するコストを抑えられる。

 それに対して、Intelのアプローチでは、CPUコアとDRAMチャネル、I/Oがすべて同じダイの上に載っているため、アクセスのレイテンシが小さい。キャッシュもすべて同じダイに載っており共有できる。AMDでは、異なるダイのキャッシュやDRAMメモリにアクセスする場合にある程度のレイテンシがある。ただし、EPYCではレイテンシを短縮するための技術的な最適化は行っている。

1種類のダイから製品を派生させているAMD
EPYCのアーキテクチャ上の利点