スタートラインが違うハンデマッチ。   

2011年2月13日



☆憶えた端から忘れてしまう。   
さて、今回もいつもの余談から。

ここ数日の北総地方は珍しく雪模様。 数日前から積雪に対する注意が報道されていたのであるが、 最近の天気予報は良く当たるようになったものである。

当サイトの場合は静岡県から帰って来た段階でスタッドレスタイヤに履き替えたのだが、 ここ北総地方ではスタッドレスタイヤを持っていない人も当たり前のように存在する。 ただ、不幸中の幸いは雨と雪が交互に入れ替わっている状態で、 雪が降っても時々雨が混じると積もりかけた雪が溶けてしまい積もるまでには至らない。 積雪によって強制引きこもり状態かと思ったが、かろうじてそこまでにはなっていない状態だ。

だが、アキバへの誘惑に弱い当サイトにとっては強制引きこもり状態は試験勉強に良い環境。 誘惑に負けるなという天の声だと思って、参考書を手にとって苦手科目の法令を勉強中。 法令第一条:この法律は...第二条:...って、10条ほど読むと最初の第一条をもう忘れていた。

技術の問題ならば憶えていなくても最悪理論から計算で導き出したりできるが、 法令は憶えていなかったらアウト。 何日以内にどこどこへ書類を出すのかとか、その日にちを理論で導き出すことはできないですからね。

ちなみに、Web記事で当サイトと同じく記憶力の悪いぼやき話が書いてあって、お仲間ですなと素直に笑ってしまった。 たしかに、コンピュータから検索ができると記憶力に頼る機会は実社会では減っていく。 当サイトの場合でも、コラムを書くのに情報収集として検索禁止とか、PCマニア情報網使用禁止なんてことは無い。 しかし、資格試験中にネットで検索したらそれは立派なカンニング。 なので、記憶力皆無な当サイトは過去問の正答率が推定合格基準に届かず大苦戦中なのでした。

雪が降ったが積もるまでには至らず...
そろそろ梅の花が開花開始。

で、3連休3日目の日曜日はようやく晴れたので、試験勉強の息抜きに散歩。 写真の通り日陰部分は溶けた雪が凍って霜だらけなのだが、ブラブラ歩いて行くと梅が咲いていた。 寒い中でも春の匂いも少しずつ進行中。

☆タブレット、売れている、売れていない、どっち?   
と言うわけで本題へ。 今回の話題は、最近の経済誌で話題沸騰のタブレット市場に関するCPUの話。 しかし、当サイトでは今までほとんど話題にしたことがなかった。

なぜかと言えば、まず当サイトはタブレット市場の成長に一定のタイムラグがあると予想していたのである。 マニア市場でバカ売れした後で、一時的に失速するだろうと思っていた。 その後でジリジリと普及するだろうと思っていたのだ。

だが、この予想は日本市場に関して言えば的中したが、アメリカ市場では的中していなかった。

確かに日本市場ではタブレット端末は失速しつつあるようだ。 (ここをご参照ください。) 最近は出張で新幹線や通勤電車に乗る場合が多いのだけれど、 ノートPCを開けて仕事をしている人は新幹線でよく見かけるけれど、 タブレットをいじっている人はあまり見たことがなかった。 (iPadを使っている人を数回見かけた程度である。) 友人に聞いても「持ってます。」と答える人は意外に少なかったりする。 スマートフォンの普及率を思えば意外だろうが、事実だ。

しかし、世界市場レベルで見た場合タブレット市場は既にPC市場を奪い始めているそうだ。 ネットブック市場を喰っているのは日本では価格低下したCLUVノートだが、 アメリカではタブレットなのだそうだ。

日米での売れ行きの違いが何に起因するかはわからない。 (最初は言語の違いによるCPU負荷の差が快適さに影響しているのかとも想像したが、どうもそうではないようだし...) だが、少なくともアメリカでは売れているという事は、 アメリカではそれを支える半導体の市場規模が拡大していることを意味する。 これはARMにとっては有利、intelやAMDにとっては不利な状況だと思う。 市場拡大が急速であればあるほど、不利な側が挽回するチャンスが減るからだ。 (不利な側は差が少ない段階ほど挽回のチャンスがあるから、 優勢側の常勝サイクルが回り始める前に対策を打たねばならない。 非常に素早い対応が要求されると思う。放置すれば必敗だ。)

