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

Core対抗となるArm版Windows向けCPU「Snapdragon 8cx」

Snapdragon 855(左)とSnapdragon 8cx(右)。8cxの方がパッケージが大きくなっているのは、PCI Expressへの対応や、メモリコントローラの128bit化によりピン数が増えているため

 米Qualcommは、米国ハワイ州マウイ島において、プライベートテックイベント「Snapdragon Tech Summit」を12月4日~6日の3日間にわたり開催した。

 そこで発表されたのがスマートフォン向けのSnapdragon 855(Kryo 485/Adreno 640搭載など、「Snapdragon 855」の技術が明らかに参照)とPC向けのSnapdragon 8cx(Qualcomm、7nmプロセスのWindows 10用SoC「Snapdragon 8cx」参照)の2製品で、Snapdragon 855搭載のスマートフォンは来年の前半に、Snapdragon 8cx搭載したArm版Windowsデバイスは来年の第3四半期に市場に投入される計画だ。

 本記事では、これらSnapdragon 855やSnapdragon 8cxのアーキテクチャ周りの解説、さらにはそのPC版であるSnapdragon 8cxを搭載したWindowsデバイスがどのようになっていくかについて、取材で判明したことを中心にお伝えしていきたい。

Qualcommにとってはプレミアムスマートフォン市場で反抗していく武器となるSnapdragon 855

 先週行なわれたSnapdragon Tech Summitにおいて、Qualcommはハイエンド・スマートフォン向けSoCとなるSnapdragon 855、Arm版Windows向けSoCとなるSnapdragon 8cxの2製品を発表した。

 両製品を一言で表現するなら、Snapdragon 855は正常進化、Snapdragon 8cxは大躍進、そういう表現になるだろう。

Snapdragon 855を搭載したスマートフォンのQRD(Qualcomm Reference Design)

 Snapdragon 855は、Snapdragon 835、845として進化してきた流れを受け継いでおり、今回は835/845の製造に利用されてきた10nmの製造プロセスルールが、7nmへと微細化されたことが大きな特徴になっている。利用されているファウンダリはTSMCで、10nm世代のSamsung Electronicsから変更されている。

Snapdragon 855、845、835のCPUの違い
SoCSnapdraon 855Snapdraon 845Snapdraon 835
CPUブランドKryo 485Kryo 385Kryo 280
プライムコア1コア/2.73GHz--
パフォーマンスコア3コア/2.42GHz4コア/2.8GHz4コア/2.45GHz
効率コア4コア/1.8GHz4コア/1.8GHz4コア/1.9GHz
省電力技術DynamIQbig.LITTLEbig.LITTLE
ベースデザインCortex-A76/A55Cortex-A75/A55Cortex-A73?/A53?
LLC5MB2MB-
GPU-Adreno 640Adreno 630Adreno 540
DSP-Hexagon 690Hexagon 685Hexagon 682

 CPUの観点から見ると、Kryo 280、Kryo 385、Kryo 485と進化してきている。いずれもArmのBoC(Based On arm Cortex technology)ライセンスと呼ばれる、ARM社が提供するCortexのIPライセンスを使いながら、SoCベンダーが独自にセミカスタマイズ(一部分だけカスタマイズすること)して利用できるライセンスを利用している。

 Snapdragon 855はCortex-A76(4コア)+Cortex-A55(4コア)をベースにして、Qualcommがカスタマイズしたデザインとなる。

 前世代まではbig.LITTLEと呼ばれる性能を追求するコア(big)と効率を追求するコア(LITTLE)を切り替える仕組みの省電力機能が使われていたが、この世代からArmが新たに導入したDynamIQ(ダイナミック)に対応しており、Big側のコア(Cortex-A76ベース)はプライムコア(2.73GHz)とパフォーマンスコア(2.42GHz)の2つの種類に分割されている。

 アプリケーションの起動などは高速なシングルコアが必要になるためプライムコアが利用され、それ以外の通常の処理はパフォーマンスコア側に切り替えて実行するなどの使われ方をする。ただし、電力供給はプライムコア+パフォーマンスコア全体で1つとなる。また、L3キャッシュ/LLCは2MBから5MBに増やされている。

 GPUに関してはQualcommは明確な説明をしていないため、どのような性能向上があるのか明確ではないのだが、性能は上がり続けているとQualcommは説明しており、レンダリング性能では前世代より20%向上しているという。

