IntelがSkylakeへの移行を急いだポイントとは

さて、それではここからはIntelのCPUについて説明したい。すでにレビューした通り、2015年6月にはBroadwell-Hが、8月5日にはSkylakeも発表された。これでハイエンドは14nm世代に切り替わった。続いて10月にはCore i3とPentiumが発売された。

Celeronはまだ市場には出ていないが、すでにCeleron G3900がark.intel.comに登録されており、入手可能性はともかくとして一応上から下までSkylake世代で揃った形になる。

2016年の話をする前に、そもそもBroadwellとSkylakeはおなじ14nmプロセスを使っているが、どこが違うのか? という話を簡単にしておきたい。もちろん違いはいろいろあるのだが、「なぜIntelはBroadwellを早々に廃してSkylakeへの移行を急いだのか」という問いに関して一応筆者なりの結論が出た。

以前に行った解析レポートの中で、L3以降に対するSkylakeのLatencyが妙に低いという話をしたと思う。これに関して、一番可能性が高く、かつもろもろの整合性が取れる理由として「動作周波数を引き上げるため、パイプライン段数を増やした」ことが考えられる。

では、なぜパイプライン段数を増やすのかといえば簡単な話で、14nmプロセスがSoC向けになってしまったので、パイプライン構造が同じだと動作周波数はむしろ落ちてしまうからだ。これはHaswellとBroadwellを比較すれば明確で、説明の必要すらない。

ところが動作周波数が落ちると当たり前だが性能も落ちる。14nmを使いながら、22nm以上とは言わないものの同等まで動作周波数を上げるためにはどうするか? といえば、パイプライン一段あたりのFO4(Fan-out 4)の時間を短くすれば良い。

処理に時間が掛かるパイプラインを細分化して別のステージに分ければ、(Latencyは増えるが)速度そのものはあがる。しかも副次的効果として、CPUパイプラインの外にあるキャッシュ(この場合だったらL3)に対して、Latencyが減らせる可能性がある。

これはどういうことかというと、パイプラインがあるデータをアクセスしようとして、それが手元に無い場合、L1/L2/L3の順に検索し、見つかったところでそれを取り込むリクエストを出すことになるのだが、L1はともかくL3にまでなると、リクエストを出してからそれが(L2/L1経由で)Register Fileに書き込まれるまでのLatencyが大きい。その間命令はIn-flightのままSchedulerで待っている形になる。

ところが、ここで「リクエストを出す」→「Register Fileに書き込まれるのを待つ」処理の間のパイプライン段数が増えると、Register Fileに書き込まれたかどうかの判断をするまでの時間が何サイクルか余分に掛かる。

例えば物理的には、L3 accessに20cycleかかるところ、リクエスト→Register Fileの書き込み判定に5cycleを要するなら、見かけ上は15cycleのLatencyとなるが、パイプライン段数が増えて8cycleになったとすると、見かけ上のLatencyは12cycleに減ることになる。SandraなどでL3のLatencyが減ったと測定された主要因はこちらではないかと思う。

一方、パイプラインが増えたことによるデメリットは、単純に消費電力の増加である。グラフ1は、ark.intel.comに2015年12月現在で登録されているすべてのBroadwellコアとSkylakeコアを、横軸に動作周波数(Base Frequency)、縦軸にTDPをコア数で割ったものをプロットしたものだ。

グラフ1:BroadwellコアとSkylakeコアの動作周波数と消費電力

青がSkylake、赤がBroadwellである。破線は2次の多項式で近似曲線を描いたものだが、確かにSkylakeの方がBroadwellよりも若干動作周波数は伸びるものの、同じ動作周波数だとSKylakeの方がややTDPが増えていることが分かる。

2016年のロードマップ - Broadwell-EP/EXは2016年半ばまでに

さて、以上を念頭に置いた上で2016年のロードマップである。まずDesktop/Mobileであるが、こちらは2016年中に10nmプロセスの製品は望むらくもない。もっともIntel自身これを理解しており、当面はSkylakeの安定供給に全力を注ぐ。特にGT3/GT4を搭載するMobile向けの安定供給が2016年前半の同社の主な課題となる。

これに続き、恐らく6~7月ごろに"Skylake Refresh"である"Kabylake"をリリースする。そもそもSkylake世代でも消費電力にゆとりがないので、1bin~2bin程度の動作周波数アップにとどまりそうである。実のところ、これ以外にはほとんど弾が無いのが実情である。

これとちょっと動向が異なるのはサーバー向けである。Processの所でBroadwell-EP/EXの話に触れたが、これは動作周波数/消費電力枠と関係してくる。元々の計画は、普通にHaswell-EP/EXの後継でBroadwell-EP/EXを導入、この後にSkylake-EP/EXをという話であった。話が崩れたのはBroadwellが遅れたためだ。もちろんこれはBroadwellというよりは14nmプロセスそのもののが遅れてしまったのだが。

さて、Desktop/Mobile向けにはSkylakeが投入されているわけで、サーバ向けではBroadwell世代をSkipしてSkylakeに直接ジャンプしても構わないのでは? という議論は当然でてくる。なぜBroadwell-EP/EXをリリースするかというと、Skylakeコアだと確かに動作周波数はHaswell並みにあがるものの、その分コアの消費電力が増えてしまうためだ。

現在のXeonの場合、例えばXeon E5 v3で言うと、売れ筋は動作周波数の高いXeon E5-4655 v3(6 core/TDP 135W)やXeon Processor E5-2687W v3(10 core/160W)ではなく、むしろコア数が多くてそこそこのTDPのE5-4650 v3(12 core/105W)とかE5-2695 v3(14core/120W)の製品である。

ここから考えると、動作周波数はむしろ控えめにしてコア数を増やす方向の方がユーザーにとっては好ましく、この観点ではSkylakeコアよりもBroadwellコアの方が適していると判断されたようだ。

最終的にSkylakeベースのXeon E5/E7は2017年以降の新しいPurley Platformで登場することになり、それまでの繋ぎとしてBroadwell-EP/EXがリリースされる。BBroadwell-EP/EXは既存のHaswell-EP/EXと互換のプラットフォームとなるので、BIOS Updateのみで利用可能になる。サーバー向けの場合、煩雑にプラットフォームが変わることをエンドユーザーは好まないので、この観点からもBroadwell-EP/EXの投入は歓迎されるだろう。

ちなみにBroadwell-EPベースのXeon E5 v4は2016年の第1四半期中、Broadwell-EXベースのXeon E7 v4は一応2016年前半(6月くらい?)に登場しそうだ。これにあわせ、Broadwell-EPを流用したCore i7のExtreme Edition(Core i7-6960X?)がやはり3月くらいまでには投入されると予想している。

動作周波数は既存モデルと同じ程度(3.5GHz程度)で、コア数も8つに抑えられそうだ。ただしBroadwell-EPでは、DDR4-2400もしくはDDR4-2666がサポートされると見られ、ここが既存のCore i7-5960との差になるだろう。

Purely Platformに関しては現状まだはっきりしたことが見えていない。恐らくQPIでプロセッサ間を接続といった基本的な部分は大きくは変わらない(Link速度が更に向上するかもしれない)が、OmniPath InterconnectへのNative Support(チップセットにOmniPath InterconnectのI/Fが入るの意味か?)とか、1P~8Pでスケーラブルにマイグレーションできるといった特徴のみが伝わってきているのみである。このあたりはもう少し細かいことが分かったらまたレポートしたい。