笠原一輝のユビキタス情報局

すべてが強化されたSnapdragon 8 Eliteの詳細とその性能

Qualcommが発表したSnapdragon 8 Elite

 Qualcommは、10月21日~10月23日(現地時間)の3日間にわたり、米国ハワイ州マウイ島において、同社の年次イベント「Snapdragon Summit」を開催し、その初日に新しいフラグシップスマートフォン向けSoCとなるSnapdragon 8 Eliteを発表した。

 Snapdragon Summitには、Qualcomm エンジニアリング上席副社長 ジェラード・ウイリアム氏など、Snapdragon 8 Eliteの開発を担当したエンジニアも参加しており、Snapdragon 8 Eliteに採用されている第2世代Oryon CPU、そしてその元になりPC向けのSnapdragon Xシリーズに採用されている初代Oryonなどに関する詳細な説明を行なった。

 本記事ではSnapdragon Summitで明らかになったSnapdragon 8 Eliteの詳細について、特になぜ性能が向上しているのかの部分やベンチマークなどから見えてきた性能について説明していきたい。

自社開発したカスタムArm CPU「Oryon」採用

Qualcommが公開したSnapdragon 8 Eliteを搭載したスマートフォンのレファレンスデザインとなるQRD(Qualcomm Reference Device)

 今回Qualcommが発表したSnapdragon 8 Eliteは、Snapdragon 8 Gen 3の後継となる製品だ。ここ数年は、Snapdragon 8 Gen 1、Snapdragon 8 Gen 2、Snapdragon 8 Gen 3と世代名称が上がるという名称に落ち着いていたが、再びQualcommはブランドネーミングスキームを変更したことになる。この後、「Snapdragon 8 Elite Gen 2」のように世代名称がつく形になるのかなどに関しては明らかにしていない。

【表1】Snapdragonシリーズのスペック(過去4世代)
ブランドSnapdragon 8 EliteSnapdragon 8 Gen 3Snapdragon 8 Gen 2Snapdragon 8 Gen 1
発表年2024年2023年2022年2021年
CPUブランド名第2世代Oryon CPU新Kryo新Kryo新Kryo
Arm ISAArmv8Armv9Armv9Armv9
プライムコアOryon/プライム(2)Cortex-X4(1)Cortex-X3(1)Cortex-X2(1)
高性能コアOryon/パフォーマンス(6)Cortex-A720(5)Cortex-A715(2)/A710(2)Cortex-A710(3)
高効率コア-Cortex-A520(2)Cortex-A510(3)Cortex-A510(4)
L3キャッシュ-12MB8MB6MB
GPUブランド名Adreno 830Adreno 750Adreno 740Adreno 730
メモリ種類/データレートLPDDR5-5300LPDDR5-4800LPDDR5-4200LPDDR5-3200
NPU新Hexagon NPU新Hexagon NPU新Hexagon DSP新Hexagon DSP
ISP新Spectra新Spectra新Spectra新Spectra
モデムX80(内蔵5G)X75(内蔵5G)X70(内蔵5G)X65(内蔵5G)
製造プロセスルール3nm(TSMC)4nm(TSMC)4nm(TSMC)4nm(Samsung)

 最大の特徴はCPUに「Oryon CPU」を採用していることだ。従来世代に相当するSnapdragon 8 Gen 3には、QualcommがKryo(クライヨ)と呼んでいたCPUが搭載されていたが、このKryoはArmが提供しているIPデザイン「Cortex」ベースになっていた。しかし今回はQualcommが自社設計したOryonに変更されていることが大きな強化点となる。

 Snapdragon 8 Gen 3までは、CortexをベースにQualcommのアンコア(ファブリックと呼ばれるCPU同士やメモリコントローラなどを接続するインターコネクトやシステムレベルキャッシュなど)設計に従ってCPUが構成されていた。

 具体的には、3つのレベルの異種混合CPUになっており、プライムコアと呼ばれる低遅延かつ高クロックで動作するCPUコアに、Cortex-X4、マルチスレッド時に効果を発するミドルレベルの高性能コアにCortex-A720、そしてアイドル時などにもOSを動かし続けるために低消費電力で動いている高効率コアにCortex-A520が採用されてきた。

 Snapdragon 8 Eliteでは、プライムコアも、高性能コアもQualcommが独自に開発したArm CPUとなる「Oryon」に変更され、かつ、従来までの製品は用意されていたL3キャッシュがなくなり、L2キャッシュの容量が増量されていることが大きな特徴になる。

