このページの本文へ

【絵で分かるキーワード】ARM(あーむ)

【絵で分かるキーワード】ARM(あーむ)

2003年05月18日 03時34分更新

文● 本田 雅一

  • この記事をはてなブックマークに追加
  • 本文印刷

【絵で分かるキーワード】ARM(あーむ)

関連キーワード

XScaleプロセッサRISC

どこでも見かけ、どこでも買えないプロセッサ

ややこしいARMの仕組み
●【ややこしいARMの仕組み】 ARM:英ARM社の開発する組み込み向けプロセッサ・アーキテクチャ

 PDA、携帯電話、ルータ。あちこちで「ARM」の文字を見かける。しかしARMという製品が組み込まれているわけではない。ARMが設計したRISCプロセッサを組み込んだ半導体が組み込まれているのだ。いや、実にややこしい。順を追って説明しよう。

 ARMは英国にある半導体開発ベンダーの名称だ。以前は Advanced RISC Machines と名乗っていたが、社名変更で現在のARMホールディングズになった。それはともかく、ARMとは社名である。が、ARM社はARMという設計やARMという命令セット、ARMという製品を出荷し、製品のライセンス先はARMの名前を使ったプロセッサを製造している。ややこしい理由はここにある。

 ARMは半導体工場を自社で持たないばかりか、自社では一切、半導体部品を販売していない。ARMが販売しているのは、消費電力あたりのパワーに優れるシンプルかつ強力な独自の命令セットを実装したRISCプロセッサの設計データだ。半導体製造ベンダーはARMからRISCプロセッサの設計をライセンスし、それを自らの製品内に組み込んで利用する。つまり、我々が購入する製品に使われている部品の、さらに元となるデータを設計しているというわけだ。

 例えばテキサス・インストゥルメンツ(TI)は自社のOMAPという携帯電話向けDSPに、CPUとしてARMの設計したプロセッサコアを組み込んでいる。またモトローラは、PDA向けにインターフェイスなどを統合したプロセッサDragonball EXにARMコアを組み込んだ。このほか、ネットワークプロセッサとARMコアを組み込んだネットワーク機器向けのプロセッサなど、使用目的に応じてARM社の設計したコアを使用したチップは数多くある。ARMが設計したRISCコアのライセンス先は大小織り交ぜて40社を超える。

 ARMは使いやすい命令セットに加え、回路構成が非常にシンプルで、その割に高速なため、組み込み用プロセッサとして最適だ。コアの種類にもよるが、最新プロセスで実装するとARMアーキテクチャのコアはわずか2~3平方ミリ程度に収まる。回路規模が小さいため、消費電力も非常に低く「消費電力あたりのパワーが最大」と言われている。

パソコン用から始まったARMプロセッサ

 もっとも、ARMのプロセッサが最初から低消費電力を狙って開発されたわけではない。元々は英国のAcornという会社が、6502プロセッサを採用していた自社製パソコンの後継機で使用するプロセッサを自社開発したものだった。最初のプロセッサが完成したのは1985年のことで、Acorn社のArchieというパソコンに搭載された。

 Acorn社は大規模なプロセッサを設計するほど大きな会社ではなく、また開発したプロセッサの価格を下げることも重要だったため、とにかくシンプルな構造のプロセッサを作ろうとした。ARMがRISCアーキテクチャになっているのは、先進的だったからというよりは、複雑なプロセッサを設計できる体制になかったから、と言われている。

 ところが完成したARMプロセッサは予想以上の高い評価を受けることになった。コストの安さや低消費電力が単体プロセッサとしてユニークだったからだ。残念ながら、Archieは一部で高い評価を得たものの主流にはなれず、Acorn社はパソコン部門をAcornのブランドと一緒に売り払ってしまったが、半導体部門はそのまま存続してAdvanced RISC Machinesと社名を変更した。

 その後のARMプロセッサは、ローコストかつ低消費電力という特徴を武器に進化を続け、その命令セットと設計を他社にライセンスしながら今に至っている。現在でも、x86プロセッサとは異なるユニークな製品を投入し続けることで、独自の地位を築いている。