だが、日本の場合はまだ一定のタイムラグがあるようだ。 また、日本の場合はユーザーがアメリカよりも高品質志向であるだろうから、 性能の高い側に需要が揺れる傾向にあると思う。

と言うわけで、今まであまり関心の無かったタブレット系について調べているのだけれど、 PCマニアである当サイトはARMについてもあまり調べたことがない。 で...今月のPC雑誌を何にするか本屋で立ち読みしていたら、 パワレポにタイミング良くARMの話が書かれていたので、早速これにした。1)

☆スタートラインが違うハンデマッチ。   
記事のほとんどの内容は当サイトも同意できるものであり、 また、当サイトがあまり得意としないビジネスモデルという観点からの考察は非常に勉強になった。 ただ、1点だけ当サイトと見解が一致しなかった部分があったので、 今回はこれについて書いてみたいと思う。

この市場に関する市場争奪戦は、前半戦ではARM側の勝ちであった。 常勝サイクルが回り始めた段階にまでは至っていないだろうが、 シェアの優劣は明らかだろう。

で...現段階ではARM優勢だが、将来的にCPUの必要性能が高まってきたらどうなるのだろうか?

タブレット用CPUの雑誌記事を読んだりすると、ARM側の自信がわかる。 ARM側の方が性能アップのペースが速いと主張している。 自分たちの方が性能アップに適したアーキテクチャであると主張しているわけだ。

ただ、当サイト的にはこれが間違いとまでは思ってはいないが、 メインの理由はちょっと違うものではないかと推測している。 それは「三つのウォール」までの乖離の違いだ。

intelやAMDで1コアあたりのCPU性能アップがスローペース化している最大の理由は 「三つのウォール」の存在だと言うのは我々PCマニア界でも常識化している。 デヴィッド・A・パターソン先生の言うところのILPウォール・メモリウォール・パワーウォールである。

この三つのウォールだが、(学会レベルではもっと以前だろうが)PCレベルで話が出てきたのは Pentium4、正確に言えばPrescottが電力問題で失速した時期とほぼ一致する。 で、このときにフッと思ったのであるが、x86としては低消費電力であるAtomが世に出てきたとき、 その性能がPentium4レベルであったのは偶然なのだろうか?と思ってしまうのであった。

Atomが目指すべき方向性は低価格と低消費電力。 低価格を低ダイ面積の方向と捉えれば、これも低消費電力と一致する。 すると、性能を上げていき、三つのウォールに突き当たり始める直前を狙うとすれば、 このあたりからなのかな?とか思ってしまうのであった。 (ちなみに、Pentium4とAtomではミクロンルールの世代が全然違うから、 まともに考えれば同一であるとは限らない。 むしろそうはならないと考えるのが妥当。)

しかし、その頂点の性能アップが完全にスローペース化している事が いわゆる三つのウォール問題なのだから、世代が変わっても スローペース化の程度は頂点からの乖離度に反比例すると思える。

わかりやすく考えてみよう。 性能の低いCPUと高いCPUが既に存在して、 性能の高いCPUの開発者がさらに性能を上げようとする場合と、 性能の低いCPUの開発者が同じ割合だけさらに性能を上げようとする場合とでは、 どちらが技術的に難易度が高いだろうか?

性能が低い側のCPUは価格や消費電力で別の意味での高い水準が求められるから、 トータルでの難易度は何とも言えない。 (その意味では、ARMを貶める意図はない。) だが、性能面だけで見るならば、低性能側の方が難易度が低いことははっきりしているだろう。 itenlとAMDの戦いが一進一退なのは両者がシングルスレッド性能面でトップクラスの同一水準に居るからであり、 ARMとx86との戦いはある意味でスタートラインが違うハンデマッチなのだ。

☆三つのウォールはアーキテクチャに依存するか?   
と言うわけで、当サイトの言いたいことがおわかりいただけたと思う。 ARM側の開発ペースがx86側よりも速いのは アーキテクチャ的に優れているからというのはARM側のビジネスアピールであって、 当サイトは(x86の互換性維持問題を考えればそれは確かに嘘ではないけれど) 一番の主因は現状の性能が三つのウォールからどの程度離れているか?という点で ARM側の方が元々有利な立場であったという点が指摘できると思う。

