このページの本文へ

ロードマップでわかる!当世プロセッサー事情 ― 第82回

スマートフォンを席巻するARMプロセッサーの歴史

2010年12月20日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷
ARMプロセッサーのロードマップ概要
ARMプロセッサーのロードマップ概要

性能は伸びたが影の薄い
ARM v5アーキテクチャー

 続いてARMは、第5世代となる「ARM10」をリリースする。同時期にARM9を組み込み向けに強化した「ARM9E」もリリースするが、この「ARM v5」アーキテクチャー世代は、ARMの製品群では(ARM8などと同様に)やや影が薄いものとなっている。

 例えば、インテルはARM v5のアーキテクチャーライセンスを受けて(StrongARMの資産をDECから買収していたため)、これを利用して「XScale」を設計・製造した。しかし、思ったようにマーケットシェアが伸びず、結局米Marvell Technology社に資産を丸ごと売却してしまったのは、ご存じの方も多いだろう。また、米テキサス・インスツルメンツ(TI)も同じくARM v5のアーキテクチャーライセンスを受けて、これを自社の「OMAP」シリーズに搭載したりしているが、これで大きくシェアを伸ばしたということもない。

 しかし、ARM v5アーキテクチャーそのものはDSPの搭載もあって、大きく性能を引き上げることに成功。これを搭載するARM9Eコアは広く利用された。携帯電話などにも、これらはかなり利用されている。

2005年にはCortex-A/R/Mで製品群を細分化

 ARMアーキテクチャーの携帯電話への搭載、という流れが決定的になったのは、次の「ARM11」である。ARMの常として、動作周波数などは実際にCPUのライセンスを受けて製造するメーカーの製造プロセスによって大きく変わるので、一概に言いにくい面はある。ARM9/9Eの世代はおおむね200MHz程度の動作周波数で、処理性能が200DMIPS程度だった。それがARM11では、動作周波数が700MHz近くまで引き上げられ、処理性能も最大で1000DMIPS程度に達するようになった。

 もちろん、同時期のx86プロセッサーと比較すると、せいぜい数分の1から10分の1程度の性能ではある。だが、携帯電話のように限られた電池容量では、当時のx86のようなハイパフォーマンスCPUは到底搭載不可能であった。またARM11が登場した2002年頃では、携帯電話といっても今のようにフルブラウザーやFlashが動作する必要はなかったため、ARM11の性能で十分だった。

 2003年にARMはNECと提携。NECに対してARM11のプロセッサーコアライセンスを提供する一方で、NECはこれを利用したマルチコア技術を開発する。その技術がARMに提供されて、2004年に「ARM MPCore」として発表された。

 これくらいになると、「ARM11ひとつでは性能が足りない」といったアプリケーションでも、性能面で大分カバーできるようになる。流石に「携帯電話向けに」という話はこの時点ではなかったが、例えばカーナビや据え置き型機器などを皮切りに、次第に採用例が増えてゆくことになる。

 こうしてARM11コアの性能改善を図る一方で、新しいアーキテクチャーも引き続き開発されていた。その成果が、2005年に発表された「ARM Cortex-A8」である。世代的には「ARM v7」アーキテクチャーに属する最初の製品であるが、ARMはこの世代から製品ラインナップを一新した。

 まず「Cortex-A/R/M」という3種類にターゲットを分け(ARMの名前を各々の頭文字に引っ掛けた)、アプリケーションプロセッサー向けが「Cortex-A」シリーズ、リアルタイム制御が「Cortex-R」、組み込み機器の制御用が「Cortex-M」シリーズとなる。

 つまり、最近耳にすることの多い「Cortex-A8」はアプリケーションプロセッサー向けの製品で、従来ARM11を使っていた用途向けに、より高速な絶対性能を提供できるというものである。このCortex-A8をベースに、若干のパイプライン構造強化と、マルチプロセッサー向け対応を追加したのが「Cortex-A9」である。

 逆に、Cortex-A8よりやや下の性能ながら(ARM11と同程度以上)、より高い性能/消費電力比を実現した「Cortex-A5」もリリース。さらに2010年9月には、次世代のハイエンドコアとなる「Cortex-A15」シリーズが発表された。

Cortex-A15の構成図 Cortex-A15の構成図(ARMウェブサイトより引用)

急速に市場を拡大する
制御用のCortex-M

 Cortex-Aシリーズとは別に、2006年にはリアルタイム処理を狙った「Cortex-R4」が発表され、これも特定用途では次第に広く利用されつつある。ただし、Cortex-Rシリーズよりも爆発的に利用されているのは、ローエンドのCortex-Mシリーズである。

 2004年にまず、Cortexシリーズのローエンドとして「Cortex-M3」が発表される。続いて、FPGA上で構築できるソフトコアとして「Cortex-M1」が2007年に、2009年にはローエンドの「Cortex-M0」が発表される。さらに2010年には、Cortex-Mシリーズのハイエンド製品である「Cortex-M4」が発表されている。

 これらのうち、唯一Cortex-M1だけはARM v6ベースで、既存のFPGA上でそのまま利用できる※1という、ちょっとほかの製品と毛色の異なるものだ。
※1 ここで言うFPGAとは、米アルテラの「Cyclone」「Startix」、米Microsemi社(旧Actel)の「ProASIC3」「IGLOO」「Fusion」、米ザイリンクスの「Virtex」など。コアの利用料もFPGAに含まれているため、使用する機器メーカーは無償で使える。

 一方Cortex-M3は、既存の16~32bit MCU(Micro Controller Unit)、Cortex-M0は既存の8~16bit MCUの置き換えを狙った製品で、2009年あたりから、主要なMCUベンダーが相次いでこれらのコアを搭載した製品をリリースしている。

 携帯電話ではすでにARMベースの製品シェアが90%近いと言われるが、マイコンの分野でもARMは急速にプレセンスを増している。ARM自身もこのマーケットで長期的には30%程度のシェアを狙いたいとしている。

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

QDレーザー販促企画バナー

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン