Core i7 8086KとRyzenのベンチマーク性能比較 AMD Ryzen 7 2700XからThreadripperまで横断的に評価

2018年6月8日に発売されたCore i7 8086Kは1コアあたりの性能の高さを最優先するコンセプトを採用したCPUです。

このようなCPUはPUBGのようなゲームに親和的です。PUBGではコア数が増えてもフレームレートが伸びません。PUBGでは1コアで多数のオブジェクトを短時間で切替えて処理しているからです。そのためPUBGをプレイするプロゲーマーはIntel CoreのPCを採用し、AMD Ryzenを採用しない傾向にあります。

Intel CoreとRyzenの対立軸は、シングルスレッドの処理能力を高めるか、マルチスレッドの処理能力を高めるかといった部分に集約されます。

実はこのような対立軸はコンピュータサイエンス分野で多数ある論点の一つです。

OSのカーネルをモノリシックカーネルにするかマイクロカーネルにするか、集中システムにするか分散システムにするか、プロセッサの命令セットをCISCにするかRISCにするかといった論争は有名です。

1コアあたりの性能を重視するのがIntel Coreであり、コア数の多さを重視するのがAMD Ryzenです。

そして1コアあたりの性能の高さを優先するIntel Coreプロセッサの中でも、Core i7 8086Kは1コアあたりの性能の高さを向上させることを最優先したCPUです。

1コアあたりの性能を重視する急先鋒となるCPU:Core i7 8086K

Intelは以前からシングルコアの性能向上を重視してきましたが、2004年にマルチコア化していくことを宣言しました(Hennessy&Patterson,Computer Architecture第5版日本語訳P4 )。シングルコアあたりの性能向上のみでは、年率22%程度の性能向上達成が難しくなったためです。Intel以外の他のメーカーは既に諦めてIntelよりも早くマルチコアに頼っていました。

しかしその後もIntelはコア数を増やすと同時にシングルコアの性能向上を捨てずに重視してきたので、現在も1コアあたりの性能が高く維持されています。

逆にAMDは1コアあたりの性能を重視せずコア数の多さを重視する傾向がRyzenプロセッサ登場以前からありました。並列処理可能なスレッドが多数走る用途に特化しているのがAMDのプロセッサです。Intelと同じように1コアあたりの性能の高さで勝負してはAMDはIntelに勝てません。そこで多コア化してマルチスレッド並列処理に特化することはAMDのマーケティング戦略として当然とも言えます。

以下の図はNo Free Lunch定理を図式化したものですが、1コアあたりの性能が高いIntel Coreプロセッサはシングルスレッドのアプリケーションでもマルチスレッドのアプリケーションでも対応できる「汎用」的なCPUに該当します。一方でRyzenのようにマルチスレッドのアプリケーションに特化したようなプロセッサは「特殊用途」のCPUです。

以上の図のうち赤い線に該当するのがRyzenプロセッサであり、スレッドレベル並列性が高いアプリケーションでは極めて高い性能を発揮できますが、それと引き換えに他の用途ではRyzenプロセッサでは性能が低くなります。他の用途とは例えば並列性が少ないシングルスレッドのアプリケーションであり、PUBGのようなゲームだったりWord等の文書処理はそれに該当します。

重要なことはIntel Coreプロセッサのように1コアあたりの性能が高ければシングルスレッドのアプリケーションでもマルチスレッドのアプリケーションでも両方とも対応できるということです。一方で、Ryzenのように1コアあたりの性能が低くコア数が多いプロセッサはマルチスレッド(スレッドレベル並列性が高い)アプリケーションでしか性能を発揮できません。

どのような用途でも対応できるようにするならCore i7 8086Kのように1コアあたりの性能を徹底的に高くしたCPUが最適です。

Core i7 8086Kと第2世代Ryzenプロセッサの比較

2018年4月19日に発売された第2世代Ryzenプロセッサとベンチマークで性能比較します。第2世代Ryzenは2017年の第1世代からコア数が増えておらず、動作周波数が向上したものであり、多コア化戦略を取りながらもIntel Coreとの差を埋め合わせるために動作周波数を高めて「Ryzenは1コアあたりの性能が低い」と言われる弱点を克服しようとした位置づけです。

・Core i7 8086K vs. Ryzen 7 2700X

Ryzen 7 2700Xは2018年4月19日に発売されたRyzenプロセッサの中では最高峰のフラッグシップモデルです。コア数が8コアでありコア数ではRyzen 7 2700XのほうがCore i7 8086Kより2コア多いですが、動作周波数ではCore i7 8086Kのほうが高くなっています。

このように+14%という大差でCore i7 8086Kのほうが高性能です。しかしCore i7 8086Kは価格が高価なため、価格の安さを優先するならRyzen 7 2700XかCore i7 8700Kがいいでしょう。

・Core i7 8086K vs. Ryzen 5 2600X

次はCore i7 8086Kと同じ6コアを搭載した第2世代Ryzenプロセッサ、Ryzen 5 2600Xと比較してみます。Ryzen 5 2600Xの基本動作周波数は3.6GHzであり、Core i7 8086Kの4.0GHzよりも+11%高いです。コア数が同じであるため、演算回路の技術水準が同じならCore i7 8086Kが+11%高い性能という結果に落ち着くはずです。しかし実際は+22%も差が付きます。