もしもintelやAMDの最速CPUが現段階で仮にARMよりも低性能な側であったならばどうなっていたのだろう?  ARM側の主張通りならばそれでも開発スピードはARM側圧勝のハズである。 だが、当サイトはそうは思わない。 おそらくARMはハイペースでintelやAMDを振り切る側ではなく、逆に追いつかれる側に回っていたハズである。

これは、最速CPUの開発競争でもわかる。 x86がそれほどアーキテクチャ的にARMに比べて劣っているならば、 そもそもIBMとかに既にとんでもない大差を付けられているハズである。 しかし、実際には大差は付いていない。

当サイト的には、三つのウォール問題はアーキテクチャには強くは依存しないと思えてならないのである。 もしアーキテクチャに強く依存するのならば、 優秀な技術者がたくさんいる半導体業界でこれほどの苦戦が長く続いているハズはない。 現時点ですでに打開されていて当然と思う。 (強く依存するのならば、intelやAMDは依存性の少ないアーキテクチャでCPUを作って、 PARROTやCrusoeのような形でx86を擬似的に動かせばよいだけの話。)

まず、ILPウォールについて考えてみよう。

ILPウォールを決める最大要因は命令間の依存関係と当サイトは認識しているのだけれど、 命令セットを変えたりレジスタが増やせたりしたら依存関係を大幅に減らすことができるのであろうか?  当サイトは、若干有利にはなるが大差は付かないと思う。 理由は、それが可能ならばItaniumは間違いなく成功していたハズと当サイトは考えたからだ。

Itaniumはビジネスとしては失敗だったわけだが、じつはメモリバンド幅がボトルネックにならない分野の HPC関係用途ではそれなりに結構良い性能を出してきている。 この事実は、命令レベルの依存関係が問題になりにくいHPC用途ならばVLIWは適しているという意味であろう。

逆に言うと、命令間の依存関係がHPC用途よりも厳しいビジネスユースでは、 レジスタが多かろうと命令セットをゼロから再構築可能であろうと、 それでILPウォールを解消できるほどILP問題は容易いものではない事を意味しているわけだ。 ARMよりもさらにx86との差異が大きいVLIW方式でこの状況なのだから、ARMならばOKとはとても思えない。

メモリウォールはどうだろうか?

たとえば、メモリからのデータの取り込みだとどうだろう。 レジスタが多ければデータアクセスはその分減らせるだろうけれど、 それはHPCのような大量のデータを扱う場合の話。 フローコントロールがメインの場合では、そもそもデータ量が多くないので効力が薄くなるように思える。 また、SIMDはレイテンシ問題の発生頻度を並列度アップで下げる訳だが、 これもx86側も後付けでSIMD対応している過去の歴史から見ると両者に大差が付くとも思えない。

命令の場合はどうだろう。 x86のような内部RISC型よりも普通のRISC側の方がかえって可変長命令が使えない分だけ 1次キャッシュ容量を増やす必要性があるというデメリット部分もある。 かといって、RISCのままで命令長を減らしたりすると今度は命令設定上の制約で設計自由度が減ってしまい、 こちらもトータルでは性能アップにならないように思う。 (だからARM側では命令長にステップを付けたりするわけだ。) つまり、命令とデータでの損得相殺で結局大差は付かないように思える。

また、PCやタブレットでは(混載されたGPU部分で発生するボトルネックを無視すれば) HPCのようなバンド幅ボトルネックが発生する可能性はほとんど無いわけだしね。

パワーウォールはどうだろう?

x86だと確かにデコード部分の消費電力増大という障壁がある。 この部分では確かに不利だと思う。 しかし、μOPキャッシュに代表されるようにx86でも命令デコーダーの平均消費電力は今後低減されていくと思う。 これはキャッシュ面積面で不利な状況になるとも思うが、それは同一性能の場合のARMで必要な容量に近づく話であって、 逆の意味でのハンデマッチだからこれも大きな障害にはならないように思える。

