元麻布春男の週刊PCホットライン

WindowsがARMをサポートする意義と不安



●もともと多くのCPUに対応していたWindows

 今回のCES 2011で、最も大きな話題の1つは、次のバージョンのWindowsがx86/x64アーキテクチャ以外にARMアーキテクチャでも動作する、ということだろう。この事実が最初に公表されたのは、スティーブ・バルマーCEOによる基調講演に先駆けて開かれた、スティーブン・シノフスキー副社長によるプレスカンファレンスの席らしい。

 現地にいながら、「らしい」などと書くのは無責任なようだが、このイベントに関する情報が何もないのだからしょうがない。今でも、Mirosoftがいつからどこでプレスカンファレンスを開いたのか分からないのだから、当日参加できるわけがないのだ。筆者の周囲の日本人プレスにも尋ねてみたが、このイベントについて情報を持っていた人はいない。中には、そんなイベントが開かれたことさえ知らない人(こういう人の方がむしろ一生懸命原稿を書いていたりする)さえいた。この日本人プレスへのサポートの薄さは、Microsoftにとって、日本の市場としての魅力が着々と失われている証のようにも思える。

WindowsのSoCサポートプランについて語るスティーブ・バルマーCEO次期バージョンのWindowsはIntel、AMD、ARMのSoCをサポートする

 というわけで、多くの日本人プレスは、バルマーCEOの基調講演でこのニュースに接したわけだが、それほどの驚きではかったような気がする。以前にも触れたように、現在のWindowsの原型となったWindows NTは、元々MIPSアーキテクチャをベースに開発された。RISCの最盛期であり、リトルエンディアンをサポート可能な多くのプロセッサに移植されている。RISCプロセッサだけで、MIPSに加え、AlphaとPowerPCの計3種類、さらにIntel/AMDのx86およびx64、そしてItanium(IA64)と、計6種類のアーキテクチャで動作した実績がある。そこにARMが加わっても、大きく驚くには値しないだろう。

 こうした歴史を持つにもかかわらず、Windowsが現在、ほぼx86とx64のみのサポートとなっているのは、技術的な問題ではなく、経済性の問題だ。要するに、そのアーキテクチャをサポートするだけの経済的なメリットがあればサポートするし、なければ止める、ただそれだけだ。今、サーバー版OSから徐々にx86サポート(32bit版)が消えていこうとしているが、それも同じ理由だろう。

NVIDIAのTegraベースのプラットフォームで動作する次期Windowsのテクニカルプレビュー版を用いた印刷のデモ各社のSoCを用いたプロトタイプを背にしたバルマーCEO

●タブレット対応がこの戦略の目的

 では、MicrosoftはARM、正確にはARMを含むSoCチップのどこに経済性を認めているのか。それは言うまでもなくタブレットの分野だ。昨年(2010年)春に発表されたAppleのiPadは、大きな成功を収めた。昨年後半からは、GoogleのAndroidベースのタブレットも市場を賑わせており、2011年に期待されるデバイスの1つとなっている。

 これらのタブレットデバイスは、PCで行なえることのすべてをカバーできるわけではないものの、一般コンシューマがPCに期待していることの大半(ブラウザ、メール、メディア再生など)をカバーできる。数年前の大ヒット商品だったネットブックが、タブレットに市場を侵食されているという市場調査会社のレポートがあるが、ネットブックがPCの中で機能と性能に最も大きな制約のあるジャンルであることを考えれば、不思議なことではない。性能や機能という点で、ネットブックはタブレットに最も近いPCであるからだ。しかし、これはネットブックにOSを供給するMicrosoftにしてみれば、自身のシェアがAppleやGoogleに奪われていることを意味する。心中穏やかでいられるハズがない。

 つまりMicrosoftは現在最も成長が期待される分野の1つであるタブレットに対して、OSを提供しなければならない。そして、それはAppleやGoogleの製品(OS)に対し、競争力を持つものでなければならない。

 かつてMicrosoftがWindowsで、さまざまなプロセッサアーキテクチャをサポートした時、それは汎用計算機のプロセッサとしての性能を期待したのであり、プロセッサのアーキテクチャあるいはベンチマークテストのスコアが大きな意味を持っていた。

 今回、Microsoftがサポートするとしたのは、第一義的にタブレットデバイスのエンジンであるSoCであり、プロセッサアーキテクチャや性能の違いは二義的なものに過ぎない。プロセッサアーキテクチャは、AtomでもBobcatでも、ARMでも構わないのだ。