ゲーミング時は性能が上がっているだけでなく消費電力も下がっている
Instagram投稿時の消費電力も下がっている

 また、今年の大きな進化はDSPのTensorアクセラレータが入ったことだ。

 QualcommのSoCの場合には、エッジAIの処理、具体的にはML/DLの推論処理は、CPU、GPU、DSPへの演算の割り当てをソフトウェアランタイムが動的に行なって処理していく。この仕組みが競合他社のNPU(Neural Processing Unit)と総称されるようなアクセラレータとの大きな違いとなる。

 NPUのような仕組みを採用していると、NPUのアーキテクチャを変える度にソフトウェアは作り直しになる。それに対して、Qualcommのやり方の場合は、ソフトウェアランタイムで命令セットやハードウェアを抽象化しているため、ハードウェアの仕様をいくら変えても、ランタイムが新しいハードウェアをサポートしさえすればカバーできるので、ソフトウェア側は手直しをしないでよいメリットがある。

 今回、DSPにTensorアクセラレータを入れたのは、そのメリットを最大限活かすためと言えるだろう。

中国のソフトウェアメーカーが開発した「AI Super Image」。AIが人間を検出して背景をボケさせる。左側が補正後
ArcSoftの「Super Night」。AIによりコントラストなどPhotoshopで補正するようなパラメーターをAIが自動で行ない、より鮮明な夜景を撮影することができる。右側が補正後

 すでにQualcommは、多くのソフトウェアベンダーにSnapdragon向けのエッジAIソフトウェアの開発を促している。

 たとえば、展示会場ではそうしたソフトウェア開発環境を利用したArcSoftが、AIを活用したソフトウェアによる夜景の補正機能をデモしていた。これは、人間が補正したデータをAIに学習させ、AIがまるでプロがやったように補正する機能だ。

 言ってみれば、リアルタイムにPhotoshopを利用してプロがやるような補正をAIが代わってやってくれる、そういう機能。今回はそうしたSnapdragonのAIに対応した、サードパーティによるソフトウェアのデモを多数見ることができた。

 昨年まではQualcommが試験的に作ったソフトウェアがほとんどだったことを考えると、SnapdragonのAIプラットフォームも安定期に入ってきたということができるだろう。

 Qualcommにとっては、ここ数年失い気味だったプレミアム市場での逆襲に賭ける。Apple、Samusung、HUAWEIといったプレミアムTier のOEMメーカーが自社のSoCを採用しており、そうしたプレミアム市場ではやや後退気味感があることは否めない。

 今後のQualcommにとっては、Xiaomi、VIVO、OPPO、OnePlusといった、それらのメーカーを追いかける中国のスマートフォンメーカーと関係を深めることで、欧州や米国市場などでの反攻を仕掛けていくことが重要になる。

 Snapdragon Tech Summitでは、OnePlusのCEOが来場し、来年のOnePlusのフラッグシップ製品にSnapdragonが採用されることを明らかにしたほか、12月5日に中国の通信キャリアChina Mobileが中国で行なったイベントでは、OnePlusに加えてXiaomi、OPPO、Vivo、ZTEなどもSnapdragon 855を搭載した製品を来年投入すると明らかにしており、そうしたフラッグシップ市場での攻勢を印象づけた。

最初の世代では性能が足りていなかったため市場で受け入れられなかった……そのため6月に急遽Snapdragon 850を投入

