イベントレポート

Lion CoveとSkymontの詳細が明らかに。Hyper-Threading「非対応」で電力効率爆上げ

Intelが公開したLion Coveのブロック図。HTTには未対応にして、シングルスレッド性能を向上させることを実現している

 IntelはCOMPUTEX 2024の開幕初日に、Intel CEO パット・ゲルシンガー氏が基調講演に登壇し、同社が第3四半期に発表を計画している次世代薄型ノートPC向けSoC「Lunar Lake」の技術的な詳細を発表している。

 Lunar Lakeは、新しいPコアCPUとなる「Lion Cove」、Eコアとなる「Skymont」、そしてGPUの「Xe2 GPU」、第4世代NPUという全ての内蔵されているプロセッサーが新しくなり、大幅に性能が引き上げられているのが特徴だ。

 本記事では、Intelが行なった新しいPコアCPU「Lion Cove」、Eコア「Skymont」の詳細を説明するセッションで公開された両CPUの詳細などに関してお伝えしていきたい。

Hyper-Threadringには未対応になったLion Cove

シングルスレッドでのHTオンとHTオフでの性能差。HTをオフにした方が速くなっている

 今回Intelが発表したLunar Lakeに採用さている新しいPコアとなる「Lion Cove」の大きな特徴を挙げると、シングルスレッドの性能を引き上げるためにIPCを向上させ、かつ電力効率を改善するために無駄なブロックを削って効率をとにかく追求したデザインと言うことになるだろう。

 こうしたシングルスレッドの性能を上げるCPUのデザインは、別にIntelだけがそうした方向性を目指しているだけでなく、CPU開発の1つのトレンドになっている。AppleがM1を登場させ、Arm CPUの弱点だったシングルスレッドの性能を引き上げて以降、QualcommはSnapdragon X EliteのOryon CPUで同じようにシングルスレッドの性能を引き上げた。

 Armも先週発表した最新の「Cortex-X295」においてシングルスレッドを引き上げている。シングルスレッドを引き上げて、必要に応じて高いクロック、マルチスレッドで動かして性能を引き上げるが、必要ない時は低電圧、低クロックで動作する高効率コアに切り替えることでアイドル時の省電力を削減するというのがトレンドだ。

 Lion Coveはそうしたトレンドをフォローすべく、IPCを引き上げるという設計が施されている。その象徴的な設計が、Hyper-Threading Technology(HTT)には非対応になったデザインだ。

 HTTは、物理的な1つのCPUコアに対して、2つの論理的なCPUコアを持ち、それぞれのデコーダがCPU内部命令(Ops)に変換したあと内部の演算ユニット(整数演算ユニットや浮動小数点演算ユニットなど)に詰め込めるだけ詰め込んで、演算ユニットの利用効率を高める目的で作られた。

 しかし、現在のCPUは、マルチコア化が既に進んでおり、Lunar Lakeでも4つのPコアと、4つのEコアがある。マルチスレッドという観点では意味がなくはないのだが、シングルスレッドにした時には、むしろ効率が悪くなっているという。

 具体的に言うと、HTT用に2つのデコーダをそれぞれ用意したり、特別なスケジューラを用意したりと、それが演算器の肥大を招き、電力効率の悪化を招く結果になっている。

 HTTをオフにすると、シングルスレッドでの実行時に電力効率が改善され、ダイエリアの利用効率が改善される。既に述べたように、現代のCPUは1つCPUコア自体はシングルスレッド性能重視なのがトレンドになっており、実現のためにHTTはオフにしたほうが効率が良いのだ。これが、Lion CoveからHTTの機能を削った理由だ。

クロック周波数の切り替えを粒度が変わる

 また、前世代のPコアまでは、SpeedStepテクノロジーを利用した場合、あるいはTurbo Mode時のクロック周波数の動的な変更は、100MHz単位で行なわれていた。たとえば、2.9GHzの次は3GHzのように100MHz単位でクロックを変更していた。

 しかし、Lion Coveではそれが16.167MHz単位とより細かな段階で上げられるようになった。このため、CPUはシステムの温度などに応じてより細かくクロック周波数を調整することが可能になった。

整数演算や浮動小数点演算時の演算ユニットを追加するなど強化が行なわれているLion Cove

Lion CoveにはL0の48KBが追加され、L1データが48KBから192KBに増やされている

 Lion CoveはRedwood Coveと比べてマイクロアーキテクチャも大きく変更されている。大きなところでは、キャッシュ階層が変更され、48KBのL0キャッシュ(データ)が追加され、L1データも48KBから192KBへと約4倍に増やされている。

 また、L2キャッシュも2.5MB(3MBのデザインオプションも用意されるが、モバイルではない製品向けに利用される)へと増やされている。