これはCore i7 8086Kのスーパースカラとアウトオブオーダー実行による命令レベル並列性の性能が高く、さらにデータレベル並列処理の性能が高いという技術的差異によって現れる性能差です。本来なら+11%の差で落ち着くはずの性能差を+22%まで高めることができているのはIntel Coreプロセッサのマイクロアーキテクチャが優秀なためです。

Core i7 8086Kと第1世代Ryzen Threadripperプロセッサの比較

CPUの汎用コアと同じチップに統合されているオンボードグラフィクス(iGPU:Integrated GPU)を搭載していないIntel Core-Xプロセッサのカウンターパートを想定して2017年8月に投入された第1世代Ryzen Threadripperと、Intel Core i7 8086Kをベンチマーク性能比較してみます。

・Core i7 8086K vs. Ryzen Threadripper 1950X

x86アーキテクチャ投入から40週年記念としてIntelはCore i7 8086Kをリリースしました。そして同時に2018年6月8日~6月9日までの受付でCore i7 8086Kの無償プレゼント企画が実施されていました。

そしてその当選者に対してAMDが先着40名にRyzen Threadripper 1950Xを無償でプレゼントするイベントを実施しました。Ryzen Threadripper 1950Xは2017年8月発売のCPUなので型落ち品であり、既に製造したものの小売店に仕入れてもらえなかった分の製造原価を回収するためのものでもありました。

Ryzen Threadripper 1950Xは1年経過しても小売価格が10万円ほどしており、Core i7 8086Kの約2倍です。この価格差だけみるとRyzen Threadripper 1950Xのほうがお得に見えますが、小売価格はThreadripperを2017年当時生産したときの製造原価や当時小売店が仕入れた簿価を元にして設定されているため、小売価格を下げるにもなかなか下げられず10万円程度の価格になってしまっています。つまり1年前の製品は価格が高くても性能は高くありません。

コア数には3倍近い開きがあるものの、以下のようにベンチマーク性能比較ではCore i7 8086Kの性能が高くなっています。

+5%も6コアのCore i7 8086Kが、16コアのRyzen Threadripper 1950Xに勝利しています。これは無駄にコア数が多くてもそれを使い切れる実際的なアプリケーションが身近に多くないからです。

8086Kのように1コアあたりの性能を高めれば、動画エンコードのようなスレッドレベル並列性が高いアプリケーションにも対応できますし、ほぼ並列性のないPUBGのようなゲームでも対応できることになります。

・Core i7 8086K vs. Ryzen Threadripper 1920X

次は12コア24スレッドのRyzen Threadripper 1920Xと比較してみます。Ryzen Threadripper 1920Xの動作周波数はCore i7 8086Kのマイナス12.5%である一方、Core i7 8086Kの2倍のコア数を持っているため、総合するとRyzen Threadripper 1920XはCore i7 8086Kの1.75倍の性能を叩き出してもおかしくありません。

しかし結果は逆にCore i7 8086Kが+13%も勝利となりました。コア数が多くても実際の用途における実効的な性能(effective performance)が出るとは限らないということです。実際の用途においては12コアも使い切れるアプリケーションはほとんどありません。

・Core i7 8086K vs. Ryzen Threadripper 1900X

Ryzen Threadripper 1900Xは2017年8月~9月に発売された第一世代Ryzen Threadripperの中では最も下位のモデルです。Ryzen Threadripper 1900XはRyzen 7 1800Xと同じ8コアです。違いはRyzen ThreadripperはPCI Expressのレーン数が多いことと、メモリとのバス接続が4チャネル確保されていることです。あと基本動作周波数がRyzen Threadripper 1900Xは3.8GHz、Ryzen 7 1800Xが3.6GHzという差があります。

Core i7 8086Kは6コアで4.0GHzの基本動作周波数、Ryzen Threadripper 1900Xは8コアで3.8GHzの基本動作周波数なので互角な性能になりそうですが実際は大きな差がつきます。

+18%もCore i7 8086Kが勝利しています。発売日に約9ヶ月の差がありますが、コア数がCore i7 8086Kのほうが少ないにもかかわらずこれだけの性能差がつくことになりました。

Core i7 8086Kと第1世代Ryzenプロセッサの比較

第1世代Ryzenプロセッサではグレード8に位置するRyzen 7 1800Xが存在していましたが、第2世代RyzenプロセッサではRyzen 7 2800Xが発売されていません。

もしRyzen 7 2800Xが発売されればCore i7 8086Kはそのカウンターパートとして比較対象になりえますが、現状発売されていないため1世代前のRyzenシリーズとも比較してみます。

・Core i7 8086K vs. Ryzen 7 1800X

Ryzen 7 1800XはCore i7 8086Kよりも2コア多いものの、動作周波数が0.4GHz低い3.6GHzになっています。動作周波数だけみるとCore i7 8086Kのほうが+11%高速になりますが、コア数はRyzen 7 1800Xのほうが多いため、総合的には互角の性能になるはずです。

・Core i7 8086K vs. Ryzen 7 1700X

・Core i7 8086K vs. Ryzen 5 1600X