Snapdragon 8cxのウェハ

 これに対して、Snapdragon 8cxに関しては、従来世代からの大きなジャンプになる。

 昨年(2017年)にQualcommは、Windows用のSnapdragon 835を発表し、ASUS、HP、Lenovoが今年に発売することを明らかにした。それらの製品は確かに一部市場(米国など)では販売されたが、成功を収めたと言いがたいというのが業界の受け止め方だ。

 なによりの証拠は、Qualcommが主張するPC用Snapdragonの特徴である、長時間バッテリ駆動、常時接続という特徴が受け入れられやすい日本市場で、1つも製品が発売されなかったことだ。

 何が課題だったのかと言えば、性能が足りなかったのだ。

 Arm版Windowsでは従来のWindowsアプリケーション(いわゆるWin32アプリ)でx86命令向けに作られているものは、バイナリ変換をリアルタイムに行ないながら実行する仕組みになっている。

 つねにライブで変換しているのではなく、ある程度は変換したデータをキャッシュとして持っておき、同じアプリを何度か起動しているうちに、高速に実行できるようになっている。このため、単なるバイナリ変換よりは高速にx86アプリケーションを実行できるのだが、それでもある程度の性能が必要になる。

 Snapdragon 835ではその性能が十分とは言えない状況だった。その理由は2つあり、1つはCPUの性能が十分でないこと、そしてストレージがUFS3で、ハイエンドなノートPCに採用されているNVM Express SSDなど高速なストレージに比べるとストレージ周りの性能が十分ではなかったからだ。

 それこそ、WordやOutlookなどを使っていてもやや重いかなと感じるレベルで、とても「サクサク動いている」とはお世辞にも言えない状況だった。とくにMicrosoft Officeは、Armネイティブ版が提供されておらず、x86版の32bitOfficeを使わざるを得ないため、この点はArm版Windowsの弱点となっていた。

 そのため、本来であれば1年単位で新製品が投入されるところを、年の半ばとなるCOMPUTEX TAIPEIのタイミングで、Snapdragon 850が急遽追加されることになった(Qualcomm、Windows PC向けの10nmプロセスSoC「Snapdragon 850」参照)。

 これは、Snapdragon 835の後継製品であるSnapdragon 845をベースに、CPUのクロック周波数が引き上げるなどした製品で、CPUの性能が大きく強化され、IntelのCoreプロセッサの下の方のグレード程度の性能が確保された。

 この製品は当初のロードマップにはなかった製品で、そうした製品を急遽追加しなければならなくなったということが、Snapdragon 835がPC向けとしては十分な性能を確保出来ていなかったことのなによりの証明だ。

大きな性能のジャンプとなるSnapdragon 8cx、855と比較してCPUもGPU大幅強化、そしてNVMeに対応

 そして今回のSnapdragon 8cxだが、別記事でも紹介しているように、ベースの製品となったSnapdragon 855と比較して、CPU(Kryo 495)、GPU(Adreno 680)のどちらも強化されている。

 DSPとISPは同じだが、メモリコントローラのバス幅が倍(64bitから128bitへ)になり、PCI Expressコントローラが内蔵されている点が大きな違いになる。