それに、ARM側でも性能アップを行おうと思ったら、Out-of-Orderを大幅に拡充する必要がある。 この際に、ARMならばパワーウォール問題が発生しなくなるという理由を当サイトは見つける事ができなかった。 ARM側は半導体プロセスで解消可能と主張しているが、 半導体プロセスのメリットはARMだけではなくx86でも活用できる話である。 プロセスで消費電力が下がったならばx86でも同様に下げられるわけだから、 差異の理由付けとしては根拠に薄いと思う。

☆新興国と先進国の経済成長力差に似た状況。   
正直な話、ARMの性能アップペースが速いのは、新興国の経済成長ペースが先進国よりもハイペースである状況に似ていると思う。 既存の技術開発が把握できている状況下での発達だからペースが速いのだと考えている。 何をすれば性能が上げられるか既にわかっている領域からまだあまり離れていない段階なのだ。 しかし、自らが最先端レベルに到達すれば、そこからはゼロからの試行錯誤を求められることを意味する。 それでも同じ開発ペースを維持しようと思ったらノーベル賞級の技術者が必要だ。

この当サイトの考え方がもし正しいと仮定すると、 ARMの性能アップペースについて一定の予想ができる。 つまり、現段階で凄いペースで性能が上がっていても 世界の頂点に近づくにつれて開発難易度が上がってペースが低下し、 近づくことは容易でも追い越す事は非常に困難で時間もかかるというわけである。

もちろん、タブレットの性能がPCよりも高く要求される時代が間近に来るとは思えない。 そして、PC需要ではシングルスレッド性能が第一なのはマルチスレッド対応の難易度の高さから見て当面は変わらないと思う。 すると、マルチコア化では対処できないから、タブレット市場から抜け出して PC市場に打って出ようと思ったらARM側はシングルスレッド性能を大幅に向上させなくてはならない理屈になる。 しかし、このレベルになると開発ペースの低下が起こって大きなタイムラグが発生してしまうだろう。

この理屈から、タブレット市場での要求性能が今後急激に上がらない限り、 タブレット市場ではARM側圧勝、PC市場ではx86圧勝の状況はそうは簡単には動かないと思う。 特に、ARM側がPC市場に食い込むのには開発の難易度から見てかなりの時間がかかるはずだ。 (もしタブレット市場で要求性能が一気に高まればAtomよりはむしろ低消費電力版のSandy Bridgeを使うという手も考えられて、 可能性こそ低いがこのような市場要求が増えると開発が間に合わなくなってARM側が一気に不利になるだろう。)

と言うわけで、当サイトはARMとx86の勝負の行方を決めるのは技術の話ではないと思っている。 ARMの現状の性能アップが素早いからと言ってx86側が技術的に劣勢とは思わない。 x86側のミスはARMとの開発ペース競争で負けている事ではなく、 市場が重なる領域にARM側を進出させてしまったこと。 (共食いを恐れるあまり、今までタブレット市場に力を入れてこなかったこと。)

ビジネスモデルの話は得意ではないし当サイトの興味の範疇外でもあるので詳細は書かないが、 勝負の行方を決めるのは技術開発の問題ではなくビジネスモデルに対する判断力・決断力の差(特に決断スピード)だと思っている。


1)
当サイトがかなり信用しているライターだから最初から心配はしていなかったが、 内容は全く信頼できるものであった。 現時点では(PCサイドから見て)新興勢力であるARMの実力について、しっかり認めていたからである。 (都合の悪い内容でもちゃんと書くか?というのは良い判断基準になる。)

余談だが、前回のコラムで書いた提灯記事に対する批判に関しては賛否両論だ。 だが、「書くならば皮肉ではなく、論理かデータで反論すべきだ。」という指摘があった。 非常に痛い指摘で、まことにもっともである。 過去、自らの権益に反するPCユーザーたちの意見はメディアの力で潰してしまえばいいと考えたとしか思えない内容が一部の記事とはいえあった。 だが、怒りにまかせて皮肉に皮肉で対応する事は自らのレベルまでも果てしなく落とす自滅的スパイラルでもある。 (最終的な到達点は「裸の王様」だ。) ここは頭を冷やして、これを持って今後は皮肉的な表現はしないと宣言しておくことにする。 幸い、直近では提灯記事はほとんど無かった。