ARM1はArmアーキテクチャ最初のマイクロプロセッサ

1985年登場
ARM1
ARM1
ARM1は、英エイコーン・コンピュータ(Acorn Computers)が開発し、1985年(昭和60年)に最初の試作チップが完成した32ビットRISCマイクロプロセッサである。「BBC Micro」用の高性能なセカンドプロセッサとして開発され、わずか約25,000個のトランジスタで構成された単純な設計ながら、後のArmアーキテクチャ全体の原点となった。

目次

開発の経緯

ARM評価システム
ARM評価システム
エイコーン・コンピュータ は1981年(昭和56年)発売の教育用パソコン「BBC Micro」で成功を収めたが、より高性能な後継CPUを求めていた。1983年(昭和58年)、社内に高度研究開発部門を設け、ソフィー・ウィルソンスティーブ・ファーバー が自社設計のRISCプロセッサ開発に着手した。
設計チームはごく少人数で、ウィルソンが命令セットの参照モデルをBBC BASICでわずか808行にまとめた。1985年(昭和60年)4月26日、最初の試作チップが完成し、当初の想定を上回る性能を示した。

製造とスペック

ARM1のダイ写真
ARM1のダイ写真
ARM1はVLSI Technology社が3μmの2層メタルCMOSプロセスで製造した。チップ面積は約50mm2、トランジスタ数は約24,800個に過ぎず、パッケージには84ピンのPLCCが採用された。
動作クロックは6MHzで、3段パイプラインにより、当時の同程度のクロックで動作するプロセッサとして高い命令処理性能を示した。開発チームはDECVAX-11/780を上回る性能を目標に掲げ、少ないトランジスタ数で高い性能を実現した。

アーキテクチャの特徴

ARM1のパイプライン構成
ARM1のパイプライン構成
ARM1は演算をレジスタ間に限定し、メモリとのやり取りをロード命令とストア命令に限定するロード・ストア型アーキテクチャ を採用した32ビットCPUである。命令長は32ビット固定で、フェッチとデコードを単純化している。

パイプラインはフェッチ・デコード・実行の3段構成である。実行段にはALUとバレルシフタ を備え、シフトやローテートを演算と同時に1サイクルで処理できる点が高効率な設計を支えた。

レジスタファイルは物理的な32ビットレジスタ25本で構成され、各動作モードから同時に参照できるのは16本である。残りはFIQ、IRQ、スーパーバイザーの各モードで切り替わるバンクレジスタとして使われる。プログラムカウンタを兼ねるR15の上位ビットにはステータスフラグも格納する変則的な使い方がされた。

ハードウェアの乗算器を持たないことも、極限まで削ぎ落とされたシンプル設計の表れである。掛け算はシフト命令と加算命令を組み合わせたソフトウェア処理(シフト・アンド・アド法)で代替し、回路規模の増大を避けた。

RISCとCISCの違い

RISCとCISCの違い
AI生成コンテンツ / AI-generated contents
大きな写真大きな写真
(1672×941 ピクセル, 159 Kbyte)
CISC(Complex Instruction Set Computer)は、多様な命令やアドレス指定方式を備え、1つの命令で複数の処理を実行できる設計思想である。命令長や実行サイクル数が一定でない場合があり、命令のデコードやパイプライン制御が複雑になりやすい。同じ1985年(昭和60年)に登場したインテルの80386が代表例である。

対してRISC(Reduced Instruction Set Computer)は、命令を単純化・固定長化し、演算をレジスタ間に限定することでパイプライン処理を効率化する設計思想である。ARM1はこの思想を極限まで推し進め、必要最小限の機能に絞り込んだ点で際立っていた。

設計の単純さは規模の比較からも明らかである。ARM1のトランジスタ数は約25,000個であるのに対し、80386は約275,000個と一桁多い。チップ面積もARM1が約50mm2であるのに対し、80386は約104mm2に達した。

結果として生まれた優れた省電力性能

ARM1の主な開発目標は、単純な構成で高い性能を実現することだった。トランジスタ数を切り詰めた結果、消費電力も低く抑えられ、設計時に想定された1Wを大きく下回る約100mWで動作したとされる。

動作周波数や測定条件が異なるため単純比較はできないものの、同時期の80386などと比べて消費電力は大幅に小さかった。演算に不要な回路を削ぎ落としたRISC設計が、結果として優れた省電力性能にもつながった好例である。

この省電力性能を象徴する逸話がある。最初の試作チップの動作試験時、主電源の電流計がほぼゼロを示していたにもかかわらず、チップは正常に動作した。主電源系統の配線に問題があり、チップは信号端子を通じて流れ込んだ電流によって動作していたのである。

その後のCPU・GPUへの影響

Apple Newton
Apple Newton
ARM1が示した「高性能かつ低消費電力」という設計思想は、後の組み込み機器やモバイル機器向けCPUの標準的な指針となった。1990年(平成2年)にはエイコーン・コンピュータアップルVLSI Technologyの3社が合弁でAdvanced RISC Machines(現Arm)を設立し、Armアーキテクチャの開発を専業とする体制が整った。

