後藤弘茂のWeekly海外ニュース
Intelの「Kaby Lake」は“+”プロセス世代初のCPU
2016年9月2日 06:00
プロセス技術が14+に、メディア処理が固定機能ユニットに
Intelの新CPU「第7世代Coreプロセッサ(Kaby Lake)」には重要なポイントが2つある。1つは、セカンドバージョンの14nmプロセス“14+”で製造されている点、もう1つは、固定機能ユニットを強化した点。どちらも、現在のプロセス技術の状況を反映している。
Kaby Lakeは、従来のIntelメインストリームCPU「Skylake(スカイレイク)」の後継となるCPUだ。Skylakeと同じ14nmプロセスで製造され、まず薄型ノートPC向け製品が登場し、その後、デスクトップ、大型ノートPCへとラインナップが広げられる。Intelの14nm CPUは、「Broadwell(ブロードウェル)」→Skylake→Kaby Lakeと3世代続くことになる。Intelの14nmプロセスの立ち上げのもたつきから、10nmの「Cannonlake(キャノンレイク)」への移行が遅れたことで、Kaby Lakeが中継ぎで投入されたという経緯がある。
Intelは、Kaby Lakeの説明の中で、同CPUが14+プロセスで製造されていることを強調している。IntelはIntel Developer Forum(IDF)のプロセス技術ロードマップの説明で、「14+」について説明を行なっている。14+は、14nmプロセスの性能拡張版の派生プロセスだという。Intelは、今後は、各プロセス世代毎に、こうした派生版を提供して行く予定で、Kaby Lakeがその最初の例となる。
フィン構造や配線層を変更した14+プロセス
Intelによると、14+プロセスでは、フィンのプロファイルの変更にフォーカス、加えてインターコネクトも改良したという。14nmプロセスは、3DトランジスタのFinFETプロセスだ。FinFETプロセスでは、トランジスタの「ソース-ゲート-ドレイン」がフィン(ひれ)のように立っている。このフィンの構造などを14+では変更したという。
具体的には、フィンをより高くし、ゲートピッチを広げたとIntelは説明する。フィンを高くすると、ゲート面積が広くなるため、トランジスタの駆動能力が上がる。ゲート/コンタクトピッチを広くとると、トランジスタの構造に余裕が生まれ、パフォーマンスの改良がしやすくなる。
Intelはトランジスタ層だけでなく、14+で配線層にも改良を加えている。チップ内の配線を高速化するために、配線ピッチと配線のアスペクト比も変更したという。現在のロジックチップでは、配線遅延も大きな比重を占めるようになっており、配線の改良も回路の高速化に寄与する。Intelによると、こうした14+でのプロセスの改良によって12%性能が向上したという。
もっとも、Intelは以前から同一プロセスノードで改良を加えており、従来の整数で示すプロセスバージョン名の下に、Intel社内的には小数点のサブバージョン番号が加えられていた。その意味では、プロセスの改良は毎プロセスノード行なわれて来ており、今回が初めてというわけではない。では、14+で何か変わったのか。
まず、Intelがプロセスの改良を、明確に対外的に示した点がこれまでと異なる。14nmプロセスの立ち上げのつまづきが大きかったため、Intelは「現在の14nmは改良したので大丈夫」と示す必要があったと推測される。また、+がついたことは、今回の改良が、相対的に大きな改良だった可能性も示唆している。Intelは7nm以降では、エマージングテクノロジ(EUVなどと推測される)を+世代で加えて行くことも示唆しており、そうなるとデリバティブの違いはより大きくなる。
さらに14+は、Intelのアプローチが、シリコンファウンドリのアプローチと似てきたことも示している。例えば、Samsung/GLOBALFOUNDRIESも、最初の世代の14nmプロセスである「14LPE」に対して、第2世代の「14LPP」ではフィンの高さを高くし、より広いゲートピッチのオプションを提供している。また、14+の「+」という性能拡張デリバティブの命名規則は、TSMCが同社の1世代目「16FF」に対して2世代目に「16FF+」とつけたことと類似する。ファウンドリ製造のGPUやCPUは、いずれも2世代目プロセスの14LPPや16FF+に移行しつつあり、Intelの14+は、マーケティング的にはそれらのプロセスへの対抗となる。
いずれにせよ、14+のKaby Lakeは、Intelのプロセス技術の状況が、従来とは異なるパターンになって来たことを象徴している。
ビデオ処理がGPUコアから専用ハードウェアに変化
Kaby Lakeのもう1つの重要な設計変更は、負荷の高いビデオ回りの処理をGPUコア上でのソフトウェア処理から、専用の固定ハードウェアでの処理に切り替えたこと。この変化は、Skylakeから始まっていたが、Kaby Lakeでは固定機能ユニットへの傾斜がさらに顕著になった。
具体的には、Kaby Lakeではビデオのデコード/エンコードエンジンである「Multi-Format Codec (MFX)」に、「10-bit HEVC & 8/10 bit VP9」のデコードと「10-bit HEVC & 8 bit VP9」エンコードが固定機能ハードウェアとして加えられた。また、ポストプロセッシングである「Video Quality Engine(VQE)」の処理もGPUの演算ユニットから固定機能ユニットに移行し、High Dynamic Range(HDR)サポートが拡張された。
これらの変更はいくつかの重要なアーキテクチャ方向性の変化を示している。Intelは、Broadwell世代までのGPUコアでは、メディア処理はGPUの実行ユニットである「EU(Execution Unit)」を活用する方向だった。しかし、Skylake/Kaby Lakeでは、メディア処理は固定機能ユニットを用意する方向へと大きく切り替わっている。
もちろん、固定機能ユニットでの処理にすることで、より省電力を図ることができる。また、固定機能ユニットを搭載するだけのダイエリアの余裕ができた、逆を言えばそうせざるを得ない理由ができたことも意味している。一方、SkylakeからIntelはGPUコアのアーキテクチャを変更しており、その結果、メディア処理については固定ユニットを用意した方が効率が高くなった可能性がある。
メディアプロセッシングの思想が大きく変わった
IntelのGPUコアのEU(Execution Unit)は、もともと、パックド(Packed)/Array of Structures(AOS)型の実行スタイルと、スカラ(Scalar)/Structure of Arrays(SOA)型の実行スタイルのどちらも取ることができた。また、ベクタの粒度も可変で、さまざまなデータタイプやデータ精度に柔軟に対応できる仕組みを持っていた。この構造のため、Intel GPUコアは、メディア処理が得意で、Intel GPUのメディアエンジンも、EUでの処理を前提としていた。
具体的には、メディアエンジン側が「Video Front-End(VFE)」を使ってEUにメディア処理を渡すようになっていた。また、GPUコア側にも、テクスチャユニットと並列にメディアデータ専用のフェッチ&加工ユニットを備えていた。しかし、Intelは汎用コンピューティングなどの性能を重視したためか、SkylakeからはEUの実行スタイルをスカラ/SOAだけにした。そのため、メディア処理では電力効率が低下した可能性がある。
EUでの処理はスケーラブルでありダイエリアを増やさないで済む。それに対して、固定機能ユニットを搭載すると、メディア処理で高いスループットを実現しようとするとダイエリアを大きく占有される。電力消費は、汎用のEUで処理するより、固定機能ユニットの処理の方が低くなる。トレードオフがある。
Intelは、現在、微細化によりシリコンダイエリアは増やす余裕が生まれており、専用化した固定ユニットを増やすことができる。Intel CPUは、PCへの性能要求が低いため、ダイが小型化する傾向が続いており、Intelはウェハ生産数に対して、PC CPUのダイによるウェハ消費が少なくなりつつある。つまり、Intelは、製造キャパシティの視点からは、CPUのダイを増やすことができる。
また、現在はトランジスタのスケールダウンに対して電力のスケールダウンの方が比率が低い。そのため、GPUコアのEUを増やすとピークの電力消費を、目標とするTDP(Thermal Design Power:熱設計消費電力)以下に抑えることが難しくなる。また、縮小したダイ上のユニットを同時に駆動できないダークシリコン問題もある。そのため、より電力消費の小さな固定機能ユニットでダイを消費して、そのユニットにオフロードすることは理にかなった選択となる。
処理が複雑で演算ユニットの負荷の高いビデオのデコード&エンコードは、固定機能ユニットにオフロードする意味がある。また、ビデオ映像の品質を上げる処理を行なうVQEも、ノイズリダクションやカラーコレクションなどハードウェア処理が有効だ。Intelはビデオのポストプロセッシングについては、全てをハードウェアに移行したとしている。
CPUコアアーキテクチャはSkylakeから大きくは変わらず
Kaby LakeのCPUコアについては、基本のマイクロアーキテクチャはSkylakeと変わらないとIntelは説明している。Skylakeコアの全体像は、Intelの「Hot Chips」カンファレンスでの発表や最新版の「Intel 64 and IA-32 Architectures Optimization Reference Manual」で示されている。ブロック図を起こすと下のようになる。
Haswell/Broadwellからの大きな変更は、フロントエンドで命令デコードと、デコードした内部命令uOPをキャッシュするuOPキャッシュからのuOP出力が拡張された点。x86/x64命令のデコーダは最大5命令デコード/サイクル、uOPキャッシュからの出力は最大6 uOPs。また、アウトオブオーダウィンドウや各バッファも拡張されており、アロケーションキューはスレッドあたり64 uOPsとSMT(Simultaneous Multithreading)時のキューイングが大幅に強化されている。
Kaby Lakeのダイレイアウトは、CPUコア部分はSkylakeとよく似ている。CPUコアの回りにLLキャッシュSRAMを配置してCPUコアの熱を分散させるレイアウトも共通だ。CPUコア部分については、拡張が極めて小さいことが、ダイからも伺える。
一方、GPUコアについては、EU部分のレイアウトはSkylakeとKaby Lakeでほぼ共通しているが、その他のエリアはKaby Lakeの方がずっと大きい。これは、固定機能ユニットでダイエリアが拡大されたことを示唆している。
このように、Kaby Lakeは、Intel CPUの方向性の変化を象徴するCPUとなっている。斬新的なプロセス技術の改良と、ダイを演算コアよりも固定機能ユニットに割いて行く。現在のプロセッサの動向に沿ったCPUとなっている。