後藤弘茂のWeekly海外ニュース
Intel史上もっともパワフルなデスクトップCPU「Core i9-7900」シリーズ
2017年5月31日 13:11
最大18コア36スレッドの最大級のデスクトップCPU
最上位の「Core i9-7980XE」は、18コア/36スレッドとなる。IntelのデスクトップCPUとしては、過去最大のCPUコア数だ。
Intelは、台湾で開催されている「COMPUTEX TAIPEI 2017」の基調講演で、Core i9のベールを剥いだ。Core i9-7900系は、18コアまでのCPUコアバリエーションで提供され、メモリチャネルは4チャネルでDDR4-2666をサポート、PCI Express(PCIe) 3.0はオンダイで32レーン、プラットフォームで44レーン。ソケットはLGA2066となり、TDP(Thermal Design Power: 熱設計消費電力)は140Wレンジとされている。対応チップセットはIntel X299となる。
半導体チップとして見た場合、Core i9-7900系は別段意外なCPUではない。単純にXeon系サーバー向けCPUを、デスクトップ市場に持ってきたに過ぎないからだ。
IntelのサーバーCPUは、通常、3種類のダイ(半導体本体)バリエーションがある。Broadwell-Eファミリなら最上位ダイが24コア、中位ダイが15コア、下位のダイが10コアだった。今回のCore i9は、その次のSkylake世代の中位サーバーCPUダイとなる。
Xeonサーバー向けの中位のダイ(半導体本体)を転用
Intelはこれまでサーバー向けの下位のCPUダイは、HEDT(ハイエンドデスクトップ)に投入して来た。しかし、中位から上のCPUダイはHEDTに持ってこなかった。18コアまでの中位のダイをコンシューマデスクトップに向けて出すのは、今回が初めてとなる。
なぜ、これまでIntelはサーバー向けの多コアCPUをHEDTに投入しなかったのか。それは、経済的ではないからだ。10数コアのスレッド並列性を活かすことができるワークロードはサーバーなら豊富にあるが、デスクトップワークロードにはほとんどない。技術的に見るなら、10数コアを必要とするスレッド並列性を求めるデスクトップユーザーはごく少数だ。小さな市場に向けて少数しか売れないCPUを出しても、製品化や検証、マーケティングなどのコストに見合わないことになる。
では、なぜ今Intelは18コアダイをHEDTに向けて製品化するのか。言うまでもなく、AMDが16コアの「ThreadRipper」を投入するからだ。
AMDも、ThreadRipperで儲けるつもりはない。HEDTのパフォーマンスクラウンを取り、AMDの優位性を世間に印象づけることが最大の目的だ。それなら、Intelもダイはあるから対抗するというのが、今回の流れだ。
【お詫びと訂正】初出時に、ThreadRipperのコア数を間違って掲載しておりました。お詫びして訂正させていただきます。
Core i9もRyzen ThreadRipperも、ターゲットとするのは超プレミアム市場。ハイエンドゲーミング、オーバークロック、ハイエンドのコンテンツ制作。市場の規模としては極めて小さいが、話題性があるセグメントだ。
影響力のあるこの市場のユーザーに対して、最大コア数のHEDTを出すことにより、高性能の宣伝効果を狙う。オーバークロックコミュニティやゲーミングPCでのトップランナーになれるなら、製品化コストに見合う広報活動とも考えられる。
キャッシュアーキテクチャが大きく変わった
IntelのCPU開発のパターンは、クライアントのデスクトップ/ノートPC向けに新CPUコアのダイを開発。そのコアをベースとして、若干のマイクロアーキテクチャ拡張や物理設計拡張、プロセス最適化を加えた、大型ダイの多コアサーバーCPUを約1年後に投入する。だから、SkylakeベースのサーバーCPUは、このタイミングとなり、サーバーCPUダイベースのHEDT Core i9の投入が可能となる。
今回のCore i9-7900のベースとなるダイはSkylake-X。アーキテクチャ的に見ると、CPUコア自体はSkylake世代で、プロセスは14nmノード世代と、PCクライアントと基本は並ぶ。だが、Skylake-Xでは、キャッシュ階層が大きく変更されている。
最大の違いは、LLC(Last Level Cache)がCPUコア内のキャッシュに対してインクルーシブではなくなった点。従来は、LLキャッシュはL2キャッシュに対してインクルーシブ(inclusive: 包括的)だったが、Skylake-Xではノンインクルーシブ(non-inclusive: 非包括的)とされている。
従来のIntel CPUのキャッシングの哲学は、CPUコア内部のキャッシュは小容量で、コア外の共有キャッシュを大容量としてインクルーシブ制御するというものだった。インクルーシブキャッシュの場合は、L2キャッシュ(IntelはMLCとも呼ぶ)以下のコア側のキャッシュの内容はLLキャッシュに含まれる。そのため、キャッシュスヌープ(メモリ内容がキャッシュされているかどうかをチェックする)ときにはLLキャッシュをスヌープすればよいため、スヌープの作業を軽減できる。
しかしその反面、インクルーシブキャッシュでは、複数のキャッシュ階層にキャッシュエントリが重複してしまうという無駄が生じる。そのため、LLキャッシュに対してL2キャッシュが大きいと、LLキャッシュの多くが無駄になってしまう。逆を言えば、無駄が増えるため、L2キャッシュを大きくすることが難しくなる。
Intelは、Skylake-Xではノンインクリーシブキャッシュを採用したことで、L2キャッシュを増量、LLキャッシュの量を減らした。
従来はL2が256KBに対してLLCがコア毎に2.5MBで、LLCのうち6分の1の256KB分が、重複した内容だったことになる。それが、Skylake-Xでは、L2が1MBへと4倍に増え、LLCがコア当たり1.375MBへと減った。L2とLLCがフルにノンインクルーシブだった場合、L2とLLCの内容は重複しないため、合計でコアあたり2.375MBとなる。従来のコアあたり2.5MBと遜色ないキャッシュ量となる。
ただし、フルにノンインクルーシブキャッシュだった場合は、キャッシュスヌープで各コアのL2キャッシュもスヌープしなければならなくなる。スヌープ作業が増えてしまう。そのため、スヌープをフィルタするなんらかのメカニズムを組み込んだ可能性がある。ちなみに、AMDのZENアーキテクチャはノンインクルーシブキャッシュで、スヌープを低減する仕組みを持っている。
キャッシュ階層が変わったことで、Skylake-Xでは、低レイテンシのL2キャッシュの容量が増えた。これは意図したものかわからないが、原則的にはデスクトップ系のアプリケーションで利点がある。より近いキャッシュでヒットする可能性が増えたことで、原則的にはスレッドの応答性が高くなるからだ。スレッド並列で隠蔽がしにくい場合が多いワークロードで効果が大きくなる。これはデスクトップ系で有利となる。
また、自動的にCPUコアの動作周波数を引き上げる「Intel Turbo Boost Technology」を拡張して、「Intel Turbo Boost Max Technology 3.0」とした。コア数の多い製品なら、ダイ面積が広いため、少数のコアの動作周波数をブーストアップしてもサーマルに余裕ができる。これでシングルスレッド性能を引き上げる。
大型シングルダイでマルチダイのThreadRipperに対抗
Intelは、今回のSkylake-X 18コアのダイ(半導体本体)写真も公開した。CPUコアが対称にペアで並んでいる。一見、20コアのように見えるが、コアと同じスペース2つに、非コアのモジュールが組み込まれている。物理的には18コアで、最大18コア製品までが可能ということになる。HEDT向けでは、このうち16個までを使うと見られる。
ダイの1辺はI/O、2辺がメモリパッドと見られるモジュールに使われている。Skylake-Xのダイをパッと見てわかるのは、LLキャッシュの面積が小さくなっていることで、コアのレイアウトもPC向けと若干異なるように見える。Core i9-7900シリーズでのコア数のバリエーションは、ダイ上のCPUコア数を無効化することで実現すると見られる。
ダイサイズはまだ計算できていないが、Broadwellとの比較で考えれば400平方mm程度のサイズが想定される。現在はプロセスドウェハのコストが上がっているため、以前と比べるとダイ面積当たりのコストが高い。そのためSkylake-Xのコストはやや高めだが、最高1,999ドルの価格レンジは十分に高利幅で、埋め合わせができる。もっとも、製品化にあたっての検証など、さまざまな投資を考えると話は別だ。
これを対抗するAMDのThreadripperと比較してみる。
AMDは現時点で、ZENベースのダイを1種類しか持っていない。8コアCPUの「Summit Ridge」のダイだ。ThreadRipperは、Summit Ridgeダイを2個連結して使うと見られている。AMDはオンチップとオフチップの共通インターコネクトとして「Infinity Fabric」を導入しており、ThreadRipperは、高速シリアルインターコネクトをInfinity Fabricプロトコルを使って連結していると見られる。
IntelのSkylake-Xは、1ダイソリューションで400平方mm前後と推定される。対するAMDのThreadRipperは2ダイで、各ダイが212.97平方mm。2ダイのほうがダイあたりの歩留まりは大幅に上がる。ただし、どちらもCPUコア部分は不良があっても、CPUコア数の少ないバリエーションとして製品化できる。
もう少しブレイクダウンして、ZENとPC版SkylakeのCPUコアを比較すると、下の図のようになる。AMDの4コアのCPUコンプレックスに合わせて、Intel側も4コアのクラスタを比較している。
パッと見てわかるとおり、CPUコア自体はZENのほうがSkylakeより大分小さい。製造プロセスノードはどちらも14nmだが、Intelのほうがトランジスタが微細だ。キャッシュSRAMを比較すると、Intelのほうが大分小さいことがわかる。つまり、トランジスタサイズが小さいにも関わらず、IntelのほうがCPUコアが大きい。ZENのほうがコンパクトなコアということになる。