携帯電話や様々なコントローラ向けプロセサとして広く使われているARMプロセサ。その系譜はやや複雑である。ARMプロセサの始まりは,英Acorn Computers Ltd.が自社のパソコン用に開発した32ビット RISC型プロセサだ。初代のコアは「ARM1」と呼ばれた。同コアの命令セット・アーキテクチャが「ARMv1」である。

 その後,新たな命令セット・アーキテクチャ「ARMv2」を採用した「ARM2」および「ARM3」が続いて登場したが,このころAcorn Computer社がパソコンの開発から撤退してしまった。そこで開発部隊は同社からスピンアウトし,ARM(Advanced RISC Machine)を社名とした新会社を設立。プロセサのコアを販売するビジネスに鞍替えする。同社の最初の製品が「ARM6」コアである。以後,数多くのプロセサ・コアをリリースする。

 ARM社のビジネスはプロセサ・コアを搭載したデバイスそのものではなく,プロセサ・コアのアーキテクチャやコアのライセンスを販売することだ。実際にデバイスを製造するのは同社と提携したビジネス・パートナーである。パートナーはARMコアのライセンスを購入し,これを実装したデバイスを販売したり,自社の周辺回路を組み合わせた独自のSoC(system on a chip)を提供したりすることができる。ARM社は,用途が拡がるにつれて,コアのバリエーションを増やしてきた。これとともにコアの系譜が複雑化する。以下では,その流れを追ってみる。


(画像のクリックで拡大)

命令セット・アーキテクチャの展開が加速

 ARM社が当初の製品に採用した命令セット・アーキテクチャは「ARMv3」だった。同社は,これとは別に新しい「ARMv4」という命令セット・アーキテクチャを米Digital Equipment Corp.(DEC)と共同で開発。DECはこれを元に「StrongARM」と呼ばれたプロセサを開発した。この技術をフィードバックするかたちで生まれたコアが「ARM9」である。この時同時に「Thumb」と呼ばれる16ビットの縮小命令セットが追加された。ただし,ユーザーには,この縮小命令セットを実装したコアと,しないコアの両方を提供していた。

 これに引き続きARM社は,新たな命令セット「ARMv5」と,DSP命令拡張(DSP風のMAC命令の命令セット),「Jazelle」命令拡張(Java Byte Codeを高速に処理できる命令セット)を定義し,これを実装したコア「ARM10」をリリースする。同社は,ARM v5命令セットを,米Intel Corp.や米Texas Instruments, Inc.にもライセンスしている。Intel社はこれを元に「XScaleプロセサ」を開発した。