笠原一輝のユビキタス情報局
シングルスレッド性能が大幅向上する「Cortex-X925」、PCに採用される可能性は?
2024年5月30日 00:00
Armは5月29日(米国時間、日本時間5月30日)に報道発表を行ない、同社が昨年(2023年)まで「TCS」と呼んできたクライアントデバイス向けIPデザイン群を「CSS for Client」という新しい名称に変更し、含まれるCPUやGPUのIPデザインをアップデートしたことなどを明らかにした。
本記事では、Armが明らかにしたより詳細な情報を元に、新しいCPUやGPUがどのようなアーキテクチャになっており、従来モデルに比べて、どこが更新されるのかなどに関して紹介していくと同時に、同社の新しいIPを採用したPC向けのArm CPUの可能性などに関して考えていきたい。
2025年の製品のコードネームなどロードマップも明らかに
CSS for Clientは、昨年までのTCS2xという製品名で呼ばれていたIPスイート群の延長線上にある製品だ。TCS2xの概要に関しては、別にArmの発表をベースにした記事の中で触れてあるので興味がある方はそちらも合わせてお読みいただければ幸いだ。
TCS(Total Computing Solutions)とCSS(Compute SubSystems)は、日本語にすると「完全な演算解決策」、「演算システムの一部」といった直訳になってしまうが、意訳するとどちらも「演算装置実現の構成要素」である。となると正直違いがよく分からないが、より細かいニュアンスを入れると、TCSの方は「完全パッケージ」、CSSの方は「構成要素の提供」の意味合いが強い。完全パッケージではあるが、顧客が選べる、という意味が入っているのがCSSと考えるといい。
そもそもArmはCSSという用語をサーバー向けのNeoverseで使用を始めている。今回クライアント側のIP群のブランド名にCSSを使い始めたのは、サーバー側と合わせる意味合いが大きい。サーバー側のCSSでは、従来のTCSで実現されてきたプロセスノードへの最適化だけでなく、他社IP(たとえば、PCI ExpressコントローラなどArmが提供していないIP)なども含めて動作検証などが行なわれてパッケージで提供する。
そうしたパッケージ化されたデザインが、プロセッサのデザイン経験が少ない顧客に重宝されており、昨年の11月にMicrosoftが発表したデータセンター向けArm CPU「Cobalt 100」は、CSSを活用してデザインされている。
それに対して、クライアント向けのCSSではそうしたことは強調されていない。顧客となるのが、Google、MediaTek、Qualcommといった開発リソースを潤沢にもっている半導体メーカーということもあると思うが、強調されているのは、あくまでも従来のTCSでも実現されてきたプロセスノードへの最適化ということになる。顧客のニーズがそこにあるからということだろう。
なお、今回のCSS for Clientにおいて、Armはプロセスノードの最適化オプションはTSMCとSamsung Electronicsの3nmという2つのプロセスノードであることを明らかにし、2月のIntelのイベントで協業を明らかにしたIntel Foundry Services(IFS)のプロセスノードへの最適化は、今回は行なっていないと説明した。
Arm 上席副社長 兼 クライアント事業部 事業部長 クリス・バギー氏は「確かに我々はIFSへの最適化を表明した。しかし、今回の製品ではその最適化に関しては行なわれていない。なぜかと言われればタイミングだ。現時点でIFSへの対応がいつになるのかは明らかにできないが、2月に発表した通り今後IFSへの対応を進めていく計画だ」と述べた。
つまり、今回CSS for Clientの開発時期と、Intelとの提携のタイミングにずれがあり、Intelとの提携が決まった時には、既にCSS for Clientの開発が走り始めたため間に合わなかったことを示唆した。
なお、次世代製品のロードマップも明らかにしており、2025年に発表が予定されている次世代CSS for Clientにおいて、プライムCPUコア「Travis」(トラヴィス)、高性能CPUコア「Gelas」(ジェラス)、高効率CPUコア「Nevis」(ニヴィス)、および次世代GPU「DRAGE」(ドレージ)を投入すると明らかにしている。
それらの世代ではIntel 18Aへの最適化が行なわれるか、あるいは今回発表されたCSS for Clientでもその最適化オプションがどこかのタイミングで追加されるということになるのではないだろうか。
Cortex-X5ではなくCortex-X295は、X4の改良版ではあるが性能が大きく向上している
今回Armが発表したCSS for Clientは、昨年までのTCS23と何が違うのだろうか? 以下の表1がそのIPデザインレベルでの違いとなる。
TCS21 | TCS22 | TCS23 | CSS for Client | |
---|---|---|---|---|
CPUプライムコア | Cortex-X2 | Cortex-X3 | Cortex-X4 | Cortex-X925 |
CPU高性能コア | Cortex-A710 | Cortex-A715 | Cortex-A720 | Cortex-A725 |
CPU高効率コア | Cortex-A510 | Cortex-A510 | Cortex-A520 | Cortex-A520 |
DSU | DSU-110 | DSU-110 | DSU-120 | DSU-120 |
GPU | Mali-G10 | Immortalis-G715 | Immortalis-G720 | Immortalis-G925 |
プロセスノード最適化 | 5nm | 4nm | 4nm | 3nm |
CPUに関して大きく言うと、プライムCPUコアのCortex-X、高性能コアのCortex-A7xxシリーズは更新されたが、高効率CPUコアはCortex-A520のままで据え置かれている。また、DynamIQ(以前の言い方でいうならbig.LITTLE)のアーキテクチャに基づいて、CPUコアをクラスター化するためのモジュールになるDSU-120も、TCS23から据え置かれている。
高効率CPUコアとクラスターモジュールが据え置かれているのは、この世代が初めてというわけではない。上記の表1を見ていただければ分かるように、2022年のTCS22でも、TCS21の高効率CPUコア「Cortex-A510」とクラスターモジュール「DSU-110」が据え置かれている。そのようにこれまでもその2つは2年据え置かれるのが通例で、今回もそうした通例に従った進化だ。
一方プライムCPUコアはTCS23のCortex-X4からCortex-X925へと強化されている。Cortex-X4の後継なのだから、Cortex-X5になっていないのは、高性能CPUコアと高効率CPUコアの製品名であるA7xx、A5xxと合わせたということだ。X9xxは今後プライムCPUコアのブランド名になり、後継製品はX930のような形になるだろう(その意味ではCortex-X4がCortex-X920に相当することになるが……)。
プライムCPUコアが9、高性能コアが7、高効率コアを5とすることで、9/7/5という、もとは自動車メーカーBMWのグレード名に由来する、半導体業界では一般的なネーミングスキームを、Armも採用したということだ。
もう1つCortex-X925という製品名から分かることは、この製品がArmにとって前世代の改良版という位置づけであることだ。Armは完全に新しいアーキテクチャではA710、A720のように末尾が0になるのが通例だ。2022年のTCS22がそうだったように、前世代の改良版の製品名は末尾が5になる。そのルールに従うと、X925はX920相当だと考えられるCortex-X4の改良版という位置づけだと考えて良いだろう(ただ誤解なきように言っておくと、Arm自身はそうは説明していない、ただ過去のネーミングの法則からそう推測できるという話だ)。
実際、Cortex-X925のマイクロアーキテクチャ(ハードウェア的な仕様)は、Cortex-X4のマイクロアーキテクチャを踏襲している。ただし、細かなところの改良とプロセスノードの最適化が進み、結果としてIPCが大きく改善されているのが特徴となる。
Cortex-X925はL2キャッシュメモリ増量、浮動小数点演算ユニットの追加、周波数の向上でシングルスレッド性能が大幅向上
大きなところではL2キャッシュが最大2MBから3MBに引き上げられている。キャッシュメモリはメモリレイテンシ(遅延)を減らす効果を持つ。CPUは、メモリからデータを読み込む間、ストール(動作を一時停止)しているので、メモリレイテンシが長くなればなるほど性能は低下する。それを削減できれば、CPUの性能は向上することになる。もちろんキャッシュにヒットするという条件はつくが、キャッシュメモリを増やすことはメモリレイテンシを削減することがあるので、それを増やしたのはCortex-X925の大きな特徴だ。
また、フロントエンド、実行ユニット、バックエンドに関しても改善が加わっている。フロントエンドでは、命令ウィンドウサイズが2倍になり、かつL1データキャッシュの帯域幅や命令TLB(分岐予測用のキャッシュ)のサイズが増えるなど、細かな部分が強化されている。それによりCortex-X4に比べて命令実行の効率が上がっている。バックエンドではロードストアや、アウトオブオーダー時の効率が改善され、命令実行の効率がCortex-X4に比較して向上していることが特徴だ。
実行ユニットの強化では、10ワイドのデコーダ・ディスパッチという構成は基本的に変わっていないが、浮動小数点演算の実行ユニット(128bit幅)が4から6へと増やされている。これにより、浮動小数点演算やSIMD演算時の性能が大きく向上していることが特徴となる。
ArmはArmv9世代で「SEV2」というSIMD系の命令セットを追加しており、それを利用することでAI演算などを効率よく行なえるようになっている。Armが公表したデータによれば、Llama3、Phi-3といったLLM、SLMなどで同クロック周波数のCortex-X4に比較して40%近い性能を実現しており、その効果が大きいことを伺わせている。
そして、もう1つ重要なことは、前出の通りのファウンドリの最新プロセスノードになる3nmへの最適化が行なわれていることだ。具体的には、従来のCortex-X4では3GHz前後のクロック周波数になっていたのに対して、Cortex-X925では両ファウンドリの3nmへの最適化が進められたことなどにより、3.8GHzまでクロック周波数が引き上げられている。
結局のところ、CPUの性能は、IPCとクロック周波数のかけ算になるので、マイクロアーキテクチャの改良と、クロック周波数の引き上げにより、シングルスレッドの性能が大きく引き上げられることになる。2023年のプレミアム市場向けAndroidデバイスに搭載されているCPUを1とすると、3.8GHzのCortex-X925は約1.32倍程度、さらにソフトウェアの最適化を進めると1.36倍という性能向上を実現できるとArmは説明している。
これまでのArm CPUはモバイルに特化していたため、あまりシングルスレッドの性能は重視されてこなかった。しかし、Apple Mシリーズ、そして最近で言えばQualcommのSnapdragon X EliteのようなArm CPUがPCのCPUとして採用されるようになってくると、やはりArm CPUでもシングルスレッドの性能は重要だというのが一般的な認識になりつつある。
その意味で、今回のCortex-X925は、Snapdragon X EliteのOryonがそうであったように、シングルスレッドの性能を引き上げることで、マルチスレッドの性能も引き上げられるCPUを設計することが可能になる。そういう製品だと言えるだろう。
Cortex-A725もL2キャッシュが最大1MBに、同じCortex-A520とDSU-120は3nmへの最適化により全体の性能が向上
高性能CPUコアのCortex-A725も、基本的には昨年モデルのCortex-A720の進化版となる。最大の強化ポイントはCortex-X925と同じでL2キャッシュの容量が増やされている。
具体的にはA720では最大512KBの実装が可能になっていたが、A725では最大1MBまで増やされている。もちろんすべてのA725が1MBになるという意味ではなく、256KB、512KBも従来通り選択可能だ。
マイクロアーキテクチャの改良も行なわれており、レシスターファイルの構造が拡張されたり、リ・オーダー・バッファが増やされたり、命令発行キューが増やされている。また、Cortex-X925と同じように、3nmのプロセスノードへの最適化が行なわれている。こうした改良により、Cortex-A720に比較して性能は35%向上し、電力効率は25%改善しているなどの効果がある。
前述の通り、高効率コアのCortex-A520に関しては基本的にマイクロアーキテクチャなどには手は入れられていない。しかし、他の2つと同じように3nmへの最適化は行なわれており、それにより消費電力はTCS23のCortex-A520に比べて15%削減されており、こちらも電力効率の改善が実現されている。
また、そうした3種類のコアをクラスター化するためのDSU-120も、TCS23からの継続となる。サポートする最大のCPU数が14コアまで、最大で32MBのL3キャッシュに対応などのスペック的には同じく変わっていない。
しかし、こちらも3nmへの最適化が入り、L3キャッシュ容量を増やしたりすることが用意になる。Armが公開したCSS for ClientのリファレンスモデルではL3キャッシュが16MBになっており、TC23の8MBから増やされている。
Immortalis-G925は第5世代GPUの進化版、シェーダーコアを最大24基まで増やせる
GPUのImmortalisも、Immortalis-G925へと進化している。TCS23のプレミアム向けGPUはImmortalis-G720という製品名だったが、このCSS for Clientの世代から、プレミアム向けはCPUのプライムコアと合わせて「925」という数字に変更されている。こちらもCPUと同じで、プレミアム向け製品の数字を9xxに統一するということで、G7xxからX9xxに変更されたということだと理解できるだろう。
TCS22 | TCS23 | CSS for Client | |
---|---|---|---|
プレミアム向け | - | Immortalis-G720 | Immortalis-G925 |
メインストリーム | Mali-G710 | Mali-G720 | Mali-G725 |
ローエンド | Mali-G610 | Mali-G620 | Mali-G625 |
Armは前世代となるTCS23のGPU(Immortalis-G720)を大きくアーキテクチャを変更しており、同社が第5世代GPUと呼んでいるタイルアーキテクチャを採用したアーキテクチャを導入し、同時にレイトレーシングのハードウェアエンジンを搭載し、レイトレーシングに対応したAndroid OS向け3Dゲームなどでレイトレーシングを利用して表現力を向上させることが可能になっていた(実際にMediaTekのDimensity 9300がこのImmortalis-G720を採用してレイトレーシングに対応している)。
今回発表されたImmortalis-G925は、そうした第5世代GPUのアーキテクチャの進化版となる。G720との最大の差は、新たに「Fragment Prepass」に対応したことだ。Fragment Prepassは、アプリケーションが物体の並べ替えをする必要をなくすことで、ジオメトリ演算時のCPU/GPUへの負荷を軽減し、性能を向上させ、消費電力の削減に貢献する。具体的にはCPUのレンダー時のスレッド数が43%削減できる。
また、ハードウェア・レイトレーシングエンジンも改良されており、正確性と性能のトレードオフを調整できるようになった。レイトレーシングは、より正確で美しい影を描画したりするには、ハードウェアに大きな負担をかけることになる。そこで、正確性には少しぐらい目をつぶってもらって性能を上げるオプションを3Dゲームの開発者に提供することが可能になる。
たとえば、3Dゲームをプレイするときに、レイトレーシングの正確性と性能のバランスを調整するスライダー機能をゲームのオプションとして提供するなどの使い方が考えられる。
また、Immortalis-G720には、最大で16コアまでシェーダーコアを増やせるようになっていたが、G925は最大24基まで増やせるようになった。シェーダーコアは、コア数が増えれば増えるほど並列実行できるデータ量が増え性能が向上するが、ダイサイズが大きくなり消費電力も増えることになる。このため、Armの顧客が自分の決めたバランスに応じてコア数を、10~24コアの間で調整できるようになる。
なお、9コア以下の場合は、6~9コアはメインストリーム向けのMali-G725を、1~5コアの場合はMali-G625を選択することが可能で、その場合ダイサイズと電力は減少することになるので、メインストリーム向けやローエンド向けのSoCを設計する場合にはそちらを選択できる。
Arm CPU向けにAIアプリケーションを最適化できる開発ツール「Kleidi」を発表
今PC業界はAI PCとして、Androidスマートフォン業界ではオンデバイスAIとして、デバイス上でAI処理を行なうAIアプリケーションが注目を集めている。そのコア技術として、注目を集めているのがNPU(Neural Processing Unit)であることは論をまたない。
しかし、今回のCSS for ClientにはNPUは含まれておらず、Armの姿勢としてはNPUが必要な半導体メーカーは自社で設計し、Arm以外のサードパーティが提供するNPUを進めている状況だ。
実際、MediaTekは最新製品の「Dimensity 9300」では「MediaTek APU 790」というNPU(MediaTekはAPU=AI Processing Unitと呼んでいる)を搭載しているし、ArmのCortexをCPUに採用しているQualcommも、Hexagon NPUという自社設計のNPUを採用している(最新のPC向けSnapdragon X EliteにもHexagon NPUは採用されており、Copilot+ PCの40TOPS以上という要件を満たす45TOPSを実現)。
Armとしては将来にわたってNPUを提供しないのかというとそんなことはないようだが、現時点ではNPUの提供はなく、AIアプリケーションへの対応は、Arm CPUへの最適化ツールを提供していくことで、効率を上げる方針を明らかにしている。
具体的には、「Kleidi」と呼ばれるソフトウェア最適化ツールを提供する。KleidiはAI向けの「KleidiAI」と、コンピュータビジョン向けの「KleidiCV」の2つが用意されており、Armv9で新たに対応したSIMD型演算命令「SVE2」(および従来型のNEON)、Armv9のどこかの世代でサポートされる計画の「SME2」という次期拡張命令を利用して、AIやCVのアプリケーションの効率を上げられる。
たとえば、Llama3やPhi-3などのLLMやSLMを利用して生成AIを実装していく場合、Kleidiを利用して最適化を行なうと、24時間で最初のトークンを出力するまでの時間が190%高速化されたという。
AIのアプリケーションを開発プログラマーやAI開発者の多くは、モデルなどのAIに関しては詳しいが、CPUやGPUなどのハードウェアには詳しくない開発者がほとんどだ。そうした開発者にとってハードウェアに関して詳しく勉強しなくても、簡単に最適化して高速化が実現できるツールの存在はありがたく、Kleidiは要注目のツールとなるだろう。
MediaTekなどのスマートフォン向けSoCにまず採用。PC向けの採用は?
このように、今回ArmがリリースしたCSS for Clientにおいて、特にCortex-X925のL2キャッシュ増量、浮動小数点演算ユニットの増加、3.8GHzなどの高いクロック周波数をサポートしていることなどが大きな特徴となる。その意味で、実際の製品に採用されれば高い性能を発揮する可能性が高い。
通常Armの新しいIPデザインは、COMPUTEX前の5月末に発表され、第4四半期にQualcommやMediaTekなどのトップカスタマーの製品に搭載されて出荷される。通例で行けばMediaTekのフラグシップ製品に搭載されるのは確実だ。昨年MediaTekが発表したDimensity 9300は4つのCortex-X4と4つのCortex-A720という8コア構成になっており、その後継製品が4つのCortex-X925と4つのCortex-A725になる可能性は容易に想像できるだろう。
問題はもう1つのトップカスタマーであるQualcomm。Qualcommの昨年発表されたハイエンドモデルSnapdragon 8 Gen 3は、1つのCortex-X2、5つのCortex-A720、そして2つのCortex-A520という変則的な8コア構成になっていた。
通常であれば、Cortex-X4がCortex-X925に、Cortex-A720がCortex-A725になるのが順当な進化だが、QualcommはPC向けのSnapdragon X Eliteに実装されて高い性能を発揮している自社設計の「Oryon」CPUをスマートフォン向けにも採用する意向を既に表明している。そう考えると、Cortex-X925は採用しないと考えるのが妥当なところで、ここはQualcommがどんな選択をするか注目される。
PC製品にCortex-X925が採用される可能性だが、これは技術的な問題と、政治的な問題を分けて考える必要がある。
技術的にはCortex-X925を利用してPC向けの製品を構築することは可能だ。DSU-120は最大で14コアのCPUを実装することが可能で、たとえばCortex-X925を10コア、Cortex-A725を4コアとか、Cortex-X925を12コア、Cortex-A725を2コアで、32MBのL3キャッシュを搭載するなどのハイエンドスペックのCPUを構築できる。こうした設計をすることで、Snapdragon X Eliteに匹敵するようなCPU性能を実現することが可能になる。
しかし、現時点ではMicrosoftがArm版WindowsのSoCとして公式に認めているのは「QualcommのSoCだけ」という点が政治的な問題として残ることになる。Microsoftは、Arm版WindowsにおいてQualcommと独占的な契約を結んでいると信じられている(両社間の契約マターになるため、第三者には伺い知れないのであくまで推測)が、仮にそれが真実だったとすれば、それがいつまでかが焦点になる。
仮にそれが2024年までなら、このCSS for Clientをベースに設計したPC向けのプロセッサが2025年に登場して、それを採用したArm版Windowsデバイスが登場するというストーリーは十分に考えられる。繰り返しになるが、それはMicrosoftとQualcommの約束事がどうなっているか次第で、我々外部からはそれは分からない。
だが、それが解除される日も遠くないと信じたいところだ。そうでなければ、もはやQualcommが採用する見込みはほとんどないのに、Armが「AI PC」に言及する理由はどこにもないからだ。