Snapdragon 8cxなどQualcommのPC向け製品のスペック(Snapdragon 855は参考までに掲載)
SoCSnapdragon 8cxSnapdragon 855Snapdragon 850Snapdragon 835
CPUブランド名Kryo 495Kryo 485Kryo 385Kryo 280
ベースデザインCortex-A76(4コア)+Cortex-A55(4コア)Cortex-A76(4コア)+Cortex-A55(4コア)Cortex-A75(4コア)+Cortex-A55(4コア)Cortex-A73?(4コア)+Cortex-A53?(4コア)
LLC10MB5MB2MB??
GPUブランド名Adreno 680Adreno 640Adreno 630Adreno 540
メモリバス幅8x16bit4x16bit4x16bit4x16bit
メモリ種類/データレートLPDDR4x/2133MHzLPDDR4x/2133MHzLPDDR4x/1866MHzLPDDR4x/1866MHz
理論帯域幅約68.3GB/s約34.1GB/s約29.9GB/s約29.9GB/s
DSP-Hexagon 690Hexagon 690Hexagon 685Hexagon 682
ISP-Spectra 380Spectra 380Spectra 280Spectra 180
モデム-X24(CAT20, 2Gbps)X24(CAT20, 2Gbps)X20(CAT18, 1.2Gbps)X16(CAT16, 1Gbps)
PCI Expressコントローラ-Gen3---
製造プロセスルール-7nm7nm10nm10nm
Snapdragon 8cxのCPUとなるKryo 495

 CPUはCortex-A76ベースの4コア+Cortex-A55 4コアになっているが、特徴的なのはA76ベースの4コアCPUはすべて2.75GHzで動作することだ。

 Snapdragon 855のKryo 485は、ArmのDynamIQベースになっており、1つのコア(プライムコア)が2.75GHzまで、残りのコア(パフォーマンスコア)が2.35GHzとなっているのに対して、Kryo 495ではすべてのコアがプライアムコアで、2.75GHzまで引き上げられる。これにより消費電力は若干上がることになるが、性能は大きく引き上げられる。

 また、システムキャッシュ(IntelプロセッサのLLC、L3キャッシュに相当)が5MBから10MBに引き上げられていることも見逃せない。それに加えて、メモリコントローラのバス幅がSnapdragon 855では64bit(4x16bit)となっているのに対して、Snapdragon 8cxでは128bit(8x16bit)となっている(つまりシンプルに言えばメモリ帯域が倍になる、理論値では855が約34.1GB/sであるのに対して、8cxは約68.3GB/sになる)。

 キャッシュの増量によりメモリレイテンシが削減され、バス幅の増加によりメモリ帯域幅が増えることになり、CPU全体の処理能力が引き上げられることになる。

Adreno 680の性能、Snapdragon 850に搭載のAdreno 630と比較して2倍、Snapdragon 835に搭載されているAdreno 540と比較して3.5倍と大幅ジャンプ

 GPUに関しても同様で、Adreno 640からAdreno 680へと強化されている。

 Qualcommによれば、Adreno 680はトランジスタ数が倍になっていると説明されており、それに合わせてEUやALUなどの演算器が増えている。倍になった分すべてがEUやALUになっているとは限らないと思うが、それに近い割合でEU/ALUが増えていると考えられる。このあたりは、プロセスルールが微細化(7nm)されている恩恵を受けているのだろう。

 メモリコントローラのバス幅が倍になっている効果はGPUにもある。というよりも、GPUにこそあるというべきで、それによりGPU性能は大幅に強化されていると理解することができる。

 これにより、4Kディスプレイ2枚、PC内蔵の1枚と合計で3枚のディスプレイに同時出力が可能になっており、今回のSnapdragon Tech Summitで、3つのディスプレイに出力するデモを行なった。

内蔵のディスプレイを含めて3つのディスプレイに表示
PCI Expressに対応したことでNVMe SSDに対応
QRDベースの製品でもNVMeのSSDが搭載されていた

 さらに、PCI Expressコントローラを内蔵したことも大きい。といっても外付けGPUを搭載するという用途に使うのではなく、NVMe(NVM Express)ないしはPCI ExpressのSSDに対応するためだ。

 従来のSnapdragon 850までは、PCI Expressコントローラを内蔵していなかったため、ストレージはUFS3ないしはeMMCとなっていた。UFSもeMMCに比べれば高速になっていたが、NVMeと比較すると性能面では劣るというが現状だった。

 しかし、このSnapdragon 8cxからPCI Expressに対応したため、NVMeを使うことが可能となり、アプリケーションの起動といった、ユーザーの体感速度やストレージにメモリスワップした場合の性能は大きく上がることになる。

 また、UFS3だとストレージの容量が256GB程度に制限されているが、NVMeに対応することで、1TBや2TBといった大容量のストレージ構成も可能になる。

7W TDP時ではIntelの2倍の性能、15W TDP時ではIntelの15Wプロセッサと同等の性能と説明。ただし、8cx自体はTDP7Wの設計のみとなる。

 これらにより、Snapdragon 8cxは、PC用プロセッサと呼ぶにふさわしい性能を得たと言える。

 Qualcommは7W TDPの熱設計で、IntelのTDP 15WのノートPC向けプロセッサと同等の性能、あるいは、どちらも7W TDPにした場合の比較では倍の性能、と表現した。

 昨年(2017年)のSnapdragon 835ベースの製品発表の時点では、性能に関して一切言及できない状況だったことを考えると、そういったアピールを言えることだけでも大きな進展と言えるだろう。

