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

見えてきたARM版Winodws 10の姿

~次期SurfaceはSnapdragon 835搭載になる?

Windows 10でQualcomm Snapdragonがサポートされると発表された

 Microsoftは12月8日~12月9日の2日間に渡り、ハードウェア戦略などを説明するイベント「WinHEC Shenzhen 2016」を中国・深セン市内のホテルにおいて開催した。その中で、従来はx86のみをサポートしてきたフルWindows 10において、来年以降にARMをサポートすることを発表した。

 本記事では、Microsoft Windows & Devices担当上級副社長 テリー・マイヤーソン氏とのインタビューやSoCベンダーの取材などから見えてきた、ARM版Windows 10を取り巻く状況について解説していきたい。

必然的な動きとなったARM版Windows 10

Microsoft Windows & Devices担当上級副社長 テリー・マイヤーソン氏

 今回のMicrosoftのQualcommの提携に唐突感を受けた読者も少なくなかったのではないだろうか。だが、Microsoftが説明していることをよく分析していくと、MicrosoftがARM版Windows 10の投入を決めたのは必然的だったということがよく分かる。

 WinHECで会見に応じたMicrosoft Windows & Devices担当上級副社長 テリー・マイヤーソン氏は、なぜIntel/AMDといったx86プロセッサに加えて、QualcommのARMプロセッサをサポートするのかということを問われ、「Intelは性能やセキュリティという観点で非常に優れた製品を提供してきてくれている。その評価は今後も変わらないだろう。しかし、市場からのニーズを考えると、もっと低消費電力で、バッテリ駆動時間が長く、常時接続性を実現した半導体がWindowsにも必要だと考えた。そこで、QualcommのSnapdragonシリーズをWindowsのエコシステムでサポートすることにした」と説明した。

 つまり、引き続き性能を必要とするデスクトップPCやクラムシェル型ノートPC、2in1デバイスでもハイエンド製品などに関しては、IntelやAMDのx86プロセッサになるが、モバイル性が高い製品に関してはQualcommのSnapdragonになるとMicrosoftは考えているということだろう。

 最大の要因は、IntelがCherry Trail(Atom x7/x5)やBay Trail(Atom Z3700シリーズ)の後継製品を用意していないためだ(本来Cherry Trailの後継として用意されていた開発コードネームBroxtonは既にキャンセルされている)。現在のところ、Windowsタブレットの低価格な製品は、多くがCherry Trailベースになっている。MicrosoftのSurface 3がCherry Trailベースなのがその代表例と言える。従って、仮にMicrosoftがSurface 4なり、Surface 5なりをリリースしようと考えていても、Intelの製品ラインナップにその選択肢がないのだ。

 そこをARMのSoCで埋めると考えるのは論理的な解であり、そのために、まずはARMのSoCのトップベンダーであるQualcommをパートナーに選んだというのは必然的な流れだ。

ARM版Windows 10は来年の10月とされているRedstone 3のタイミングに合わせられるか

 ARM版Windows 10はどのタイミングで市場に登場するのかという質問に対して、マイヤーソン氏は「搭載した最初の製品は来年(2017年)の年末商戦に市場に登場する。その後、2018年の前半により広範囲な製品が登場するだろう」と、具体的なスケジュールについて言及した。つまり、最初の製品としてMicrosoftのファーストパーティ製品ないしは大手OEMメーカーの製品が来年の年末商戦に登場する可能性は高い。

 ということは、ARMサポートは10月だと噂されているRS3(Redstone 3、開発コードネーム。Anniversary UpdateはRS1、Creators UpdateはRS2に相当。RS3はその次の大規模アップデート)で入るのかと尋ねたところ「弊社からはRS3なるものに関して公式にアナウンスはしていないので、それがあるのかないのかも含めて今の段階ではお話できない。しかし、Windows 10の新しい機能は大規模アップデートのタイミングで提供している」とした。現在Microsoftが公式にアナウンスしていないRS3についてマイヤーソン氏が話しをできないのは当然だが、大規模アップデートに合わせてARM版Windows 10も提供される可能性が高いことは示唆している。であれば、10月と言われるRS3のリリースに合わせて提供される可能性は高い。

CADやハイエンドゲームなどには苦しいが、Officeなどに十分に使えるx86エミュレータ

 ユーザーにとって気になるのは、ARM版Windows 10がどの程度使えるか、つまり、現在PCの利用用途である生産性の向上に使いうるものなのかという点だ。

WinHECでARM版Windows 10をデモするマイヤーソン氏。操作しているのがSnapdragon 821が搭載されているデバイス
Snapdragon 820、64ビットのWindows 10、4GBメモリ、ペン対応などが分かる
Microsoft EdgeなどのOS標準の機能はもちろんARMネイティブで動いている

 「OSはARMネイティブになる。従ってソフトウェアベンダーがARMネイティブにコンパイルしたアプリケーションを作れば、ARM CPUの性能をフルに発揮できる。一方Win32のアプリケーションをエミュレーションで実行する時の性能だが、アプリケーションの性能を簡単に分類すると、グラフィックス、I/O、CPUという3つの要素に分けられる。このうちグラフィックスとI/Oに関しては、例えばDirectXのようにネイティブコードパスで実行できるので、性能にあまり大きな違いはない。しかし、CPUはエミューションを経なければならず、当然性能の犠牲がある。問題はアプリケーションがグラフィックス、I/O、CPUをどの程度の割合で利用しているかに依存する。3D CADやeSports(ハイエンドゲーム)で使われるようなアプリケーションはあまり適していないと思うが、プロダクティビティアプリケーションやカジュアルゲームであれば十分に使えるレベルだと思う」マイヤーソン氏はと説明する。

 言い換えると、

