笠原一輝のユビキタス情報局
明らかになってきたArm版Windows 10の課題とそのメリット
~2018年にはArmネイティブなデスクトップアプリが開発可能に
2017年12月7日 00:00
Qualcommは12月5日~12月7日(現地時間)の3日間にわたり、米国ハワイ州マウイ島において同社のプライベートテクノロジイベントとなる「Snapdragon Tech Summit」を開催している。初日となった12月5日には、Qualcomm Technologies 社長 クリスチアーノ・アーモン氏による基調講演が行なわれ、このなかでQualcommとMicrosoftはSnapdragon 835で動作するArm版Windows 10を発表した。
本記事では、そうしたSnapdragon Tech Summitの基調講演とMicrosoft関係者への取材、さらにはOEMメーカーに取材した内容などを元に、現在のArm版Windows 10が置かれている現状について解説していきたい。
今回発表された製品はいずれもWindows 10 Sがベース
今回のSnapdragon Tech Summitの基調講演、その後行なわれた質疑応答の時間のなかで、Qualcommの幹部、Microsoftの幹部はいずれも、Snapdragon 835を搭載したWindows 10デバイスのメリットとして長時間バッテリ駆動、LTE接続による常時接続は強調したが、処理能力に関してふれた関係者はいなかった。
しかも、今回のデモブースに展示されていたASUSのNovaGoも、HPのENVY x2もOSのSKUはWindows 10 Sになっており、Arm版Windows 10の特徴であるWin32のデスクトップアプリケーションのx86命令(32bit)をArm v8命令(Armの64bit命令セット)に変換しながら実行する機能は試すことができなかった。唯一試すことができたのは、あらかじめインストールされていたx86版のOffice 2016(32bit)アプリケーションを起動したり、実際に利用することだけだ。
今回発表されたArm版Windows 10を、失敗に終わったWindows RTの再来だという人もいる。しかしそれは誤解で、Arm版Windows 10はWindows RTとは完全に異なっている。
Windows RTは機能制限版で、x86命令のWin32のデスクトップアプリケーションは使うことができず、利用できるのはWindows Store経由で提供されるストアアプリケーション(現在UWPと呼ばれているアプリケーションの前身)のみだった。しかし、Arm版Windows 10では、前述のとおり、x86命令(32bit)をArm v8命令(64bit)に変換して実行できるため、32bitのデスクトップアプリケーションをそのままで実行できる。
また、OSのSKUも、今回の2製品にプリインストールされていたのはWindows 10 Sだったが、Windows 10 Home、Windows 10 Proも用意されており、ユーザーはMicrosoft StoreでWindows 10 Proへのアップグレード権を購入して、OSをWindows 10 Proにアップグレードして利用することができ、その場合は任意のWin32のデスクトップアプリケーション(たとえばAdobeのCreative Cloudなど)を実行できるようになる。
ユーザーとして気になるのは、なぜ今回発表された両製品ともにWindows 10 Sなのだろうかという点だろう。OEMメーカーの関係者によれば、それはMicrosoft側の要求だという。Microsoft Windows事業部 事業部長 エリン・チャップル氏は「バッテリ駆動時間や起動時間の短さなどを重視してWindows 10 Sを選択した」と、両製品ともにWindows 10 Sになっている理由を説明する。
そしてMicrosoftは何も言わなかったが、Windows 10 Sを選択すれば、システム全体の価格を抑えることができる。それにより高いというイメージを避けられるため、そうした選択をしていると考えることができるだろう。
別にそれを狙ったわけではないとは思うが、展示されていたマシンにWin32のベンチマークアプリケーションがインストールできなかったので、このSnapdragon 835ベースのArm版Windows 10デバイスの処理能力がどの程度なのか、現時点ではまだ不明だ。このため、速いとか遅いとか数字で示すことができない。非常に曖昧な言葉でしか表現できないので、ある人は「サクサク動く」といい、ある人は「まーまー」なんていう状況になっている。
OEMメーカーの関係者によれば、OEMメーカーで一般的に言われているのは、Cherry Trailよりは速いが、Coreプロセッサよりは遅い、そのあたりの性能だと認識されている点。実際筆者もさわって、Officeの起動などを行なってみたが、Cherry Trailよりは速いかなという印象だった。実際、手持ちの第7世代Core i7と比べてみたが、Officeの起動は俄然Coreプロセッサのほうが速かった。
Microsoftは来年に64bit ArmのSDKを提供
繰り返しになるが、Arm版Windows 10の最大の特徴は、x86からArm v8へのバイナリートランスレーション機能が入っていることにある。ただし、それをプリインストールされているアプリケーション(Office)以外で利用するには、Home以上のSKUが必要であり、現時点ではベンチマークプログラムを利用して実行することはできない。
このバイナリートランスレーション機能について、Microsoftのチャップル氏は「OSそのものの性能について説明するなら、OSのコードはArmネイティブで作られておりペナルティはない。OSの大部分、たとえばEdgeやデスクトップに関してはネイティブで書かれている。
一方、OfficeのようなWin32のコードで書かれているアプリケーションに関しては、Windowsインストラクションレイヤーでエミュレーションされている。これは非常にスマートな変換を行なっており、メモリやディスクをキャッシュとして活用しながら、リアルタイムにx86からArmへ変換を行ない、アプリケーションの起動を高速に行なうことが可能になっている」と説明する。
さらに、アプリケーションがDLLを呼び出すときにも工夫を加えており、システムにDLLをコールする段階ではArmネイティブで動作するため、遜色ない性能を実現できている。それが性能面での従来のバイナリトランスレーションとの大きな違いと言えるだろう。
ただし、前述のとおり、このWindowsインストラクションレイヤーのバイナリトランスレーションで、変換できるx86命令は、32bitのx86命令のみとなる。64bitのx86-64(ないしはx64)のコードで書かれているアプリケーションは変換できない。この点に関してチャップル氏は「弊社で調査したところ、64bit版しか用意されていないアプリケーションは19%で、その多くはハイエンドゲームだった。そうしたハイエンドゲームをこうしたデバイスでやろうというユーザーはいないという結論に達したため、32bitのみのサポートになっている。これは純粋にエンジニアリング的な理由だ」と説明する。
チャップル氏は言及しなかったが、仮にx64のバイナリトランスレーションも行なうとなると、バイナリトランスレーション自体の肥大化につながり、性能が低下する可能性もある。そう考えれば32bitのみに絞ったのは理解はできる。ただ、最近はPremiere ProのようにAdobeのアプリケーションは、64bitのみをサポートする場合も増えている。そうしたアプリケーションで使えないのはちょっと困る。
良いニュースとしては、MicrosoftはArm v8に対応したネイティブアプリケーションを開発するSDKを配布する予定だという。チャップル氏によれば「来年64bit Arm命令に対応したSDKを提供する。可能であれば、そうしたアプリケーションもMicrosoft Store経由で配布できるようにしたい」とのことだ。
たとえば、AdobeがPremiere ProのArm v8版を作成すれば、ネイティブスピードで走れるアプリケーションでバイナリトランスレーションを利用する場合よりも快適に利用できるし、SnapdragonのGPUを利用して処理などが可能になるだけに期待したところだ。
ただし、x86-32のOfficeをArmネイティブにする可能性に関して、チャップル氏は否定した。「Officeにはサードパーティ製も含めてプラグインのエコシステムがあり、それをArmネイティブにすることは難しい。すでにエミュレーションで十分な性能を発揮できているので必要はないと考えている」とのことで、プラグインの存在とそもそもその必要がないからということだった。
現時点でのSnapdragon 835を採用したArm版Windowsのメリットはバッテリ駆動時間
Snapdragon 835を採用したArm版Windowsの処理能力はすでに述べたとおりで、Cherry TrailのAtomよりは速く、Core i3よりは遅いという程度だと考えれば、処理能力面でのメリットはあまり多くない。つまり、Officeアプリケーションを使うぐらいには十分な性能だが、写真のレタッチや動画の編集なども含めるとやや足りないという、現在ユーザーがAtomベースのPCに持っているイメージよりは良いというぐらいだと考えて間違いない。
では、Arm版Windowsを、今の時点で選ぶメリットは何だろうか。それは前述のように、オフィスアプリケーションであれば十分使える性能を実現していながら、長時間バッテリ駆動が可能という点にある。
今回ASUSのデバイスはビデオ再生時に22時間、HPのデバイスは20時間のバッテリ駆動が可能だと説明している。ASUSの製品のバッテリ容量は不明だが、HPの製品は48Whのバッテリを搭載しているとわかっており、これを元に20時間と計算すると、平均消費電力は2.4Whという計算になる。製品によるのでなんとも言えないのだが、IAのデバイスが3W台であることを考えると、“やや低い”平均消費電力となっている。
これが実現できているのは、CPUがより低い電力モードに入ったときの消費電力が、WoAのほうが低いからであると考えられる。もう1つはSnapdragon 835はSoCにモデムのMAC部分が入っていて、SoC+LTEモデムで比較した場合には、IntelのSoC+IntelのLTEモジュール(M.2)に比べてアイドル時などの消費電力が低いという点が影響していると考えられる。
これはSnapdragonの圧倒的なメリットであり、バッテリ駆動時間が何よりも問題というユーザーにとってはSnapdragon 835を搭載したArm版Windowsデバイスは有望な選択肢になると言える。
そして、もう1つSnapdragon 835のシステムが低消費電力な理由は、採用しているストレージだ。今回のASUS、HPの両方のシステムに採用されていたのは東芝製のUFS 2.0のフラッシュメモリだ。UFSはスマートフォンやタブレットで一般的に利用されてきたeMMCの後継として開発された規格で、低消費電力というeMMCの特徴を引き継ぎながら高速化を実現している。
実際、ASUSのNovaGoでCrystalDiskMark(UWP版、余談だがWindows 10 SでもUWP化されているデスクトップアプリは実行できる)を実行して見た結果と、SATA 6Gbpsの3D NANDのSSDの結果を比較してみると、UFS 2.0のストレージはシーケンシャルリードこそ遜色ない結果だが、シーケンシャルライトとランダムリード/ライトはイマイチの結果だ。ただ、消費電力はUFS 2.0のほうが圧倒的に低い。消費電力では有利だが、性能面ではやや不利というのが公平な評価だろう。
もちろん、将来的にSnapdragon側も、SATA(835はSATAに対応済み)やPCI ExpressのSSDを採用すれば、性能を底上げできる可能性がある。しかし、その場合にはもちろん消費電力は増えることになるのでトレードオフだ。
1つだけ言えることは、このSnapdragon 835を採用したArm版Windowsを購入する場合、メモリが少ないモデル(とくに4GBのモデル)はおすすめではないということだ。メインメモリが十分ではないWindows PCでアプリケーションをたくさん起動するとメモリスワップが発生するが、そのときの性能の低下具合は、SATAやPCI ExpressのSSDを利用しているものと比べて著しい。つまり、少しでもメモリの容量が大きいモデルを買ったほうが快適に利用できると考えられる。
次の焦点はMicrosoftのSurface
基調講演のArm版Windowsのパートの最後で、Qualcomm Technologiesのアーモン社長は「これは出発点に過ぎない」と述べ、Snapdragonを搭載したArm版Windowsのリリースはこれで終わりではなく、今後も別のメーカーなどからもリリースされる可能性を示唆した。
PC業界にとって、大きな注目点は、SnapdragonとArm版Windowsを搭載したMicrosoftのファーストパーティ製品はいつ登場するのかに移りつつある。Microsoft Windows & デバイス事業部 担当 執行役員のマシュー・バーロウ氏は、筆者のSnapdragonとArm版Windowsを採用したSurfaceはいつ出るのかという質問に対して「今回はOEMメーカーの発表にフォーカスしている。ファーストパーティ製品のロードマップに関してはコメントできない」とだけ述べた。PR用語的にこれらを解釈すれば、存在は否定しておらず、有り体に言えばロードマップにはあるということだ。
PC業界ではMicrosoftのSurfaceブランドの製品は、Snapdragon 845を搭載してリリースされると信じられている。これを確認するすべはないが、その可能性は高いと言えるだろう。
例年Microsoftは第2四半期の頭か、第4四半期に頭あたりにSurfaceブランドの製品を発表している。そのあたりで、Snapdragon 845を搭載したSurfaceが発表されるという可能性があるのではないだろうか。