
QualcommがSnapdragon X2 Eliteの技術的な詳細を明らかにしました。
Snapdragon X2 Elite
「Snapdragon X2 Elite」は、QualcommのPC向け次世代SoCです。すでに概要のみ明らかになった形でしたが、今回技術的な詳細が明らかになりました。
その前に。Snapdragon Xシリーズについてざっくりと。
Qualcommは2017年前後からPC向けSoCをSnapdragonブランドで提供しています。当初はブランドも含めてスマホ向けSnapdragonに倣っていましたが、2018年にはSnapdragon 8cxという独自の付番方式を採用し、2023年にはSnapdragon X Eliteという独自のブランドを定義しました。
以前のSnapdragonは、CPUのアーキテクチャにArmのCortexを採用していましたが、Snapdragon X Elite以降は「Oryon」というArm ISAベースの独自IPを採用しています。このIPはAppleから独立したエンジニアが設立したNuviaという企業をQualcommが買収して実現しています。
さて、今回のSnapdragon X2 Eliteは、その「Snapdragon X」ブランドの2世代目の製品となるわけですが、2年ぶりの刷新ということもあり注目が集まります。
Snapdragon X2 Eliteは「第3世代Oryon」CPU、「第8世代Adreno」GPU、「第6世代Hexagon」NPUで構成されています。
製造プロセスは3nmとなっており、電力効率が向上しています。
Snapdragon X2シリーズは、「Snapdragon X2 Elite Extream」「Snapdragon X2 Elite」の2ブランドが展開され、現時点で、18コア/5.0 GHzのX2 Elite Extream(X2E-96-100)、18コア/4.7 GHzのX2 Elite(X2E-88-100)、12コア/4.7 GHzのX2 Elite(X2E-80-100)の3つのSKUが明らかになっています。
メモリ
まず、CPU・GPU・NPUを横断するメモリの進化点をまとめます。
今回、メモリはメモリチャネルが3ch構成となったため、192-bitメモリインターフェイスを備えています。そして、対応メモリがLPDDR5x-9523となっています。帯域幅は228GB/sとなり、大幅に向上しています。
特にメモリ帯域幅は、Snapdragon X2 EliteのようにGPU/NPU統合の場合、性能に大きな影響を与えるので、今回も好影響を与える事になりそうです。
CPU
CPUには第3世代「Oryon」が採用されます。Snapdragon X Eliteが第1世代だったので、第2世代はどこに行ったんだという話ですが、第2世代Oryonは2024年に登場したスマホ向け「Snapdragon 8 Elite」に採用されたスマホ専用IPとなっています。なので、今回は第3世代です。
まず使用を見たときに目がつくのはヘテロ構成になっているということです。X EliteではOryon 12コアのみでしたが、X2 Eliteではこの12コアを「プライムコア」とし、新たに6コアの「パフォーマンスコア」を追加した最大18コア構成となっています。
また、このプライムコアについてはデュアルコアで最大5.0 GHzに到達します。Arm ISAのCPUで5 GHzに到達するCPUはこれがおそらく初めてであり、高クロック路線を走っていることがよくわかります。
CPU構成については、パフォーマンスコアが追加されたことに加えてクラスタ構成も変更されています。X Eliteでは4コアで1クラスタを構成していましたが、X2 Eliteでは6コアで1クラスタを構成する形になっています。この変更が若干謎で、通常クラスタの単位を大きくすると共有L2キャッシュが減ってしまうので性能に悪影響を及ぼしそうなものです。
クラスタあたりのL2キャッシュ容量は12MBから16MBに増加しているものの、プライムコアの最大構成で見たときに合計L2キャッシュ容量は12MB×3-Clusterで36 MBだったX Eliteから、16MB×2-Clusterの32 MBで減っています。更に、L1キャッシュミス時のL2キャッシュアクセスにかかるCPUサイクルが17-cycleから22-cycleに増加しているとのこと。トータルでみてキャッシュ周りが弱くなっている気がします。
Qualcommはこの問題に対して、クロックが向上していることと、キャッシュ構造が変わっていることで緩和されているとしていますが・・・。
CPU内部のアーキテクチャを見ていくと、基本的にX Eliteの第1世代Oryonを踏襲しているものの、大きな変更としてQualcomm Matrix Engineを搭載しています。これは、SMEとかAMXとかと同じく行列演算ユニットです。CPUに行列演算ユニットを搭載するのは最近のトレンドでQualcommもこれに追従したと言えます。
どのようにMatrix Engineが使用されるかについては明確な説明はないものの、今回のX2 EliteはArmv8 ISAにSVE2とSME拡張が入っているため、SMEを使用したときにMatrix Engineが使用されると考えられます。独自拡張ではなくArmの拡張が使えるなら汎用性は高そうです。
そういえば、Snapdragonは頑なにArmv9をサポートしていません。Cortexを採用していた時期に一度Armv9に対応しましたが、OryonはArmv8系の命令セットとなっています。おそらく設計時期によるものだと考えられますが、どのタイミングで対応するのでしょうか(AppleもArmv9の対応が遅かった印象ですが、あれはAppleの拡張がアップストリームされるのをAppleが待っていたという噂もあり理由がありそう)。
搭載数は1-clusterあたり1基。物理的にはクラスタの数しか存在していませんが、各CPUの機能として利用できるため、ソフトウェアから見たときはCPUの数分用意されているように見えるのでしょう(PC WatchはSMTのような形と解説していますね)。
Matrix Engineは64-bit x 64-bitの行列演算に対応しており、フォーマットとしてBF16/FP16/FP32/INT8/INT16/INT32をサポートしています。最小が8-bitの整数ということで推論の性能に良い影響を与えそう。
パフォーマンスコアは、一般的に「高密度コア」や「高効率コア」に当たるコアと考えて良いでしょう。実際「2W以下の動作に最適」という効率重視のコアであることが謳われています。
プライムコアとパフォーマンスコアの差は実行パイプやキャッシュの削減などといったところ。Matrix Engineも搭載されているため、機能的な差分はなさそう。Zen 4からみたZen 4cのような変更のようです。
ちなみに、コア構成について、X2E-96-100とX2E-88-100は、12コアのプライムコアと6コアのパフォーマンスコアが搭載されていますが、X2E-80-100はプライムコアが1クラスタ分無効化されており、プライムコア 6コア+パフォーマンスコア 6コアという構成になっています。
GPU
GPUは第8世代Adrenoとなっています。ブランドは「Adreno X2」となっています。
Adreno X2ではGPUの最小単位が「スライス」となっています。1スライスは、Shader Processor(SP)を2基、FP32 ALUを512基(SPあたり256基)を搭載しています。そして、Adreno X2はこのスライスを最大4基搭載するので、合計SP数は8基となります。
規模的に見ると、X1はSPが6基だったので33%規模が大きくなっています。GPUの場合、規模の拡大=SP/ALUの増加はそのまま性能の向上なので注目すべき部分です。
ローカルメモリについては、18MBから21MBに増加した上、SPのローカルメモリ帯域幅は2TB/sから4TB/sに2倍となっています。
さらに、メインメモリの帯域幅の向上は性能向上に寄与していると考えられますね。
レイトレについては、新たにRay Tracing Unit(RTU)というハードウェアユニットが用意されています。SPあたり2基RTUが搭載されています。
このRTUは、DirectX、VulkanのレイトレーシングAPIに対応しています。
Qualcommが苦しんでいたゲーム互換性に関しては、ついに90%にまで到達しているとのこと。特に大きな壁だったアンチチートツールについては、主要なアンチチートツールのArm対応が進んだこともあり、大きな進展が見られています。
Qualcommは、ゲーム最適化を行うためのマンスリードライバの提供を目指しているとしており、現在の四半期ごとの提供から増やしたい意気込みはあるよう。
少なくとも、Qualcommで対応できる部分の対応は急速に進んでいるので、Microsftやゲーム開発者による対応が必要な部分の対応を推進していきたい考えです。次の課題はロングテールのゲームへの対応となっているようです。
直接GPUと関係があるわけではありませんが、ディスプレイ出力については、内蔵+3第の5K60Hz出力という、超強力なディスプレイエンジン(DPU)を新たに搭載したようです。
NPU
NPUは第6世代となっています。X1 Eliteが第3世代だったので、大幅なジャンプアップとなります。
性能もジャンプアップしており、45 TOPSから80 TOPSまで向上しています。
特に今回注目したいのが、NPUがヘテロ構成のような形になっているということ。X2 EliteのNPUには、Qualcomm Sensing Hubという小型NPUが搭載されており、こちらは消費電力はかなり抑えられているようです。これは例えばPCがスリープ状態のときに、声で呼びかけただけでスリープから復帰する機能のように、PCが自体が低電力状態のときでも稼働できるNPUとして利用されるようです。
次にNPUとしての内部構造を見てみます。
これは、CPUの高効率コアやLP-Eコアのような挙動ですが、NPUはCPUではないということに注目すると、NPU単体でCPUやGPUを起こさずに処理が完結する環境がSnapdragonに整ったと見ることができます。
ワイヤレス
Snapdragonを搭載するPCは「常時接続PC」と呼ばれており、モバイルデータ通信に対応することが標準となっています。しかし残念ながらX2 Eliteは、モデムとワイヤレスチップを内蔵していません。
「Snapdragon X75」と「Fast Connect 7800」にしており、別途搭載が必要です。これを見た感じ、Bluetooth 5.4とWi-Fi 7には対応しているようですね。
まとめ
GPUとNPUは大幅に進化していることがわかりました。CPUについては、今回はArmv9のサポートが見送られているものの、SVE2やSMEに対応したのは大きな進歩だと言えます。
課題となっているソフトウェアの対応状況も、かなり順調なようです。懸案だったゲームについても、メジャーなゲームエンジンでもサポートが進んでいますし。
ここから先の課題はx86からシェアをどのように奪えるかが課題。Apple Siliconが成功したのは、macOSというプラットフォームがAppleの思い通りに進むからであって、Windowsは残念ながらそうではありません。
この先、きっとQualcomm以外からも登場するArm Windows。どのような展開になるかに注目が集まります。現時点では、NPUの性能でIntel、AMDをリードしている状況ですが、まもなく訪れる緑色の黒船に、Qualcommはどう戦うのでしょうか。期待です。