命令セットとアーキテクチャは別々

命令セットとアーキテクチャの関係
●【命令セットとアーキテクチャの関係】

 前述のようにARMが半導体ベンダーにライセンスしているのは、ARMプロセッサの設計データである。その設計データはARM命令セットを特定のマイクロアーキテクチャで実現した回路設計ということになる。ところが、命令セットとマイクロアーキテクチャは必ずしも対になっているわけではない。

 命令セットは市場の要求に応じてバージョンアップを重ね、現在はARM v.5が最新版となっている。先頃、ARMホールディングズはメディア処理命令を強化したARM v.6も発表した。これを実装するパイプライン段数やキャッシュ構成、分岐予測などの設計要素、いわゆるマイクロアーキテクチャにも、別にARM6、ARM7、ARM8、ARM9といった名前が与えられている。最新はARM10で、現在ARM v.6を実装するARM11が開発中である。

 両者の組み合わせは必ずしも対になっていない。ひとつのマイクロアーキテクチャはひとつの命令セットしかサポートしないが、ひとつの命令セットは複数のマイクロアーキテクチャが実装している。例えばARM9とARM10は、同じARM v.5をサポートしたマイクロアーキテクチャだ。

 マイクロアーキテクチャは数字が大きくなるほど、パイプライン段数が増えて高クロック化しやすくなったり、分岐予測機能が組み込まれて性能が向上するなどの違いがあるが、その分だけトランジスタ数が増える。このため、半導体に組み込む際のコストは上昇する。半導体ベンダーは、そのときに使えるリーズナブルな製造プロセスや目的に応じて、マイクロアーキテクチャを選択する。

 またARMにはプログラムサイズを小さくできるThumb命令や信号処理のためのDSPライク命令、Javaバイトコードの大部分を直接実行可能なJazelle命令などの付加命令セットがあり、命令セット名で判別できるようになっている。Thumb命令はT、DSP命令はE、Jazelle命令はJで表現され、ARM v.5TEJといった名称で呼ばれる。この呼び方は製品名にも反映されており、ARM10ベースの最新コアARM1026EJ-Sは、ARM10のモデル26、DSP命令とJazelle命令をサポートし、スタンダードセル(半導体設計CADにおける標準的な設計要素)のみで設計されているコアであることがわかる。

世界でもっとも多く使われるプロセッサ

 さまざまな回路規模、性能、消費電力などのバランスを選択できるマイクロアーキテクチャと、豊富なソフトウェア資産がある命令セットを持つARMプロセッサは、単体プロセッサからさまざまな分野での組み込みプロセッサまで、あらゆる場所で使われている。その応用範囲はPDAやルータといったパソコンに近い場所だけでなく、自動車、携帯電話など、我々が知らないところにたくさん散らばっているのだ。

 またARMホールディングズはインテルとモトローラに対して、アーキテクチャライセンスという特殊なライセンス契約を結び、ARMプロセッサの適応範囲を広げている。この両者は単にARMの設計を自社製品に組み込むだけでなく、マイクロアーキテクチャを自由にカスタマイズする権利を取得している。インテルのStrongARMおよびXScaleは、いずれもこのライセンスに基づいて、インテルが自社で持つ製造プロセスや目的とする性能を達成するため、マイクロアーキテクチャを独自に開発したものだ。

 ARMは現在でも、世界中でもっとも多く利用されているプロセッサと言われているが、今後も当面の間は“世界一”の座は揺るがないだろう。ぼくらの目に見える部分は、PocketPCやPalm OS搭載機などでARMアーキテクチャが採用されていることぐらいだが、目に見えないところにこそ、数多くのARMが利用されているのだ。

カテゴリートップへ

注目ニュース

ASCII倶楽部

ピックアップ

ASCII.jpメール アキバマガジン

ASCII.jp RSS2.0 配信中