(1)ARM版WindowsはARMネイティブにコンパイルされたアプリケーションが実行できること
(2)ARM版Windows 10に搭載されているエミュレータは、グラフィックスやI/O周りでの性能低下はほどんとない仕組みであること
(3)Microsoftとしてはプロダクティビティアプリケーション(例えばOffice)は十分使えると考えていること

 というわけだ。

 まず、新しいARM版Windows 10は、OSのカーネルやアプリケーションは完全にARMネイティブで作成されており、かつARM向けにコンパイルされたARMネイティブのアプリケーションが実行できること。ここが、ARMネイティブのサードパーティアプリケーションを走らせられなかったWindows RTとの大きな違いになる可能性が高い。つまり、AdobeのPhotoshopのようなサードパーティのアプリケーションも、ARMをターゲットにしてコンパイルし、ARM版のバイナリを作ることができれば、x86版のWindowsと同じような性能で利用できる可能性がある(もっともこの場合はアプリケーションがアセンブラなどでは書かれていなくて、コンパイル時にターゲットのISAを選べる言語で書かれている必要があるが)。

 また、グラフィックスやI/Oに関しては、ドライバがネイティブで書かれているため性能低下はほとんどないとマイヤーソン氏は指摘したが、CPUをガリガリ使うようなアプリケーションに関しては低下があるとした。これは当然の話で、例えばPhotoshopであっても、アプリケーションの起動や操作に関してはあまり性能低下がないかもしれない。しかし、CPUでフィルタ処理を行なうとすれば、フィルタ処理の命令を一度x86命令に変換してから演算するため、当然その分のペナルティはある。3D CADやハイエンドゲームには向いていないとしたのはそういうことだ。

x86エミュレータ上でPhotoshopを動かしているところ
x86エミュレータ上でWordを動かしているところ

 しかし、CPU負荷がもともとあまり高くない、Microsoft Officeのようなアプリケーションなら、確かにエミュレータは有効だろう。Excelで考えれば、マクロはx86命令で書かれていることが多く、その互換性を考えればエミュレータ上で使うメリットは小さくない。

 なお、マイヤーソン氏は同じような技術のWindows 10 Mobileへの実装について「我々はWindowsを1つのプラットフォームとして提供してきた。それぞれのSKUは異なるスクリーンやシリコンのオプションに対して便宜的に分けているモノであって、あくまで1つのプラットフォームだ」と回答している。このマイヤーソン氏の回答は、明言こそ避けているものの、同じような機能がWindows 10 Mobileにも搭載される可能性があることを示唆している。もちろん、ContinuumでもPCとスマートフォンで違いがあるように、若干の機能の違いはあろうが、何らかの形で搭載される可能性が高いのではないだろうか。

最初に登場するデバイスはSnapdragon 835が搭載されている、それは次期Surfaceか

 ARM版Windows 10のもう1つの注目点は、今回シリコンパートナーとして選ばれたのがQualcommのみで、ほかのARM SoCベンダー、例えばMediaTekなどに関しては何も言及されていない点だ。実質的にIntelとAMDしか選択肢がないx86とは異なり、ARM SoCに関してはQualcomm以外にも、独自OSのみにフォーカスしているAppleを除外しても、MediaTek、Samsung Electronics、HUAWEI、Rockchipなど実に多彩な選択肢がある。

WinHECにはQualcomm Technologies 上級副社長 兼 Qualcomm CDMA Technologies 社長 クリスチアーノ・アモン氏(左)が登壇し、Microsoftとのパートナーシップについて説明した

 この点に関してはマイヤーソン氏は「我々はIntel、AMD、Qualcommに強くフォーカスしている。SoCは非常に高度で安定性が重要になる。それらが実現できて初めて品質を保証できる」と述べ、まずはQualcommとのパートナーシップに集中し、それ以外の選択肢は今後のことだとした。これから新しいARM版Windowsを立ち上げるに当たって、SoCベンダーはWindows用のデバイスドライバを用意する必要がある。グラフィックスドライバはもちろんのこと、Wi-Fi、Bluetoothなども全てを用意する必要がある。かつ、それを十数年近く熟成してきたx86版のデバイスドライバと同じレベルを実現しなければならないのだ。それにはそれなりのソフトウェアリソースが必要であり、まずはそのリソースを備えたQualcommのみでスタートして、それ以外のベンダーに関しては徐々にというのは論理的なやり方だろう。

 QualcommのどんなSoCでサポートされるかだが、Qualcommによれば「最初に登場するデバイスはSnapdragon 835が搭載されている。さらにその後登場する将来世代のSnapdragon 800シリーズのSoCがWindowsをサポートすると予想している」という。つまりSnapdragon 835およびその先にある製品で、ARM版Windows 10をサポートすると説明している。当面、Snapdragon 600シリーズなどのミッドハイ、Snapdragon 400シリーズなどのメインストリーム向けの製品でサポートされるということはなさそうだ。やはり、x86エミュレータの性能を意識したスペックだと考えられるのではないだろうか。

 ここで重要なことは、WinHECのデモで利用されたSnapdragon 821ではなくて、来年正式に発表される予定で10nmプロセスルールで製造されるSnapdragon 835が“最初のARM版Windows 10デバイス”で採用されるとQualcommが明確に言い切っていることだ。

 マイヤーソン氏が来年の年末商戦に登場すると説明した、“最初のARM版Windows 10のデバイス”、それはなんだろうか? 筆者が答えを言うまでもないと思うが、それはかなりの確率でMicrosoftのファーストパーティデバイスになるだろう。それが「Surface 4」になるのか、Surface 4を飛ばして「Surface 5」になるのか分からないが、おそらくARM版Windows 10を搭載し、SoCはQualcommのSnapdragon 835とLTEモデムを搭載している、そういう製品になることはほぼ間違いないと見て良さそうだ。