ここから本文です

期待のARM版Windows 10に待った? Intelが特許問題をちらつかせる理由

6/21(水) 6:25配信

ITmedia PC USER

 今日のPCにはIntelが開発した「x86」のプロセッサが欠かせない。最初のx86プロセッサ「Intel 8086」は、39年前の1978年6月8日(米国時間)に登場した。

写真:Snapdragon 835上で動作するARM版Windows 10のデモ

 これを記念して、米Intelが自社のWebサイトに掲載した記事が話題を呼んでいる。Intelは同記事で競合他社が進めている「x86エミュレーション技術」について触れ、この技術が同社が持つ「x86 ISA(命令セットアーキテクチャ)の特許」を侵害している可能性を指摘しているのだ。

 現時点でIntelは具体的なアクションを起こしていないが、MicrosoftとQualcommが2017年第4四半期に「Snapdragon 835搭載のWindows 10デバイス」を投入すると予告している中、新たな問題が浮上してきたことになる。

●Crusoeから10年……歴史は繰り返すのか

 話題を呼んでいるのは、米IntelのWebサイトに掲載された「X86: Approaching 40 and Still Going Strong」という記事だ。Intel顧問弁護士でエグゼクティブバイスプレジデントのスティーブン・ロジャース氏と、Intel Labsフェローでシステム&ソフトウェアリサーチ担当ディレクターのリチャード・ウーリッヒ氏による共同執筆となっている。

 同記事では、これまでのx86拡張の歴史を振り返る一方で、x86 ISAの実装において取得している関連特許の知的財産が現在1600以上に達していることを報告している。またIntelは、競争を尊重するものの、それらは「合法的な状況下」において実現されるべきという。簡単に言えば、「勝手にx86と命令互換の仕組みを構築して、特許を侵害するな」というわけだ。

 PC動向に詳しい方は、「市場にはx86の互換プロセッサがあふれているのに何を今さら」と思われるかもしれない。実際、IntelはAdvanced Micro Devices(AMD)をはじめとする互換プロセッサメーカーと長年にわたって法廷闘争を繰り広げ、知的財産のライセンスにまつわる問題に関してAMDと最終的に和解したのは、2009年11月のことだ。

 もともとIntelはIBMへのプロセッサ供給にあたり、製造の安定性を確保するためにセカンドソースを要求されていた。セカンドソースとは、ライセンスされた同一の機能を持つプロセッサの供給を他社から受けることだ。PC黎明(れいめい)期には多数の互換プロセッサやその改良版プロセッサが半導体メーカー各社からリリースされていた。

 しかしこのライセンスの仕組みは、1980年代前半に登場した「Intel 80286」プロセッサ以降に覆され、以後は新型プロセッサのライセンスを巡って、IntelとAMDら競合他社との知的財産紛争が始まることになる。

 現在では和解済みの互換プロセッサ問題だが、一方でIntelが今回触れているのは「x86エミュレーション」の話だ。同記事では、一部企業がIntelの了解なしにx86 ISAをエミュレートしようとしており、こうした行為は歓迎できないとの意見を述べている。

 2000年にはTransmetaという企業が、異なる命令セット体系のプロセッサでx86命令を実行可能な「コードモーフィングソフトウェア」というエミュレーションの仕組みを構築し、これを採用した「Crusoe」プロセッサを販売したこともあった。しかし、Intelは同社に対してエミュレーションの仕組みを用いていたとしても、x86におけるSIMD演算関連の特許利用を順守するよう求めたという。

 逆にTransmetaは、2006年にIntelを特許侵害で訴えたが、1年後に和解。Intelが2億5000万ドルを支払う見返りに、Transmetaの関連特許を全てIntelが利用できるようライセンス提供した。その後、Transmetaは売却により消滅している。

 ARM版Windows 10の発表に伴い、TransmetaとIntelの係争から約10年を経て、再びエミュレーションの問題が持ち上がってきた形だ。