【表1】IntelのPコア発展の歴史
2019年2020年2021年2023年2024年
SoC名Ice LakeTiger LakeAlder LakeMeteor LakeLunar Lake
開発コードネームSunny CoveWillow CoveGolden CoveRedwood CoveLion Cove
L0(データ)----48KB
L1(命令/データ)32KB/48KB32KB/48KB32KB/48KB64KB/48KB非公表/192KB
L2/CPUコアあたり512KB1.25MB1.25MB2MB2.5MB
HTT対応-
製造ノードIntel 10nmIntel 10nm SuperFinIntel 10nm Enhanced SuperFin(Intel 7)Intel 4TSMC N3B
フロントエンドの強化点
アウトオブオーダーエンジン
整数演算実行エンジン
浮動小数点演算実行エンジン
バックエンド

 今回Intelはキャッシュ階層だけでなく、フロントエンドも、実行ユニットも、バックユニットも大きく改良している。フロントエンドでは分岐予測の予測ブロックが8倍になり、命令を読み込む時のデコード帯域が向上するなどしている。

 実行ユニットの拡張は非常に劇的で、アロケーション/リネームが6ワイドから8ワイドに、リタイアメントが8ワイドから12ワイドに、さらに命令ウィンドウが512から576とより深くなり、実行ポートは12から18へと増やされている。

 実行ユニットの拡張も顕著で、整数演算ALUが5から6に1つ増えているほか、ジャンプユニット、シフトユニットが増やされ、MULが1から3へと増えている。浮動小数点の演算ユニットも同様で、256ビットのSIMD ALUが1つ増え、浮動小数点のディバイダー(FPDIV)が1つ増えるなどしており、整数演算も、浮動小数点演算も実行ユニットが増えることで、同クロック周波数での演算性能が向上している。

性能が改善されるだけでなく、電力効率も改善されている

 こうした改良により、Lion CoveではIPC(Instruction Per Clock-cycle)が大きく向上しており、Redwood Coveに比べて平均して14%ほど向上しているという。同じ性能でよければより少ない電力で動かすことが可能になる。

 また、こうしたCPUコアのデザインは、製造時に利用するプロセスノードからは独立して設計されており、どのプロセスノードにでも適合できるように設計されているという。それが、今回Lunar LakeのコンピュートタイルがTSMCで製造することが可能になったということの理由の1つだと考えられる。

浮動小数点/SIMD演算パイプを倍にして、浮動小数点/SIMD演算スループットを倍にしたSkymont

Skymontの概要

 Lunar LakeのEコアになる「Skymont」も、Core Ultraに採用されていたCrestmontに比較してさらに性能が引き上げられている。

 大きなポイントは2つあり、フロントエンド(分岐予測など)の改良と、アウトオブオーダー実行エンジンの効率改善、バックエンド(ロードストアなど)の改良だ。L2キャッシュも4コアあたり3MBから4MBに増やされており、システム側のメモリキャッシュも使えることと合わせてメモリレイテンシのさらなる削減が実現されている。

フロントエンド、実行ユニットなどの改善

 そしてもう1つの最大の改良点は、浮動小数点/SIMDエンジンの改良だ。Crestmontでは128bitの浮動小数点/SIMD実行ユニットが2パイプ用意されていたが、Crestmontではそれが4つになっている。つまり、128bitの浮動小数点/SIMDの演算を利用する時のスループットが2倍になっている。ほかにもいくつかの改良が加えられており、浮動小数点/SIMD演算の実行時の効率が改善されている。

浮動小数点のパイプラインが倍になり、スループットが倍になっている

 基本的にはSkymontは、Lunar Lakeの中で低電圧アイランドに置かれているので、OSがアイドル時にある時の省電力を実現する役目を持っているが、同時に必要な時はクロック周波数を引き上げて、4つのコアすべてを利用して演算を行なうため、こうした性能面での強化は大きな意味がある。

 時に浮動小数点/SIMDの性能が引き上げられたことで、AIアプリケーションがCPUを利用する場合の性能を引き上げることが可能だ。

Core Ultraの低電圧Eコアと比較してシングルスレッドで、整数演算で38%、浮動小数点演算で68%性能が改善
シングルスレッドでCore Ultraの低電力Eコアと比較した性能と電力
マルチスレッドでCore Ultraの低電力Eコアと比較した性能と電力

 Intelによれば、Core Ultraの低電力Eコアと比較してシングルスレッド時の整数演算の性能は1.38倍、シングルスレッドの浮動小数点演算の性能は1.68倍になっており、やはり浮動小数点演算時の性能がより高まっていることが分かる。

 Core Ultraのピーク時の性能(シングスレッド時)に固定した場合、同じ性能であれば電力は3分の1、同じ電力であれば性能は2倍、Skymontのピーク性能で比較した場合には2倍の性能を実現している。マルチスレッドの場合でもCore Ultraピーク時の性能では電力が3分の1、同じ電力であれば性能は2.9倍、ピーク時性能同士の比較では4倍の性能になっている。