第138回 ARMの64bit化でむしろ深まるIntelとの仲?頭脳放談

ARMが64bitアーキテクチャを正式発表。組み込み用途やタブレットなどで、Intelとの競合が気になるところ。意外や、その関係は深まっている?

» 2011年11月28日 05時00分 公開
「頭脳放談」のインデックス

連載目次

 ARMが64bitアーキテクチャを正式発表した(ARMのニュースリリース「ARM、次バージョンのARMアーキテクチャの技術的詳細を公開」)。ARMは、そのアーキテクチャを「ARMv8」と呼んでいる。発表そのものに大きな驚きはないだろう。何せ「世界中の主要な」半導体、システム、ソフトウェア、アプリケーション・ベンダと契約のあるARMのことだから、どんな仕様でどんなものを作るのか、相当前から各社とすり合わせをして練りこんできたはずである。よって主要なプレイヤーは、とっくの昔にかなりのことを知っているはずだ(知っていても勝手に喋れないのは当然だが)。ただ、主要なプレイヤーといえども、知っていたのは自分が関係している部分的な情報に限定されていたと推測される。最終的にARMがどのような判断をして、どのような市場投入計画を持ったのか、全体像を知っていたのはARMだけであり、それが公式に明らかになったというのが今回の発表の意義であろう。

ARMv8の位置付け ARMv8の位置付け
2011年10月下旬に開催されたARMのカンファレンス「ARM TechCon 2011」で、64bitアーキテクチャ「ARMv8」が発表された。そのプレゼンテーションでは、ARMの命令セット・アーキテクチャの流れが示され、ARMv8の機能や位置付けを明らかにした(ARMのARMv8に関するプレゼンテーション資料「ARMv8 Technology Preview[PDF]」)。ARMv8は、ARMv7と互換性を持ち、さらにSIMD命令の拡張などが行われることが分かる。

 まず、いつもながら感心するのが、ARMの製品ラインアップの整合性にかける努力である。新しいものを出してしまうとそちらを売りたいあまり、自社の古い製品が疎ましくなって、そちらの収束に走るような会社が多いなか、ARMは64bitのアーキテクチャが出ても、今までの32bitのアーキテクチャも「ますます」広がっていくのだ、つまりは「32bitにも先があるのであって、64bitに一律に移行するというものではない」と表明しているように見える。そして当然ながら、32bitと64bitの命令セットは共存し、協力できるように設計もしてきたようだ。このあたりの配慮が、ARMをしてトップ・プロセッサIPベンダの地位につけた理由の1つだろう。

 64bit自体はどこかで踏み出さねばならない一歩ではあった。すでにタブレットやスマートフォンなどのARM応用機器に搭載されるメイン・メモリが数Gbytesという量に達してしまっている現状からすれば、「ギリギリ」のタイミングではないだろうか。まぁ、今回の発表前から実質の仕事は始まっているわけだから、今後、そう時間もおかないうちに、広いメモリ空間を使うことができる環境が一般化すると思われる。これは時代の要請に合わせてARMの応用領域を広げることになる。

 ただ、「ARMの32bitアーキテクチャの独特さ加減に、どう折り合いをつけて64bit化するのだろうか?」という疑問があった。ARMの32bit命令セットを見れば分かるのだが、RISCプロセッサとしてもかなりユニークなものである。例えば、ほとんどの命令(普通の演算命令など)に対してまでも実行するのかしないのか、条件を付けることができるといった点が挙げられる。このような特殊な32bitの命令セットは、コード効率を上げて、コンパクトにしなければならない組み込み用途に特化した初期のARMの方向性から出てきたものだと思う。

 小さな装置に組み込まれていた初期のARMではそれなりに効果を発揮していたはずだが、64bitマシンともなると逆に足かせになってくる。だいたい普通のプロセッサでは、この手の判断は分岐命令だけであって、それを分岐予測という手のかかる機構でなんとか始末している。大規模なプロセッサではパイプラインを乱し、かえって性能向上の足かせになりかねないものである。どうも、そのあたりはARMも痛感していたと見えて、今回の64bitアーキテクチャを考えるにあたって、まずいところを相当削り取ってしまったようだ。当然、32bitのモードでは互換性もあるから、それらを依然としてサポートしなければならないが、「共存はしても仕切られた別の枠組み」である64bitアーキテクチャ側には入っていない。これによって64bitアーキテクチャでの実行の方が、より大規模回路に適した形になってマシンの性能を引き出せるようになるのではないかと想像される。そのかわりユニークさはちょっと薄れてしまったか。

 ここから当然予想されるのが、x86アーキテクチャと比べて低消費電力であるARMであれば、同じ消費電力で「より多くの数をまとめられる」だろう、ということで、ARMをサーバなどに使おうという発想である。実際、いくつかの動きがあるようだ。また、今回の64bit化で、ARMの浮動小数点命令セット(32bitアーキテクチャでのサポートは必要最低限というべきものであった)やSIMD命令セットもより強力なものとなった模様なので、スパコン的な多数プロセッサの集積もありかもしれない。

 そうしたARMの適合領域の拡大は、必然的にx86アーキテクチャと「被る」領域を拡大することに繋がる。数年前までは、PCやサーバのx86と、組み込み用途のARMとは、ある意味「生活圏」を異にしていた。しかし、x86系がAtomなどで下に色気を見せ、ARMがスマホとタブレットでPCの市場を脅かしている現在では「競合」といって差し支えない状況である。すでにメジャーなプロセッサ・アーキテクチャとしては、x86とARMしか残っていない現況では2強といっていい状況であり、そのせめぎ合いの前線がさらに高いところにまで拡大してしまうわけである。

 しかしARMが上手いのか、Intelがしたたかなのか、あるいは混乱しているのか、必ずしも単純な競合という関係でもないのはご存じのとおりである。昔、IntelもARMプロセッサの権利を持っていた(旧DECから引き継いだものだ)が、それはMarvellに売却してしまった。その後のIntelは、プロセッサをAtomに絞って組み込み戦略を進めてきたようにも見えるが、携帯電話向けのチップセットなどの事業を買収し、スマホ向けなどのチップにも深入りしていく状況下でARMとの関係はかえって深まってしまったようだ。

 最近では、ARMプロセッサ向けのGPUベンダとしてIntelがアナウンスされている(Intelは自社のチップセット向けにGPUを持っているから、GPUベンダとしてアナウンスされるのに不思議はないが)。Intelといえど、ARMを無視しては成り立たないということであろう。半導体メーカーであるIntelと、自らは半導体を作らないARMというビジネス・モデルの違いが、何とか深刻な競合関係を回避させているようにも思える。この先もうまく折り合いをつけて、どこまでARMが64bitアーキテクチャを守り立てていけるか見ものである。

筆者紹介

Massa POP Izumida

日本では数少ないx86プロセッサのアーキテクト。某米国半導体メーカーで8bitと16bitの、日本のベンチャー企業でx86互換プロセッサの設計に従事する。その後、出版社の半導体事業部を経て、現在は某半導体メーカーでRISCプロセッサを中心とした開発を行っている。


「頭脳放談」のインデックス

頭脳放談

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。