MicrosoftがARM版Windows OSの提供を発表。アプリ互換性などのさまざまな問題が語られるが、一番の問題はMSのビジネスモデルに。
新マイクロアーキテクチャを採用した「Sandy Bridge(開発コード名:サンデイ・ブリッジ)」のプロセッサ・ライン発売で攻勢をかけているIntelだが、その寄与が加わっていないはずの2010年第4四半期の決算で最高益だそうだ。しかし、パソコンの台数そのものは伸び悩んでいるようでもある。多分、Intelの好決算の数字は、クラウドのデータセンター向けやハイエンドPC向けで達成されたものではないだろうか。ついこの間まで「ネットブック」と呼ばれていたローエンドのパソコンは、早くもトレンドから外れてしまったようである。なぜかといえば決まっている。iPhoneに代表されるスマートフォンやiPad、AndroidをOSに採用したタブレット型の端末がトレンドになって、ローエンドのパソコンの市場を奪ってしまったからだろう。
そんな中、MicrosoftがWindows OSをARMに対応させる、という話がでてきた。このままうかうかしているとコンシューマ市場のローエンドからWindows OS世界がひっくり返されかねないというMicrosoftの危機感の表れであろう。その市場のハードウェアは、ほとんどすべてにARMアーキテクチャが搭載されているからだ。まだ詳細も分からないし、当然、製品化されているわけでもないが、Microsoftのこの方針は、けっこう各方面に反響を呼んでいるようである。
いままでも組み込み向けのWindows(Windows CE)や携帯電話向けのWindows(Windows Phone)がなかったわけではない。しかし、それらは「組み込み向け」として、PC向けのメインストリームのWindows OSとは根本的に異なる世界の製品として存在していた。Microsoftの意図と異なるのか、異なっていなかったのかは知らず、お世辞にも「主流」とは程遠い「マージナル(境界線)」な市場の製品であったのだ。それも1年や2年ではない長年の間である。
今回、ARM版のWindowsの話が出て、それが、ことさらに注目を集めている理由は、メインストリームのPCで動作するWindowsと「同じもの」(正確にいえば同じアプリケーションを動作させられるOSと考えるべきだろうが、同じアプリケーションが動くならばユーザーにとっては同じOSといってよいだろう)がARMでも動く、としている点であろう。
その辺、技術的に危惧する向きもあるようだ。だいたいx86上で走らせても「重いことがある」Windows OSをARMで走らせることができるのか。それも、x86とARMという命令セットがまったく異なるハードウェアの違いをユーザーに意識させずにハンドルできるのか? と。「より速いx86でARMの命令セットをエミュレートするのは可能だろうが、ARM上でx86のバイナリをエミュレートするのは不可能だろう」といった指摘である。
けれど、筆者としてはあまり心配しなくていいと思っている。確かに昔は命令セットやハードウェアの相違は「深くて暗い川」だったが、この十数年くらいの間にJIT(Just-In-Time)コンパイラとかVM(仮想マシン)とかの技術が非常に進歩して、そのギャップを埋める技術がいろいろできているからだ。
また、ARM自体の性能向上も著しい。現在の最新鋭のARMは昔のARMとは別次元といっていいほどの性能に達している。確かにサーバ機のプロセッサとしては不足が感じられるかもしれないが、クライアント向けとしては十分な性能があるのではなかろうか。それに、OSを実行するCPU命令の性能が、全体装置の性能に占める割合は低下の一途をたどっている。本当にクリティカルな演算はグラフィックス/ビデオ系の「拡張命令セット」が担っているのは、x86もARMも同じだ。そうであればCPUアーキテクチャの違いはあまり問題にならない。どれだけハードウェアにグラフィックスやビデオの機能を盛り込めるか、という違いでしかないからだ。
技術的な問題は十分克服可能だと思う。それよりも問題は、Microsoft自身のビジネス・モデルだ。過去、x86以外のプロセッサにWindows OSを載せたことは何度もあったのに、それがマージナルな世界に留まっていたのは、Microsoft自身の政策の結果だと考えるからだ。
過去を振り返ればいろいろ思い出す。いまのWindows OSの源流となったのは、Windows NTだが、このNTというのは「New Technology」の略と一般にいわれているが、N-TEN(N10)であるという話もある。つまり、「N10」の開発コード名を持っていたIntelのi860用のOSとして開発が始まったため、NTという名が付いたということを聞いたことがある。この真偽は知らない。しかし、Windows NTがx86以外にも、MIPSやAlpha、PowerPCといったRISCプロセッサに移植されていたことは事実で、台湾メーカーがWindows NTを搭載可能なMIPSベースのプロセッサ・ボードを作っていたのを思い出す。結局、このときはRISCマシンとx86の戦いは、x86の勝利に終わり、RISC版はどこかに行ってしまった。
しかし、その後もWindows CE(CEはコンシューマ・エレクトロニクス)という名で家電組み込み向けの「軽量RISC向けのWindows」が登場し、SHやら、当然ARMにも対応した。しかし、CEもパッとせず、そのうちまたMobileやPhoneという名の携帯電話向けWindowsが登場しと、何度も何度も「非x86」への対応が繰り返されてきた歴史があるのだ。
それら非x86版Windows OSが「パッ」としなかったのは、その「売り方」にこそ原因があったように思える。PC版Windows OSではPCにOSをバンドルすることで、PCベンダ経由でのライセンス収入という「太くて確実」な「収益のパイプ」を確保したMicrosoftだったが、非PC版でもそれを狙ったがために、PCとは収益構造が根本から異なることから、Microsoftに多くのライセンス料を払えない組み込み業界の業態には広く受け入れられなかったのではないだろうか。昨今、Android OSが組み込み向けに大うけなのはそのあたりが正反対のスタンスであるからのように思えてならない。
さて、ARM版Windows OSについても過去と同様な販売政策がとられるのであれば、過去と同様にマージナルな存在のままであろう。かといって、清水の舞台から飛び降りて、Android OSのような方向へ即座に行ってしまうこともちゅうちょされるだろう。なぜなら今度のARM版Windows OSは、PC上で走るx86版とは「同じ」OSだからだ。飛び降りてしまうと、いままで握ってきたPC版の「パイプ」を手放すことにつながりかねない。Microsoftはどうするつもりだろうか?
日本では数少ないx86プロセッサのアーキテクト。某米国半導体メーカーで8bitと16bitの、日本のベンチャー企業でx86互換プロセッサの設計に従事する。その後、出版社の半導体事業部を経て、現在は某半導体メーカーでRISCプロセッサを中心とした開発を行っている。
「頭脳放談」
Copyright© Digital Advantage Corp. All Rights Reserved.