Oryonの速さの秘密はスクラッチから作り上げたアーキテクチャ

昨年のSnapdragon Summitで発表され、今年の6月に搭載デバイスが販売開始されたPC向けのSnapdragon X Elite

 Oryonの特徴を理解するには、最初にPC向けのSnapdragon Xシリーズに採用されているOryonの第1世代について理解する必要があるだろう(QualcommはSnapdragon 8 Eliteに搭載されているOryonを第2世代Oryonと呼称している)。

 Oryonは、2019年にQualcommが買収を発表した半導体開発スタートアップ企業Nuviaの創業者 兼 CEOだったジェラード・ウイリアムズ氏(現Qualcomm エンジニアリング上席副社長)とそのチームが中心になって開発したArm ISAのCPUアーキテクチャになる。

 特徴は、PC向けのCPUのように低遅延のメモリアクセスを実現するキャッシュ階層とプリフェッチ機構、高効率なデコーダ、高度な内部命令への変換が可能なデコーダと高度に並列実行が可能な実行ユニットなどを備えており、高いIPC(Instruction Per Clock-cycle)を実現することで、シングルスレッド性能を高めていることだ。

Qualcomm エンジニアリング上席副社長 ジェラード・ウイリアムズ氏(左)とQualcomm CEO クリスチアーノ・アーモン氏(右)

 ウイリアムズ氏は「Oryonの最大の特徴はプリフェッチが従来のデザインよりも高速になっていること。CPUのデザインには魔法などというものはない。あるのは今ある技術を利用して、それを組み合わせてどう作るかが重要になる。我々に限らず、どこのCPUメーカーでも前の世代が存在し、それを活用しなければならないが、今回の世代では完全にゼロから設計した。そのため、今回のOryonではプリフェッチを高速にしてIPCを引き上げることが可能になった」と説明した。

Qualcommが6月に開催したSnapdragon X Eliteの詳細説明セッションでOryon CPUの詳細を説明するスライド。Snapdragon X EliteのOryonは4つのCPUコア+12MB 共有L2で1つのクラスタを構成しており、そのクラスタが3つある(出典:Architecture Overview Qualcomm Oryon CPU Qualcomm Adreno GPU、Qualcomm)
Oryonのフロントエンド、実行ユニット、バックエンドの詳細(出典:Architecture Overview Qualcomm Oryon CPU Qualcomm Adreno GPU、Qualcomm)

 通常CPUは、キャッシュやメモリから命令を読み込んできて、それをデコーダで内部命令に変換して実行していく。そのプロセスを高速化するため、Oryonではいくつかの工夫が施されている。実はその1つが、前述したL3キャッシュの廃止と、それに伴うL2キャッシュの増量だ。

L3キャッシュを廃止はレイテンシの削減