展示会場で展示されていたSnapdragon 8cxのリファレンスデザイン

 実際、展示会場で展示されたSnapdragon 8cxのサンプルを短時間触ってみたが、2017年のSnapdragon 835ではひっかかるような動きを見せていたのに対して、そういう感じがなくなった。

 2コアのCore i5ぐらいのノートPCぐらいのイメージというと、正しい表現だろうか。より正確な評価は、じっさい市場に製品が登場した後、ということになるだろう。

Arm64ネイティブなFirefoxとChromiumをデモ、残る課題はPremiere Proなど64bitのみのアプリケーションへの対応

 今回のSnapdragon Tech Summitで、Qualcommはソフトウェア面でも大きな進化を示すことができた。ArmネイティブのFirefoxをMozillaが作成したことを明らかにし、今後提供されると説明したのだ。

FirefoxのArm64版を発表

 すでに述べたとおり、Arm版Windowsではバイナリ変換機能を利用して32bitx86のWin32アプリケーションを実行することができる。バイナリ変換に使うデータをキャッシュする仕組みが入っているため、従来のバイナリ変換よりも全然高速だが、それでも変換時の性能の低下はないわけではない。

 その意味では、本来の性能を引き出すには、64bitArm命令のアプリケーションが出てくる方が良いのは言うまでもない。

FirefoxのArm64版
ChromiumのArm64bit版

 すでにMicrosoftはArm64のSDKを提供しており、それを利用することで、ArmバイナリのWindowsアプリケーションをコンパイルすることが可能になっている。それによって登場したのがFirefoxのArm64bit版だ。

 また、すでにChromeブラウザのもとになったChromiumのArm64bit版も作られており、今回のSnapdragon Tech Summitで併せてデモされた。

 もちろんArm版が登場すればすべて問題解決という訳ではない。たとえばプラグインの多くはx86/x64向けにしか作られていない。それらもArm64に対応するにはまだまだ時間がかかるだろう。

 こうしたSnapdragonベースのWindowsにとって、残る最後の難関は、Adobeの64bitアプリケーションだろう。

 たとえば、Premiere Pro CCやAfter Effects CC、Premiere Rush CC、Lightroom CC(Lightroom Classic CCは32bit版が用意されている)の最新版は無条件で64bit版しか提供されていない。このため、SnapdragonのWindows 10でPremiere Pro CCなどを使う手段は、今のところ存在していない。

Microsoft 執行役員 エリン・チャプル氏

 Microsoft 執行役員 エリン・チャプル氏によれば、Microsoftは、Arm版Windowsでx64のバイナリ変換を実装する計画は今のところないという。

 チャプル氏は「64bit版のアプリケーションが必要となる場合のほとんどはゲームアプリケーションで、現状では必要ないと理解している。もちろん例外もあることは認識しており、それはアプリケーションベンダーにArm64への以降を訴えていきたい」と述べており、近い将来のArm版Windows 10で、64bitのバイナリ変換機能が実装される可能性は今のところない。

Adobe Creative Cloudのアプリケーションは32bit版がある場合は動作、Officeは32/64bit両対応なので32bit版を利用できる

 これを解決してもらうには、Adobe自身にArm64のネイティブアプリを作ってもらうしかない。

 ただし、Photoshop CCやLightroom CCといったアプリケーションは、古くからのコードを引きずっており非常に複雑な構造になっているため、これらをArm64に対応させるには相当の書き直しが必要になり、これらが近々Arm64にポーティングされる可能性はかなり低いと業界では考えられている。

 良いニュースとしては、すでにAdobeは新しいプログラミングの開発プラットフォームに乗り換えており(Lightroom CCやPremiere Rush CCなどのアイコンの角が丸いソフトウェア/見えてきた「Photoshop CC for iPad」の正体参照)、それらのソフトウェアでは1つのコアとなるコードを書いておいて、そこからiOS版、Android版、Windows版、macOS版と派生している。

 これらからArm64版を作るのは比較的容易だと考えることができ、それこそ最後の段階で、前述のSDKを利用してArm版にコンパイルするだけで済む可能性が高い。

 ただ、それでもプラットフォームの選択肢を増やすことは、ソフトウェアベンダにとって検証作業などの手間が増えるため、確実に数が見込めると見通しがなければやらないだろう。少なくともSnapdragon 835で大成功を収めることができないかったことを考えれば、ソフトウェアベンダから見ればそこは典型的な「鶏と卵」論争状態にあると見えるだけに、一筋縄ではいかないだろう。