●侮れないSnapdragon 835×Windows 10の実力

 Intelが指摘するように、エミュレーションというアイデア自体は古くから存在する。ただ、エミュレーションの実行には非常に大きなオーバーヘッドが発生するため、本来システムやアプリケーションが想定するパフォーマンスを実現できない場合があり、前述のCrusoeプロセッサもこの問題を抱えていた。

 しかし、リリースを控えたARM版Windows 10は事情が違う。今日のARMプロセッサは一般ユーザーがPCで利用するアプリケーションの実行に必要十分なパフォーマンスを備えており、仮にそれがエミュレーションで実行されたものであっても問題ないレベルに達している。ARM版Windows 10を動かすのが、Qualcommの最新SoC(System on a Chip)であるSnapdragon 835であれば、なおのことだ。

 実際、筆者は2017年5月末に開催されたCOMPUTEX TAIPEI 2017にて、MicrosoftとQualcommが行ったデモストレーションを見て、Snapdragon 835のレファレンスボード上で実行されるARM版Windows 10と、その上で動くOfficeアプリケーションや動画再生が、全く問題ないレスポンスだったのを確認している。「これならば、ARMベースのWindows PCを購入しても問題ない」と思えたほどだった。

 つまり、Intelとしては「無視できないレベルの競合」と認識し、こうした投稿を行ってけん制したわけだ。

●ARM版Windows 10はIntelの特許を侵害しているのか

 問題は、今回のARMプロセッサにおけるx86エミュレーションの責任がどこにあり、実際にその影響がどこまで及ぶかという点にある。

 Microsoftが公開している資料によれば、AMR版Windows 10は、カーネルやドライバはARMネイティブで動作しており、ARMバイナリのアプリケーションを実行する場合、変換プロセスが介在する余地はない。

 一方でx86バイナリのアプリケーションを実行する場合、「Windows on Windows(WoW)」の形で抽象化レイヤーが用意され、エミュレーションによるx86プロセスと既存のARMプロセスとの仲介が行われる。

 このWoWは、通常のx86版Windowsにおいても、64bit版Windows上で32bit版プロセスを実行するのに用いられている手法だ(つまり「x32 on x64」)。AMR版Windows 10では、64bit ARM上で32bit x86のコードを実行していることになる。

 ただ、過去のIntelとの特許紛争においては半導体メーカーが対象であり、x86互換プロセッサにしろ、TransmetaのCrusoeにしろ、プロセッサ上で直にx86コードを実行できることに問題があった。Transmetaのコードモーフィングソフトウェアによるエミュレーション技術はプロセッサ上で展開され、OSやアプリケーションはそれを意識せずにx86コードを実行できる点が重要だったのだ。

 しかし今回、Snapdragon 835のケースでは、プロセッサそのものはARMバイナリしか実行せず、WoWの形でOSがソフトウェアとして別途x86バイナリ実行環境を用意することで対応している。

 この場合、責任の所在はARM版Windowsを提供するMicrosoftにあるのだろうか。それとも、パートナーとしてプロセッサを供給するQualcomm、あるいはQualcommのプロセッサを搭載してARM版Windows 10をプリインストールしたPCを販売するメーカーにあるのだろうか。

 少なくともMicrosoftとしては、OEMメーカーとの契約でWindowsのライセンスにあたって特許紛争から保護する必要がある。もしIntelが何らかのアクションを起こした場合には、動かざるを得ないだろう。

●実際の製品が出てからの動向に注目

 しかし現在のところ、MicrosoftとQualcommは静観する構えのようだ。

 米ZDNetのメアリー・ジョー・フォリー氏が両社にコメントを求めたところ、その回答はIntelとの件に関して何も触れておらず、具体的なアクションを起こす様子もない。

 これは筆者の予想だが、Intelも現時点で何らかの具体的なアクションを起こす可能性は低く、もし動くとしても実際にARM版Windows 10搭載製品が登場した2017年第4四半期以降のタイミングになるだろう。

 また、いきなり訴訟を起こすよりも、ARM版Windows 10の提供を表明しているASUS、HP、LenovoといったOEMメーカー側にアプローチする可能性が高い。これらはIntel製プロセッサを搭載したPCを販売する同社の顧客であり、PC市場のシェア上位を占めるトップベンダーだ。

 まずは契約条件での優遇案など、訴訟とは違う表立っての行動を伴わない水面下での戦いが行われるのではないだろうか。

[鈴木淳也(Junya Suzuki),ITmedia]

最終更新:6/21(水) 6:25
ITmedia PC USER