●Windowsはタブレットにふさわしいか

 さて、次に論じる必要がありそうなのは、なぜWindows、ということだろう。AppleはタブレットデバイスのOSとして、Mac OSではなくスマートフォンのOSであるiOSを選んだ。同様にAndroidもスマートフォン向けのOSである。Microsoftにはスマートフォン向けのOSとして、Windows Phone 7があるものの、iOSやAndroidに勝っているとは、(少なくともまだ)言えない状況だ。

 それに対してWindowsは、Microsoftの成長を支え続けた、いわば最強のOSである。Windows Vistaで一瞬揺らいだようにも見えたが、その後継であるWindows 7は、Windows Vistaでは対応の難しかったネットブックにも対応し、健在ぶりを見せつけた。Microsoftにしてみれば、AppleやGoogleとの大勝負に挑む時に、最強の手札をもって挑まなくてどうする、といったところだろう。

 だが、本当にそうなのだろうか。確かにWindows 7は良いOSかもしれない。が、それにはPC向けのOSとしては、との前提がつく。PCのOSに求められているのは、自由と機能の拡張だ。基本的にPCは、こと情報処理に関する限り、ソフトウェアによって何でもできる機械である。と同時に、何でもできなければならない。何でもできるということが汎用であるということであり、逆に何でもできるがゆえに、何に使うのか目的の決まっていない機械、それがPCだ。

 今回のCESではIntelによる第2世代Core iプロセッサの発表があったが、PCのOSに求められるのは、ムーアの法則に基づき向上し続ける性能を生かして、これまでできなかった何かをできるようにすることだ。言い換えれば、プロセッサの性能が向上した分を、何か新しい機能の実現に充てることが求められており、そのために「重く」なることは、問題にはならない。むしろ、重くなることで買い換えを促すことが求められているとも言える。問題になるとすれば、「重さ」に新機能が釣り合っているかどうか、という点だ。

 それに対して非PCデバイスは、あらかじめ目的の定められたデバイスであり、その目的を実現するためにハードウェアが設計され、機能を実現するための素材として組込みOSが用いられる。一般にある機能を実現するために必要な性能は一定であり、それを越える性能は必要とされない。こうした非PCデバイスに使われる半導体も、もちろんムーアの法則の恩恵を受けるわけだが、ムーアの法則を性能の向上に振り向けるのではなく、ダイ面積の縮小によるコスト低減や消費電力の削減、あるいは別チップで実現していた機能を1チップ化する、といった方向性が求められる。これこそが、IntelがわざわざAtomを作り出した理由であり、ネットブックでCULVと競争するためではない。

 もちろん、タブレットはその多機能性という点で、従来の非PCデバイス(あるいは家電製品)と大きく異なっている。PC的なフレーバーをちょっとまとったアプライアンスだ。しかし、それでも軸足はあくまでも非PC側にあり、おそらく多くのユーザーはこのPCでないタブレット、非PCであることの分かりやすさを望んでいる。

 MicrosoftはSoCで動作するWindowsをタブレット向けのOSではなく、次のバージョンのWindowsだとした。それが意味するところは、タブレットに特化した専用のOSではなく、x86あるいはx64ベースのPCと共通のプラットフォームである、ということだ。それでは、たとえハードウェアがARMになっても、できあがる製品はARMベースのタブレットPCであって、iPadやAndroidベースのタブレットに対抗するタブレット製品にはならない。

 WindowsベースのPCの利点は、豊富なアプリケーションと豊富なドライバサポートにある。それがあるから、容量的に小さいと言えないWindowsを、毎月のWindows Updateを我慢しながら使うのだ。しかし、ARMベースのWindows PCには、継承すべきソフトウェアの資産がない。

 アプリケーションの互換性を確保するのは非常な困難を伴う。OSのカーネルはもちろん、ミドルウェアやライブラリに至るまで、すべて動くようにしておく必要がある。.NET Framework、Visual C++のランタイム、DirectXなど、Windows上で利用されるライブラリの数はハンパではない。しかも、これらにいちいち、細かいバージョンの違いが存在する。だが、それらすべてがWindowsの互換性を支えており、過去のソフトウェア資産を継承するために払わなければならない代価だ。しかし、過去の資産のないARMベースのハードウェアでは、支払う代価の額が不釣り合いになってしまうのではないか。

 Microsoftは同社の主力業務アプリケーションであるOfficeについて、ARMのネイティブ版を供給するとした。が、その他のアプリケーションがARMプラットフォームで揃うようになるのはいつの日だろう。仮想化やクラウドを持ち出すのなら、逆にクライアント側がWindowsである必要はない。

 以前も触れたように、仮想化というのは情報処理を行なうレイヤー間を完全に分離していく(依存性を排除する)技術だ。クラウドは分離されたレイヤー間をインターネットで接続しようという技術だ。仮想化によりレイヤー間、たとえばアプリケーションとOS間を分離するのであれば、下をWindowsにする必要はもはやない。

 今回、Microsoftは次期WinodwsはSoCでも動作すると発表した。これはSoC(タブレット)向けのOSとして、MicrosoftはフルバージョンのWindowsを提供する、ということでもある。つまり、タブレット向けに提供されるOSのあり方としては現状、Windows 7を提供している今と何も変わらない。ただ、サポートするハードウェアが拡張されただけだ。

 つまり、Microsoftはタブレット向けに専用のOSを提供するつもりはない。ひょっとするとタブレット専用OSを作ることなどできないのかもしれない。作れないと言っても、技術的にできないわけではないし、ましてや資本力的にできないわけでもないことは明らかだ。潜在的にWindowsの脅威になるような事業は、社内的に認められないのではないか。政治的な理由でタブレット専用OSをMicrosoftは作ることができないのではないかと思えてきている。