エントリー

2010年07月26日の記事は以下のとおりです。

マイクロソフトがCPUを作るのか

 マイクロソフトが,ARMのライセンスを受けることになったそうです。

 ここ最近のマイクロソフトの動きにはちょっと不可解なものがあり,かつての輝きを失った迷走っぷりに残念な気持ちになっている方も多かろうと思います。

 創業者が特に優れていた場合の世代交代が難しいという話は,世の東西を問わず,また規模の大小を問わないものだと,つくづく思います。

 今から20年ほど前の,WindowsNTの開発の顛末を語った「闘うプログラマ」という本には,DECから移ってきたデイブ・カトラーが,自由奔放なマイクロソフトのキャンパスの雰囲気に嫌悪感を示すシーンがあります。

 今のマイクロソフトに,そうした大人が煙たがるような「遊び心」があるのか,ないのか。

 部外者の私にはさっぱり分かりませんが,なにやら巨大企業が遭遇する「お疲れ感」をそれとなく感じているのは,私だけではないのでは,と思います。

 そんなおり,ARMのライセンスの話です。

 ARMのライセンスと聞いてもぴんと来ない方も多いと思うので,ごく簡単に説明をします。

 ARMというのは言うまでもなく,CPUメーカーのARMのことです。イギリスのケンブリッジに本社がある半導体メーカーの1つですが,彼らの売り物は自前の半導体製品ではなく,CPUの設計情報です。

 例えばインテルにしてもルネサスにしても,CPUの設計はあくまでCPUを作ってそれを売るために作るものであり,それ自身は売り物にしません。しかし,ARMは半導体の実物はそれぞれの半導体メーカーが作るものとし,自分達はその設計情報だけを販売することにして,もうけています。

 設計情報が売り物になるのか?と疑問に思う方もあると思いますが,CPUをゼロから作るというのはとてもとても大変です。CPUを作るだけでも死ぬ思いをするのに,コンパイラやデバッガ,ICEなどの開発環境に加え,周辺機能も一式用意しないといけません。これがとても大変です。それだけしても,そのCPUが売れるかどうかはわかりません。

 ARMというCPUは処理能力はそれほどでもなかったのですが,当時からビックリするほど低消費電力であり,携帯電話に採用されてから爆発的に普及するようになりました。開発環境もARM純正だけではなく,他の専門の会社がARM向けに作るようになり,周辺機能についてもARMに繋がるものがどんどん揃い始めます。

 ARMのライセンスを購入し,ARMのCPUの設計情報を手に入れることは,これら開発環境や周辺機能をすべて使えるようになることを意味します。(もちろん結構なお金がかかるのですが)

 こうしてARMが普及すれば,ARMのCPUならすぐに製造できますよ,と言う工場が当たり前になってきます。半導体というのは,実は製造会社によってちょっとずつ違いがあって,設計情報に互換性がありません。それも最近は強い製造会社のルールに統一されてきましたが,ARMの設計情報と互換性を持たない工場は仕事を受けられませんから,自ずと対応するようになります。

 結果,上流から下流まで,ARMを選べば全部問題なく揃うという状況が作られます。

 ARMは技術的には低消費電力を売りにしたものですが,技術的なメリットよりむしろ,エコシステムについての魅力が圧倒的で,同業他社の追随を許しません。

 このARMを使うために必要なものがライセンスですが,実はこれも2種類があります。1つはインプリメンテーションライセンス,もう1つはアーキテクチャライセンスです。

 実はこれらのライセンスの中身は機密扱いになっていて,実際に契約を結んだ人でないと詳しい内容はわかりません。私ももちろんわかりませんが,そこはそれ,憶測も入れて書きますので,話半分で読んで下さい。

 インプリメンテーションライセンスというのは,ARMのCPUコアを「買う」ライセンスです。買い方には2つあって,1つは中身をブラックボックスとして買う方法,もう1つはソースコードで買う方法です。前者をハードマクロ,後者をソフトマクロと呼んだりします。

 ハードマクロはブラックボックスで買いますからそのまま工場で作るだけになってしまいますが,ソフトマクロで買った場合は,ちょっとしたカスタマイズ,例えばキャッシュメモリのサイズを変更するとか,その工場の半導体に最適化するとか,そういうことが可能になります。

 ただし,基本的にソースコードはいじれません。もしそんなことを許したら,ARMと微妙に互換性を失った「なんちゃってARM」があちこちにいっぱい出来てしまい,大混乱になってしまいます。

 ということで,あくまで作るのはARMで,それをそのまま利用するのがインプリメンテーションライセンスです。ARMを利用するメリットは,このインプリメンテーションライセンスでほぼ手に入ります。

 もう1つのライセンスであるアーキテクチャライセンスというのは,CPUのソースコードをいじることが許されるライセンスです。もっというと,ARMの互換プロセッサを「作る」ライセンスです。

 ARMのプログラムが走り,ARMが持つ機能が実装されていて,外側から見るとARMそのものでも,中身は完全に別物であるということが許されるライセンスなわけですが,なにぶん機密扱いですので,アーキテクチャライセンスでどこまで出来るのか,あるいはアーキテクチャライセンスが何種類あるのか,私にはわかりませんし,本当に互換プロセッサを作ってよいのかどうか,確かめたわけではありません。

 でも,本家ARMが作ったCPUに互換CPUを作っても,おおむね勝てるわけがありません。互換CPUを作ってもメリットがあるという「実力のある」会社だけが,どうしても既存のARMコアでは実現出来ない「なにか」を仕込むときに,このライセンスを手に入れる事になります。

 例えば,ARMはどんな工場でも作る事が出来るようにゆとりのある設計になっていますが,これを自社の工場に最適化して,カリカリにチューンするということも,このライセンスで可能になります。

 噂ではものすごく高価だとか,お金を出してもなかなか手に入らないとか,A社だけではなく実はB社もこのライセンスを持っているとか,優れた設計は無条件にARMにフィードバックしないといけないとか,まあそんな邪推を私も耳にしたことがありますが,本当に所は何度も言うように,私にはわかりません。

 はっきりしていることが1つあって,このアーキテクチャライセンスを受けた最初の1社が,旧DECです。DECは,ARMの低消費電力に適したアーキテクチャに目を付け,さらに低消費電力でさらに高速クロックで動作する新しいARM互換コア,StrongARMを開発しました。ARM7では3段パイプラインだったものを5段に増やしてクロックを向上させ,DEC自身が持つ製造プロセスに最適化した設計を行っています。

 そしてこの開発成果がDECからARMにフィードバックされて誕生したのが,ARM9です。ARM9も5段パイプラインですが,内部はより余裕のある設計がなされていて,どんな工場で作っても大丈夫なような汎用性のある設計がなされています。

 DECのARM部門はこの貴重なライセンスごとインテルに買収されてしまいます。一説になかなか手に入らないアーキテクチャライセンスを手に入れるのがDECを買った理由だとも言われていたのですが,StrongARMの後継として生まれたXscaleは,インテルの製造プロセスに最適化されてさらに高クロックで動作するARM互換プロセッサとなりました。

 この成果がフィードバックされたのが,ARM11と言われています。

 そのXscaleも,現在はインテルからMarvellに売却されており,Marvellがそのままアーキテクチャライセンスを保有しています。

 とまあ,このように,インプリメンテーションライセンスではどうしても越えられない壁があって,それをどうしても取り払いたい会社が,それ相応の技術力を認められた上で,ようやく手にすることのできる「なんでもできる」ライセンスが,アーキテクチャライセンスです。

 ライセンスにも多額の費用がかかりますし,これを使ってCPUを1から開発するわけですから,その開発費用も膨大です。それでも十分儲ける事が出来るという目算がなければ,およそこんな恐ろしいライセンスを取得しても,得なことはありません。

 さてさて,今回の主役であるマイクロソフトが手に入れたライセンスは,なんとこのアーキテクチャライセンスだというのです。

 ???

 CPUを売って儲ける会社になるつもり?インプリメンテーションライセンスではダメだったの?わざわざアーキテクチャライセンスを手に入れて何をするつもり?

 いろいろ業界で憶測は飛び交っているとは思いますが,ここから先は全くの私の私見に基づく想像です。

 まず,マイクロソフトはCPU市場に参入するのか?答えはノーです。単に参入するだけならインプリメンテーションライセンスだけでもいいはずです。

 それに,マイクロソフトはソフト,特にOSの会社です。今さら設備産業である半導体に乗り込む理由は見当たりません。ファブレスの設計会社という選択肢もあるかも知れませんが,それこそそんな会社は世界中にいくらでもあり,悪いことにどの会社もそんなに儲かっていません。

 ではアーキテクチャライセンスでなにをするのか?これは,おそらくですが,OSを作る過程で感じていた,ARMアーキテクチャに対する不平不満を根本的に改善しようとしているのではないでしょうか。

 ご存じの通り,マイクロソフトはWindowsCEの時代から,ARMをサポートしていました。ARMと言うCPUに取って,WindowsCEというOSが動くことは何より心強いものがあったはずです。

 当時はMIPSやSH3などでも動いたWindowsCEですが,WindowsMobileとなった現在ではARMでしか動作しないOSになっています。マイクロソフトは売り物であるOSを,別にアーキテクチャライセンスを取得しなくても,十分に作ってこれたはずでした。

 しかし,実はARMというCPUは,私の言葉で「トルクのない」CPUです。粘りがないというか,底力がないというか,高クロックでぱぱーっと回るんですが,負荷がかかると途端にパワーが落ちるという印象があるのです。このあたり,x86や良くできたMIPSが,まるでディーゼルエンジンのトラックやバスでも運転しているかのような頼もしい感じがしたことを思い出します。

 ARMコアが原因と言うより,バス設計に問題があったからこういう印象があったのかもなと思い当たるところもあるのですが,では実際,1GHzのARMで動いているiPadと,似たようなクロックでもx86で動いているネットブックを比べてみると,どちらの方がサクサク動くかと少し考えて頂ければ,なんとなく想像出来るのではないでしょうか。

 WindowsCEは昔からもっさり動いているOSです。これがもしARMのアーキテクチャによるものだとマイクロソフトが結論していたら,アーキテクチャライセンスを手に入れて改善しようと考えても不思議ではありません。

 他にもあります。低消費電力を実現するには,主体的にCPUの消費電力を下げる必要がありますが,突き詰めるとそれだけでは限界があり,ソフトウェア,特にOSが頑張らないと下がりません。

 x86はインテルがだけが作っている(AMDも作っていますが,一応オリジナルはインテルです)ので,マイクロソフトとしてはWindowsをチューニングする過程で,インテルにどうしてもらえるとうれしいか,伝える機会を持っているはずです。

 インテルも,x86がWindowsを前提としてCPUであることを知っているので,マイクロソフトからの意見には真摯に耳を傾けていることでしょう。

 しかし,ARMは半導体会社には違いありませんが,実際に半導体を作っているわけではありません。マイクロソフトがARMにいろいろ意見を言っても,それがそのまま聞き入れられるとはちょっと考えにくいものがあります。

 WindowsCEとタブレットや携帯電話に向けて本格的に投入するにあたり,もうOSだけではどうにもならないところまで来てしまった・・・だからいよいよCPUそのものに手を入れて,より自分達に最適化されたCPUを作ろうとしている,というのが,私の考えです。

 この話が本当だとして,マイクロソフトの強力なライバルで,むしろ押され気味なAppleとGoogleには,およそ出来そうにないことをやって頭一つ抜け出ようとしたように思えてなりません。

 AppleのiPadやiPhone4には,彼ら独自開発といわれるA4というプロセッサが使われています。しかし実際にこれを設計しているのはSamsungで,AppleもSamsungもアーキテクチャライセンスを持っていませんから,既製品のARMコアをそのまま使っているはずです。

 1GHzという高クロックのわりには,そんなに高速で動作しているわけではないiPadは,消費電力の低さによる電池寿命の長さで評価は高いですが,でもそれだけです。処理能力で3年前のMacBookにさえ及びません。

 GoogleはAndroidをフリーでばらまいていますが,誰にでも使ってもらえるものであるためには,誰にでも手に入るCPUをターゲットにせねばなりません。Androidが実質ARM専用OSになっているのは,この戦略が故です。

 AppleもGoogleも,プロセッサそのものを作って,それ用のOSを作る事の出来ない事情があります。マイクロソフトもかつてはそうでしたが,彼らは果敢にもアーキテクチャライセンスを手に入れ,自分達のOSが最も効率よく動くCPUを作ろうとしています。

 マイクロソフトの主力製品はあくまでOSです。ですから,アーキテクチャライセンスにかかった多額の費用を,CPUを売ることによって回収しようとは考えていないと思います。マイクロソフトが狙っているのは,その主力製品であるOSが最も効率よく動くCPUを自ら用意して,これをリファレンスデザインとして提供し,他のライバルには到底実現出来ないような完成度の高い製品を,誰にでも簡単に作る事が出来るようにすることです。

 ここから先はいろいろなオプションがあるでしょうが,1つにはOSを売るためのオマケとして,CPUの設計情報とそのCPUを使ったリファレンスデザインの回路図を無償で提供し,これを使ってCPUと回路を作る事を最終製品のメーカーに許可するというシナリオです。

 あるいは,このCPUの設計情報を一部の半導体メーカーにライセンスし,そのCPUで高性能を発揮するOSをマイクロソフトが最終製品メーカーに対して供給する,とぃう話です。いわばスマートフォンのウィンテルを目指そうという作戦です。

 インテルはARMのアーキテクチャライセンスを手放しましたし,いくらATOMが低消費電力だといってもARMには全然かないませんから,実用的な電池寿命のスマートフォンをインテルのCPUで作ることは無理です。さりとて現状のARMでは処理能力に物足りないものがあり,しかもARMコアのCPUはARMからインプリメンテーションライセンスを受ければ製造できるので,多くの半導体メーカーが手がけています。

 マイクロソフトはこのあたりをよく分かった上で,PCにおけるインテルのような,スマートフォンにおけるパートナーを,自ら育てようとしているのかも知れません。

 いずれにせよ,スマートフォンを作るのに,これまでは既存のハードウェアにOSをあわせ込んで作っていたものを,それでは限界があるのでOSとハードウェアの両面から作る事にした,ということは間違いないでしょう。これはAppleにもGoogleにも現時点では真似の出来ないことです。

 言い方を変えると,マイクロソフトはソフトだけではもう改善できないと白旗を揚げたとも言えます。AppleもGoogleもまだまだソフトでがんばれると思っているのかも知れません。

 多額の費用を投じて,OSだけにとどまらずCPUにまで手を突っ込み,最終製品の性能向上を目論むマイクロソフトという会社は,いったいどれだけの巨大企業なのかと,背筋が寒くなる思いがします。

 Appleは,かつてPAsemiというCPUメーカーを買収しました。直接間接にこの会社の持っていた資産がA4というプロセッサの実現に役に立ったことは想像に難くありませんが,このPAsemiという会社は,もともとDECでStrongARMを開発した人々が作った会社だということを,最後に添えておきます。

 Appleは,PAsemiの直接の成果物や人的資産でA4を作ったのではなく,設計と製造を依頼したSamsungのいいなりにならず,自分達の欲しいCPUを作ってもらうためにちゃんと意思疎通ができるよう,その道の専門家(それもこの業界なら知らない人はいないと思われるCPU設計のカリスマです)を手に入れたかったというのが,現在の大方の見解です。

 AppleもGoogleもマイクロソフトも,しっかりしたビジョンと良いOSを持っている業界のリーダーですが,それぞれが専門外の半導体に対して,これだけスタンスが違ってくるというのが,大変に興味深いですね。

ページ移動

  • 前のページ
  • 次のページ
  • ページ
  • 1

ユーティリティ

2010年07月

- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed