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プロセッサのマイクロアーキテクチャが優秀なためです。