従来のSnapdragon 8 Gen 3のL2はキャッシュにヒットしても12nmのレイテンシ
新しいSnapdragon 8 EliteではL2キャッシュが5ns以下のレイテンシで非常に高速になっている

 一般的なCPUでは、キャッシュはL1/L2/L3/L4(SoC全体が共有するキャッシュで、システムレベルキャッシュあるいはメモリキャッシュなどと呼ばれる)と複数の階層のキャッシュメモリが搭載される。L1はCPUの演算器に最も近いところに、L2、L3の順に徐々に遠くなり、レイテンシ(遅延)と呼ばれるCPUがメモリやキャッシュにある命令やデータにアクセスするまでの時間は長くなっていく。つまりCPUの演算器が命令を実行するまでに待つ時間が長くなり、CPUの命令実行効率は悪くなってIPCが低下していく。逆に言えば、レイテンシを短くすればするほどCPUの性能は向上する。

 レイテンシを短くするには、CPU演算器に近い方のキャッシュメモリの容量を大きくすれば良いじゃないかと思うかもしれないが、それは簡単なようで難しい。大雑把に言うと、キャッシュメモリをCPU演算器に近い方で大容量にすると、製造時に歩留まりが下がり、製造コストが上がったりするからだ。そのためキャッシュは階層構造になっているのである。

 しかし、OryonではL3キャッシュがなく、CPU 4つが1つとして構成されているクラスタ1つで、12MBの共有L2キャッシュが搭載されており、L3キャッシュはないというデザインだ。

 「L2キャッシュはL3キャッシュに比べて近くにあり、レイテンシが少ない。一般的にL1キャッシュは3~4クロック、L2キャッシュは8~12クロック、それに対してL3キャッシュは30~60クロックになる。重要なことは、ベンチマークに比べて実際のアプリケーションのコードサイズは大きいということだ。

 一般的なアプリケーションでは命令のサイズが数MBになる。そう考えれば、12MBというキャッシュサイズは、そこにデータが入ることを考えても大きな効果がある。もう1つ重要なことは、キャッシュが有効に使えると、DRAMへのアクセスが減ることになり、省電力の観点でも効果がある」と述べ、L3キャッシュをなくし、大きなサイズの共有L2キャッシュを装備した理由を説明した。

 こうした設計によりOryonはシングルスレッドの性能を大きく引き上げることに成功し、PC向けのSnapdragon X Eliteではプライムコアを12コア(4コアのクラスタ×3)とすることで、高いマルチスレッドの性能を発揮している、これがOryonを搭載したSnapdragon Xシリーズが高い性能を実現している大きな理由になっている。

プライムコアも、高性能コアもモバイル向けに合わせて作り直した第2世代Oryon

第2世代Oryonでは、プライムコアX2+12MB 共有L2で1つのクラスタ、高性能コア×6+12MB 共有L2で1つのクラスタと2つのクラスタから構成されている

 第2世代Oryon CPUも、そうしたOryonの特徴を受け継いでいる。

 初代Oryonとのの違いについてウイリアムズ氏は「初代OryonはPCのような高性能デバイスに利用するために最適化した設計になっている。それに対してスマートフォン向けに位置づけられるSnapdragon 8 Eliteでは熱設計的にスマートフォンの筐体に納まるように最適化し、同時に初代Oryonの特徴を受け継いでいるが新たに設計したプライムコアと高性能コアの2つを用意し異なるクロック周波数のレンジで動かすことで、性能と消費電力のバランスを取る設計になっている。かつどちらのコアも同じ命令セット(Armv8)が動作する」と説明した。

Snapdragon X Elite(初代Oryon)、Snapdragon 8 Elite(第2世代Oryon)、Snapdragon 8 Gen 3(Kryo)のCPU構造(Qualcommの資料などから筆者作成、一部推定)

 つまり、初代Oryonがすべてプライムコアで最大12コア構成であるのに対して、2代目Oryonはプライムコアが2コア、高性能コアが6コアと最大8コア構成である点が異なる。また、初代Oryonでは4コア+12MBのL2キャッシュで1つのクラスタを構成し、そのクラスタが3つあるという構造(12コア+36MB L2)になっているのに対して、2代目Oryonではプライムコア2コア+12MB L2キャッシュ、高性能コア6コア+12MB L2キャッシュという構造(8コア+24MB L2)になっていることも大きな違いになる。

 そうした構造になっている狙いは、スマートフォン向けのSoCで特にアイドル時の消費電力を低く抑える必要があるためだ。高性能コアはOryonのアーキテクチャを受け継いではいるが、フロントエンド、実行ユニット、バックエンド、いずれかを省略したりすることで、性能を抑え消費電力を抑えた設計になっているコアと考えられる。

 プライムコアも、モバイル向けの最適化を行なって再設計しているとQualcommは説明している。ただ、プライムコアと高性能コアの具体的な違いは、L1命令キャッシュがプライムコアは192KB、高性能コアは128KBとのみ明らかにしており、具体的に何をどう変えているかは明らかにしていない。

 プライムコアの最高クロック(いわゆるTurbo時の最高クロック)が4.32GHz、高性能コアは3.53GHzと明らかにしており、アプリケーションの起動時やWebブラウザなどシングルスレッドの性能が必要なときにはプライムコアを4GHz以上で動作させて、マルチスレッド時には高性能コアも動作させてCPUコア数を増やして対応する。そして、アイドル時にはプライムコアや高性能コアのほとんどの電力を切り、高性能コア1つだけを低い電圧などで動作させることで消費電力を抑えることで、性能と電力効率の両方を実現している設計だと考えられる。

 なお、SLCに関しては搭載されていることは明らかにしているが、容量に関しては明らかにされず、同時にメモリに関しても従来モデル(Snapdragon 8 Gen 3)では16bit×4=64bit幅という仕様だったが、今回はデュアルチャンネルだとだけ明らかにされており、バス幅に関してはなぜか明らかにしないという謎な状態になっている(普通に考えれば、32bit×2=64bitだと考えられるが、それを出し惜しみする理由が何かあるのかと逆に勘ぐりたくなる謎な発表だ)。