Windows 10 Enterpriseへの対応やPCメーカーの裾野を広げていく取り組みで、Arm版Windowsの普及を目指す

 その意味ではQualcommに求められているのは、とにもかくにも鶏、つまりSnapdragonを搭載したWindowsデバイスの数を増やすことだ。Snapdragonを搭載したPCが市場に出回り、ボリュームが増えていけば、ソフトウェアベンダも黙って対応してくれるからだ。

 その意味で、Qualcommには2つの事が求められている。1つは現在PCの主戦場となっている企業向けのデバイス市場でIntelと戦っていくこと、もう1つは裾野が広いPC市場だけに、Tier 1の大手OEMメーカーだけでなく、Tier 2やローカルOEM(LOEM)、さらにはそれらのメーカーの製品を作っているODMメーカーに対して、積極的に働きかけていくことだ。

Windows 10 Enterpriseに対応

 前者の観点から考えれば、Windows 10 Enterpriseに対応することを発表できたことは重要だ。

 Arm版Windows 10では、すでにHomeやProのSKUは用意されていたが、Enterpriseは用意されていなかった。

 これまでのArm版Windows 10でEnterprise SKUが用意されていなかったのは、Microsoftのチャプル氏によれば、「従来のArm版WindowsではHypervisorに対応していなかった。EnterpriseのSKUではCredential GuardやSecure GuardなどHypervisorを必要とするセキュリティの機能などが多数ある。従来バージョンではそれを実装することができていなかったためEnterprise SKUが用意できなかった。しかし、今回それらを実装することができたため、Enterprise SKUを提供することを開始した」と説明した。

 来年の第3四半期以降に登場するSnapdragon 8cx搭載デバイスでは、大企業はEnterprise SKUを選択することができるようになるため、今後はより企業向けのPC市場で、戦っていける可能性が高まってくる。

 とくにMicrosoft 365やOffice 365をITインフラに使っているような大企業で、長時間バッテリ駆動、LTEの機能を内蔵といったところが評価されれば、選択肢の1つとして検討されていく可能性は高い。

Qualcomm Technologies 製品管理 上級部長 ミゲル・ヌネス氏

 もう1つの、SKUを増やすことやOEMメーカーの裾野を広げていかないといけない問題は、Qualcommも認識している。

 Qualcomm Technologies製品管理上級部長 ミゲル・ヌネス氏は、「競合とは異なるスケール戦略を持っている。8cxと併存して850を提供していく。我々は今後そうした製品ポートフォーリオを利用した一貫したリファレンスデザインをTier 2、Tier 3のOEMやODMメーカーに提供していく計画だ。そうした製品は来年の半ば頃には市場に出回っていく可能性が高い」と述べた。

 現在スマートフォンがそうであるように、Tier 1のOEMには8xxなどのハイエンドを提供し、Tier 2やTier 3にはSnapdragon 6xxなどのミドルレンジを提供していくという形に近いことをPCでも検討していることを明らかにした。

 なおヌネス氏は、「今回はPCメーカーの発表タイミングと無理に合わせることはしなかったが、2019年に向けて多くのOEMメーカーが搭載製品を計画している」と述べ、Qualcommがいう2019年の第3四半期に搭載製品が登場というタイミングで、多くのOEMメーカーから搭載製品が登場するだろうという見通しを明らかにした。