元半導体設計屋 筑秋 景のシリコン解体新書
Intel Skymontアーキテクチャの性能と電力効率向上の仕組み
2025年1月24日 06:21
今回はIntelがLunar Lake、Arrow Lakeで採用したCPUアーキテクチャ「Skymont」のキャッシュとメモリサブシステム、性能と電力効率の向上について説明する。CPUアーキテクチャはデータを効率よく演算器に渡すことを目指して開発される、それには半導体製造技術の進化と、将来に向けた拡張性と最適化のバランスを見極める必要がある。
マイクロアーキテクチャの詳細
まずは、ロード/ストア、L1データキャッシュについて見ていこう。Skymontは、前世代に比べサイクルあたりのロード数を2から3に増やした。引き続きデータパスは128bit、16byteだ。そのため、L1ロード帯域幅が50%向上した。
ロードアドレス生成ユニットも3つになり、ストア側ではストアエージェントを2倍の4つに増やした。ピークのストアスループットはクロックあたり2つだが、アドレス生成は4つになっている。これによりストアアドレスを解決するための時間が節約され、ロードが高速化された。また、ストアとロードが接続されていないと予測できないケースが解消される可能性が高くなり、一般的なパフォーマンスが向上する。
次に、共有されたセカンドレベル TLB(トランスレーション・ルックアサイド・バッファ)について説明する。これはコードとデータの両方で使用される。Gracemontでは約2,000エントリー、Crestmontでは3,096エントリーだったが、Skymontでは4,192エントリーに増えた。
また、パイプラインPMHエントリー(PMH: Page Miss Handler)と呼ばれる、ページテーブルを参照するテーブルウォーカーも増やした。これにより、より多くのページテーブルを並列処理できるようになった。
次に、L2キャッシュについて説明しよう。Lunar Lakeでは、Eコアクラスタである4コアモジュールが4MBのL2キャッシュを共有している。Meteor LakeのCrestmontは2種類あり、リング上に配置された4コアモジュールは2MBのL2キャッシュを持ち、Redwood CoveのPコアとLLCを共有している。低電力アイランドのCrestmontは、LLCやリングに接続されておらず、2MBのL2キャッシュを持つ2コア用の共有キャッシュだ。Lunar LakeではEコアの数を2倍にし、L2キャッシュも2倍に増やしている。
コア数のスケーリングを改善するために、コア数が1から2、3、4と増えるにつれて、利用可能なL2帯域幅を2倍にした。各コアは1クロックサイクルあたり1つのキャッシュラインを取り込むことができるが、L2は1クロックサイクルあたり2つのキャッシュラインを生成できるため、マルチコアワークロードの並列処理に役立つ。
キャッシュ退避データパスの幅も改善されている。前世代のクロックあたり16byteから32byteになり、メモリ転送とメモリ帯域幅が向上した。GracemontとCrestmontでは同じモジュール内の複数のコアが同時にデータを使用する場合、1つのコアがデータを修正していて、それがまだL1キャッシュにある状態で、別のコアがそのデータにアクセスしたい場合、「データが存在していて、実行可能」とはならない。
まずL2キャッシュミスを装ってファブリックにデータの要求を送信し、ファブリックがデータ要求を送り返すと、データ(データを修正したコアのL1にある)をファブリックに提供し、ファブリックが再びデータを送り返す。
そのため、ベンチマークの結果では「データは近くにあるが、レイテンシが高い」結果となった。実際、ここでのレイテンシは通常のキャッシュヒットよりも少し長く、これはこのファブリックを介した往復動作によるものだった。
この点についてSkymontでは、L1-to-L1転送と呼ばれる機能で修正した。これは、あるコアがL2にデータ要求を送ると、そのデータが別のコアに存在していることが分かると、ファブリックを経由せずに、L2が直接データを取得し、ローカルのコアに提供する仕組みだ。これにより、パイプラインがタイトで、モジュール内でデータを共有しているワークロードの場合、より信頼性の高い性能が得られることになる。
Intelのハイブリッドアーキテクチャには2つの異なる実装方法がある。その1つになるMeteor Lakeでは、リング上の共有LLCに接続されているコンピュートタイルとSoCタイル上の低電力アイランドそれぞれにCrestmontが配置されていた。
一方Lunar Lakeでは、低電力アイランドに重点を置いてEコアを配置している。Lunar Lakeでの開発目標はできるだけ多くのワークロードを低電力アイランドで実行することだ。低電力アイランドはリングやPコアを使用せず、メモリに近く、システムキャッシュとしてのメモリサイドキャッシュを持つからだ。
この新機能が追加されたことにより、大きなキャッシュを持つことで電力効率を高めることができている。SkymontのEコアには、コンピュートタイル、リング、ファブリック、LLC上で使用できる機能が追加されている。
次に、低電力アイランドに焦点を当てて、Meteor LakeのCrestmont LP EコアとLunar LakeのSkymont LP EコアでのIPCの性能比較を見てみよう。上図によると、一般的なGCC-O2コンパイルにおいて、整数側でIPCの幾何平均はSkymont LP Eコアで38%向上している。S曲線は各サブコンポーネントの性能順に並んでいるらしい。負の外れ値はなく、きれいなS曲線になっている。
右側のS曲線が浮動小数点SPECfpになる。ベクトルハードウェアを2倍にしたことと、浮動小数点の課題を修正したことは前述したが、この進化分もこのデータに反映されている。それによってIPCが68%向上している。SPECfpの結果はベクトル指向のAIワークロードの良い指標になるが、右側すべてがプラスで、性能が低いケースはないのが確認できる。
電力と性能を見てみよう。上図はシングルスレッドの比較で、Lunar Lakeの低電力アイランドのSkymont Eコア1つと、Meteor LakeのSoCタイル内のCrestmont LP Eコア1つを比較している。同じピーク性能で消費電力が3分の1になっている。同じピーク性能を出力させるために選択した低めに設定した動作周波数で、同じ性能で電力が3分の1ということだ。同じ消費電力だと1.7倍の性能になる。
そして、ピークからピークまで、Lunar Lakeには非常に興味深い点がある。Lunar Lakeでは電力の供給と電圧の柔軟性が少し異なるため、EコアをMeteor Lakeよりも少し高速に実行させるオプションがある。そのため、IPCだけでなく、周波数での利点もあり、ピークからピークで2倍になっているという点だ。
次はマルチスレッド性能を見てみよう。ここでは、2つのコアと4つのコアで比較しており、電力に対する性能を表わしている。同じピーク性能で3分の1の電力なので、Meteor Lakeで2つのLP Eコアをフル周波数で動作させると、同じ性能で3分の1の電力になっている。同じ電力では2.9倍の性能を発揮し、ピークからピークは4倍になっている。つまり、コンピュートタイルにあるSkymontの低電力アイランドは、Crestmontの低電力Eコアクラスタの4倍の能力を持っていることになる。
Meteor Lake世代では、ビデオ再生など、CPUのオーバーヘッドが少ないものはLP Eコアで処理できた。しかし、Teamsなどでは性能が足りなくなる傾向がある。実際、Crestmont Eコアでは、これらの少し負荷の高いワークロードがLP Eコアに留めることを保証するのに十分なパフォーマンスが得られないため、コンピュートタイルのコアを起動することになる。
一方Skymontでは、Eコアでこれらのワークロードをうまく処理できるという。スレッドディレクタでソフトウェアシステムがその作業を確実に行ない、適切な効率的なポイントを取得するためだ。これが、Lunar Lakeのバッテリ駆動時間の鍵となっている。
Skymont Eコアでは低電力環境、低電力コアでオンにするものを減らしながら、より多くのワークロードを実行でき、快適なユーザーエクスペリエンスを提供するということだ。また、Skymontをリングやファブリック上に配置することもできる。Arrow Lakeではコンピュートタイル上でリングとLLCに接続されている。
Eコア、Pコアの機能比較
ここからはRaptor LakeのRaptor Cove(Pコア)と比較を見ていく。
上図はIPC(Instructions Per Cycle)の比較だ。これはピーク性能や周波数ではなく、同じワークロードを使用した比較だ。Raptor Coveは6GHz以上で動作する非常に優秀なコアだが、Skymontは6GHzで動作させることを目標としていない。以下の結果は、SPEC rate 2017 base estの結果であり、GCC-O2でコンパイルしたバイナリを使用している。
- 整数性能: Raptor Coveと比較して2%向上
- 浮動小数点性能: Raptor Coveと比較して2%向上
Crestmontとの比較ではすべてプラスの結果だったが、Raptor Cove(Pコア)との比較ではトレードオフが見られる。S曲線の基準線の下にいくつかの結果があり、線の上にいくつかの結果がある。これは、性能におけるトレードオフを示している。
Eコアや低電力アイランドの可能性が高い電力エンベロープにズームインすると、同じ性能レベルで消費電力は4割減、同じ電力レベルでだと2割高い性能となっている。この結果はEコアから得られるものであり、Skymontから得られるものだ。これがハイブリッドアーキテクチャを推進し、PCの効率を高め、バッテリ駆動時間を延ばし、より優れたユーザーエクスペリエンスを提供する鍵であるとIntelは考えている。
Skymontの開発目標をもう一度まとめると、ワークロードカバレッジの向上(より多くのワークロードに対応できるようにする)、AIのベクトル倍増(AIワークロードに対する性能を向上させる)、スケーラビリティ(将来的にSkymontをスケールアップする可能性を持つ)となる。Intelは今後このSkymontをスケールアップする可能性があるようだ。