メモリのクロックはLPDDR5x-5333までの対応となる。当初のモデルではLPDDR5x-4800を採用した製品が主流になると考えられるが、徐々にLPDDR5x-5333への移行が進んでいくとQualcommでは考えているとのことだった。

 この第2世代OryonのISAは、どちらのコア(プライム、パフォーマンス)も初代Oryonと同じArmv8になり、最新のArmv9ではない。Cortex-X4やCortex-A720/520などの前世代(Snapdragon 8 Gen 3)で採用されていたCPUがArmv9対応だったのに比べると、1世代前のISAに巻き戻されていることになる。

 ただ、Arm ISAは下位互換も確保されており、Armv9向けに作られたソフトウェアは、Armv9で実装された新命令(SVE2など)は実行できないが、Armv8でもそのまま走らせることができるので、SVE2に最適化されたソフトウェアを実行しない限りは大きな問題はないだろう。

 ウイリアムズ氏は「Armv8を選んだのは、性能とバランスを考えてのことだ。現時点では両方のバランスを取るにはArmv8が最適だと判断した」と述べ、SVE2のようなArmv9でサポートされる新命令セットに対応していなくても、十分性能を発揮できる判断したため、Armv8を採用したと説明した。

第8世代へと進化したAdreno、スライスアーキテクチャを採用

Adreno 830の構造、3つのシェーダープロセッサから構成されるスライスを3つ内蔵している

 GPUも大幅に更新されているのが今回のSnapdragon 8 Eliteの大きな特徴だ。QualcommのGPUは、歴史的にはATI Technologiesが開発した「Imageon」が大元になっている。ATIのImageonはモバイル機器や組み込み向けのGPUとして開発された省電力なGPUで、ATIがAMDに買収されたことによりAMDへと移管され、2009年にAMDからQualcommへとIPと開発チームが移管され、その後ブランド名が「Adreno」へと変更され、それを発展させてきて現在のQualcomm製品のGPUとして成り立っている。

 そうしたAdrenoだが、以前は型番でアーキテクチャや世代の違いなどが容易に認識できるようになっていたのだが、なぜかQualcommはそれを外部に発表することはやめてしまい、現在ではただ「Adreno」とだけ呼ぶようになっている。一般消費者向けにはそれでいいのかもしれないが、ちゃんと技術のことを理解したい消費者にとっては分かりにくい状況になっていることは否定できない。

 そのような事情で公表はされていないが、どの世代にもGPUの名称はつけられている。たとえば、Snapdragon 8 Gen 1ではAdreno 730、Gen 2はAdreno 740、Gen 3ではAdreno 750で、それぞれ内部のシェーダープロセッサ(実行ユニット)の数が増やされるなど、世代が上がるごとにハードウェアが強化されている。