省電力性能を評価したアップルは、1993年(平成5年)発売の携帯情報端末「Apple Newton」にARM6ファミリーのARM610をベースとするプロセッサを採用した。以後、Armアーキテクチャは携帯電話やスマートフォン、タブレット端末のCPUとして急速に普及した。2026年(令和8年)時点で、Armベースのチップは累計3,500億個以上出荷されている。
スマートフォンやタブレットでは、Armが設計するMaliシリーズなど、電力効率を重視したGPUも広く使われている。Maliは、Armが2006年(平成18年)に買収したFalanx Microsystemsの技術を基礎として発展したもので、ARM1の直接の後継ではない。ただし、限られた電力で高い処理性能を得るという考え方は、現在のモバイルSoC全体で重要な設計指針となっている。

近年ではアップルの「Apple Silicon」やアマゾンの「AWS Graviton」など、ARMアーキテクチャに基づくプロセッサがパソコンやサーバー分野にも進出しており、ARM1に始まる設計思想の影響力はさらに広がりを見せている。

派生品とその後のARM

Acorn Archimedes
ARM2を搭載したAcorn Archimedes
AI生成コンテンツ / AI-generated contents
1986年(昭和61年)には改良版のARM2が登場し、ハードウェア乗算器を追加するとともにトランジスタ数を約27,000個に増やした。ARM2は翌1987年(昭和62年)発売のパーソナルコンピュータ「Acorn Archimedes」に採用され、製品へ本格的に搭載された最初のARMプロセッサとなった。
ARM6のダイ写真
ARM6のダイ写真
1991年(平成3年)に開発されたARM6は、アドレス空間を32ビットに拡張したほか、Advanced RISC Machinesの製品として外部へ本格的にライセンス供与された。前述の通り、ARM6ファミリーのARM610はアップルのApple Newtonにも採用されている。
1993年(平成5年)発表のARM7は動作電圧を3.3Vに下げてさらなる低消費電力化を進めた。後に圧縮命令セット「Thumb」に対応した派生型も登場し、携帯電話などの組み込み機器へ広く採用された。
ハーバード・アーキテクチャ
ハーバード・アーキテクチャ
AI生成コンテンツ / AI-generated contents
1997年(平成9年)発表のARM9は命令キャッシュとデータキャッシュを分離した改良型ハーバード・アーキテクチャを採用して性能を高め、初期のスマートフォンやフィーチャーフォン、デジタルカメラなど幅広い機器に搭載された。

主要スペック

項目 仕様
設計 エイコーン・コンピュータ
製造 VLSI Technology
発表 1985年4月
製造プロセス 3μm CMOS(2層メタル)
トランジスタ数 約24,800
チップ面積 約50mm2
データ幅 32ビット
アドレス空間 26ビット(最大64MB)
汎用レジスタ 32ビット×25本(うちユーザー可視16本)
パイプライン 3段
動作クロック 6MHz
消費電力 設計目標1W/実測約100mW
パッケージ 84ピンPLCC
動作電圧 5V

CPUの歴史

発表年 メーカー CPU名 ビット数 最大クロック
1970年Garrett
AiResearch
MP944 (軍用)20bit375KHz
1971年インテル40044bit750KHz
1974年インテル80808bit3.125MHz
1975年モステクノロジーMOS 65028bit3MHz
1976年ザイログZ808bit20MHz
1978年インテル808616bit10MHz
1979年モトローラMC68098bit2MHz
1979年ザイログZ800016bit10MHz
1980年モトローラMC6800016bit20MHz
1983年NECV3016bit16MHz
1984年インテル8028616bit12MHz
1985年インテル8038632bit40MHz
1985年インテルi96032bit100MHz
1985年サン・マイクロシステムズSPARC32bit150MHz
1985年エイコーンARM132bit6MHz
1986年MIPSR200032bit15MHz
1987年ザイログZ28016bit12MHz
1987年モトローラMC6803032bit50MHz
1988年MIPSR300032bit40MHz
1989年インテル8048632bit100MHz
1989年インテルi86032bit50MHz
1990年モトローラMC6804032bit40MHz
1991年MIPSR400064bit200MHz
1992年DECAlpha 2106464bit200MHz
1993年IBM, モトローラ, ApplePowerPC 60132bit120MHz
1993年インテルPentium32bit300MHz
1994年IBM, モトローラ, ApplePowerPC 60332bit300MHz
1995年サイリックスCyrix Cx5x8632bit133MHz
1995年AMDAm5x8632bit160MHz
1995年サン・マイクロシステムズUltraSPARC64bit200MHz
1999年IBM, モトローラPowerPC G432bit1.67GHz
1999年AMDAthlon32bit2.33GHz
2000年インテルPentium 432bit3.8GHz
2001年インテルItanium64bit800MHz
2003年AMDOpteron64bit3.5GHz
2003年インテルPentium M32bit2.26GHz
2006年SCE,ソニー,IBM,東芝Cell64bit3.2GHz
2006年インテルCore Duo32bit2.33GHz
2006年インテルCore 2 Duo64bit3.33GHz
2008年インテルCore i9/i7/i5/i364bit5.8GHz
2017年AMDRyzen64bit5.7GHz
2020年AppleM1/M2/M3/M4/M564bit3.49GHz
2023年インテルCore Ultra 9 / 7 / 564bit5.1GHz

参考サイト

(この項おわり)
header