Adreno 830の表記

 今回のSnapdragon 8 Eliteに搭載されているGPUは、内部的には「Adreno 830」と呼ばれるGPUになっている。つまり、従来のSnapdragon 8 Gen 1/Gen 2/Gen 3に搭載されているAdreno 7xxよりも、1つ世代が進んでいるGPUという位置づけがされていることがよく分かる。

 なお、Qualcommのネーミングルールでは、ハイエンドに搭載されるその世代で最初のGPUがAdreno x30になっており、7世代でもAdreno 730がSnapdragon 8 Gen 1に搭載され、その後740(Gen 2)、750(Gen 3)へと進化してきた(6世代でもAdreno 630がSnapdragon 845に最初に搭載されて、855のAdreno 640、865のAdreno 650、888のAdreno 660と進化していった)。今回もそのネーミングルールは同じだと考えられ、Adreno 8xxのハイエンド向けになる最初の製品としてAdreno 830が位置づけられている。

 第8世代のAdrenoの特徴は、スライスアーキテクチャと呼ばれるアーキテクチャを採用していることだ。新しいとは言っても、モダンなGPUでは皆採用している仕組み。シェーダープロセッサが複数で1つのスライスというクラスタにまとめられ、そのスライスを増やしたり、減らしたりすることでGPUの設計をスケーラブル(伸縮自在)にすることを可能にする。Adreno 830では、1つのスライスに3つのシェーダープロセッサを内蔵しており、そのスライスが3つある設計になっているので、GPU全体で9つのシェーダープロセッサを持つ設計になっている。

 ちなみに、Adreno 7世代に相当するPC向けのSnapdragon X Eliteに内蔵されているAdreno X1では6つのシェーダープロセッサがあることになっており、それよりもシェーダープロセッサの数が多い計算になる(Adreno 830のシェーダープロセッサの内部構造は明らかにされていないため単純な比較はできないが……)。

 こうした構造を採用するメリットは将来のGPUの性能強化をより容易にできるようになることだ。たとえば、将来PC用にスライスを3本増やせば、6×3で18シェーダープロセッサになり、性能を大きく引き上げられる。さらに、スライスごと電源を落とすことが可能になるため、省電力の観点でも有益だ。

 また、従来のAdreno 7世代では、GPU全体のキャッシュとなる共有L2キャッシュは1MBだったが、今回のAdreno 830ではグラフィックスメモリという名称でキャッシュが12MBに増やされている。言うまでもなく、メモリの帯域幅はGPUの性能に大きな影響を与えるため、キャッシュメモリの容量が増えることは、メモリ帯域幅の実効レート改善に大きな効果があると考えられる。また、DRAMへのアクセスが減れば、消費電力の観点でもメリットがある。

 こうした強化により、QualcommはGPUの性能も電力効率も40%改善されており、レイトレーシングでは35%の性能向上が実現されていると説明している。

NPUはスカラーとベクターのコアがそれぞれ2コア増やされて性能向上、ISPはキープコンセプト

従来のSnapdragon 8 Gen 3のNPU構造、スカラーは6コア、ベクターは4コアだった
新しいSnapdragon 8 EliteのNPU、Tensorコアは据え置きだが、スカラーは8コアに、ベクターは6コアに強化されている

 残るNPUとISP(Image Signal Processor)も強化されている。NPUに関しては大きなハードウェア上の強化、ISPに関してはどちらかというと効率改善的な強化となる。

 QualcommのNPU(Hexagon NPU)には、Tensor、スカラー、ベクターという3種類のプロセッサが内蔵されている。それぞれ、Tensorは行列積和を、スカラーは整数演算を、ベクターは浮動小数点演算を担当する。QualcommのNPUではこの3つのプロセッサにAIの演算を割り当てながら処理を行なっていく。

 Snapdragon 8 EliteのHexagon NPUでは、スカラープロセッサが前世代までの6から8に、ベクタープロセッサは前世代までの4から6にそれぞれコア数が増やされている。

 スカラーの強化は、INT8、INT4あるいは混合精度(INT8+INT16)などの各種精度の整数演算をより高速に行なうことが可能になり、特にLLMやディープラーニングやマシンラーニングといったクラシックなAIの性能を引き上げることにつながる。また、浮動小数点ではFP16のような精度の浮動小数点演算が可能で、長文の読解といったより高機能なLLMの使い方に効果がある。こうした強化により、前世代と比較して性能でも、電力効率でも45%の改善が実現されているとQualcommは説明している。

 ISPとなる新しいSpectra ISPでは、18bitのISPが3つという基本的なコンセプトは前モデルと同じで、ISP自体としてのハードウェアに大きな進化はない。ただし、内部構造の効率は改善されており、3つのISPで4.3Gピクセル/sのスループットを実現して、4,800万画素のCMOSが3つでゼロシャッターラグを実現することが可能になる。

 また、NPUとISPを直接接続して、ISPの画像認識をNPUで行なえる仕組み(Hexagon Direct Link)も改良が加えられており、従来世代では最大12レイヤーまで可能だったセマンティックセグメンテーションが、そうした制限なしに行なえるようになっており、より高度なAIによる画像処理が可能になる。

C2PAのコンテンツ・クレデンシャルに対応、動画とオーディオへの対応が機能追加

 なお、昨年のSnapdragon 8 Gen 3で、C2PAのコンテンツ・クレデンシャル署名機能をサポートしていたが、今回のSnapdragon 8 Eliteでは従来の静止画に加えて、動画やオーディオに関してもコンテンツ・クレデンシャルを付与できるようになっている。残念ながら、日米欧で販売されているSnapdragon 8 Gen 3搭載デバイスではこの機能を実装したモデルはなかったのだが、今年末から来年(2025年)にかけて販売開始される製品に関しては、コンテンツ・クレデンシャルに対応したモデルが登場することに期待したいところだ。

シングスレッドの性能はA18 Proに劣るが、マルチスレッド性能は大幅に上回る性能を実現

Qualcommがひっそり展示していたプライムコアが4.57GHzに引き上げられたSnapdragon 8 Eliteを搭載した端末

 以上のように、Snapdragon 8 Eliteは、Oryonをモバイルに特化させた設計になる第2世代OryonをCPUとして採用し、電力効率が44%改善されるなど性能を大きく向上させている。

 GPUも新しい第8世代Adrenoにより、3つのシェーダープロセッサから構成されるスライスを3つ持ち演算器を増やしており、さらに共有キャッシュを12MB搭載することでメモリ帯域幅の改善などにより40%の性能/電力効率の改善を実現している。また、NPUもスカラーとベクターがそれぞれ2コアずつ増やされることで、NPU全体で45%の性能/電力効率の改善が実現されている。

 こうした各プロセッサの改善は、ベンチマーク結果にもよく表れている。以下はGeekbenchの結果で、QualcommのQRD(Qualcomm Reference Design)とSnapdragon 8 Gen 3を搭載したXiaomi 14 Ultra、iPhone 16 Pro(A18 Pro)との比較データになる。

 なお、QualcommのQRDは2種類あり、1つはSnapdragon 8 Eliteの初期出荷バージョンで、プライムコアが4.23GHzになっているもの、そしてもう1つは将来なんらかの形で投入される可能性があるプライムコア4.57GHzのバージョンとなる。また、Snapdragon 8 Gen 3搭載のXiaomi 14 Ultraは筆者が常用している日本語OS版になるので、やや不利である可能性があることをお断りしておく。

【グラフ1】Geekbench 6

 この結果を見ると、Snapdragon 8 Eliteは、Snapdragon 8 Gen 3と比較してシングルスレッドでも、マルチスレッドでも性能が向上している。シングルスレッドでは46%、マルチスレッドでは58%向上しており、性能向上幅としてはかなり大きい。

 iPhone 16 Proに搭載されているA18 Proと比較すると、マルチスレッドのテストでは約27%上回っているが、シングルスレッドでは約3%負けている。しかし、プライムコアを4.57GHzにしたバージョンではシングルスレッドも上回っていることを確認できた。

 Qualcommによれば、具体的な計画などに関しては言えないとのことだが、この4.57GHz版のSnapdragon 8 Eliteはどこかのタイミングで製品化される計画があるとのことなので、そのタイミングではSnapdragon 8 Eliteがシングルもマルチも上回ることになる。

【グラフ2】GFXbench 5

 3DグラフィックスのクロスプラットフォームのテストができるGFXbench 5では、Aztec Ruinsの4K、1440p、1080pのオフスクリーンを実行した。結果をみれば分かるように、4Kで約42%、1440pで約47%、1080pで約55%上回っている。Qualcommが主張しているように、40%の性能向上は確実に実現されていることが分かる。

 このように、Snapdragon 8 Eliteは非常に高い性能を実現している。シングルスレッドの性能こそ、iPhone 16 ProのA18 Proにやや譲っているものの、マルチスレッドに関しては圧倒的に高性能だ。GPUも大きく性能が向上して、いるのも大きなトピックで、今回は時間の都合でベンチマークできていないが、NPUも大きく性能が向上している。その意味で、現時点ではスマートフォン向けSoCとして、A18 Proと十分にトップを争っているということができるだろう。