前章では、周波数競争が2000年代半ばに限界を迎え、CPU業界がマルチコア化へと舵を切った経緯を見てきました。 クロック周波数がCPU性能を決める唯一の軸ではないとすれば、もう一つの重要な軸は何でしょうか。 それが本章のテーマである命令セットアーキテクチャ(ISA: Instruction Set Architecture)の設計思想です。
第2章で「ISA」という言葉に軽く触れましたが、本章ではこれを、x86とARMという2つの系譜の誕生史を通じて深掘りします。 1970年代後半のIntelと1980年代前半のAcorn Computersという、大西洋を挟んだ2つの企業が、 まったく異なる哲学でCPUを設計した結果が、今日のPCとスマートフォンの違いに直結しています。
x86の誕生 — CISCという設計思想
1978年、Intelは16ビットマイクロプロセッサ8086を発売しました。 8086はCISC(Complex Instruction Set Computing、複雑命令セットコンピュータ)方式を採用し、 当時81種類の命令をサポートしていました。
CISCの発想はシンプルです。1つの命令でできるだけ多くの処理(メモリへの直接演算など)をこなせるようにすれば、 プログラム全体の命令数を減らせる、という考え方です。第1章・第4章で触れたノイマン・ボトルネックやメモリアクセスの遅さを踏まえると、 「メモリとのやり取りを含む複雑な処理を1命令にまとめてしまう」という発想には、当時の技術的合理性がありました。
8086そのものはニッチな存在にとどまるはずでしたが、歴史はここで大きく動きます。1981年、IBMが自社のパーソナルコンピュータ「IBM PC」に、8086の廉価版であった8088(外部データバスを8bitに簡略化したコスト重視モデル)を採用したのです。 この選択によって、x86系列は事実上のパーソナルコンピュータ標準アーキテクチャとしての地位を確立しました。
ARMの誕生 — Acorn RISC Machineの物語
なぜAcornは自社設計に踏み切ったのか
イギリスのAcorn Computersは1980年代初頭、自社の人気機種「BBC Micro」の後継機を模索していました。 しかし当時市場に出回っていた既存の16/32ビットプロセッサは、性能に対して高価であり、かつ多数のサポートチップを必要とするという課題を抱えていました。 自社の求める性能を、既製品の組み合わせでは実現できなかったのです。
転機となったのは2つの出来事でした。1つは、カリフォルニア大学バークレー校で進んでいたRISC研究の知見です。 もう1つは、AcornのエンジニアたちがWestern Design Centerを視察した際、 高校生のインターンがApple II上でチップのレイアウト設計を行っている様子を目にしたことでした。 「大企業の巨大な開発チームでなくても、シンプルな設計であればCPUは作れる」という手応えを得たAcornは、自社設計に踏み切ります。
ARM開発の年表
ここからARMが今日の姿になるまでの道のりを、年表で辿ってみましょう。
「Acorn RISC Machine」プロジェクト始動
Acorn社内でプロジェクトが正式に始動。Sophie Wilsonが命令セットを設計し、既存のBBC BASIC上でシミュレーションを行いながら仕様を固めていった。
ARM1の最初のシリコンが動作
VLSI Technology社との協業により製造されたARM1の最初のシリコンが動作確認された。動作クロックは6MHz。
ARM2導入
動作クロック8〜12MHz、Booth乗算器を搭載しながら、トランジスタ数はわずか約3万個という驚異的なシンプルさを実現。
Acorn Archimedes発表
ARM2を搭載した32bitデータバスのパーソナルコンピュータ「Acorn Archimedes」が発表され、ARMアーキテクチャが実用製品として世に出た。
Widelogic Limitedとして法人化
Apple・Acorn・VLSI Technologyの合弁事業として新会社が法人化される。
「Advanced RISC Machines」へ改称
Appleが「競合社名(Acorn)を新会社の名前に含めたくない」との意向を示したことを受け、社名が「Acorn RISC Machine」の頭文字を保ったまま「Advanced RISC Machines」に改称された。
RISC思想の理論的支柱
ARMの実装が始まったのとほぼ同時期、学術界でもRISCを理論的に裏付ける動きが進んでいました。1981年、カリフォルニア大学バークレー校のDavid Pattersonと、当時同校にいたDavid Ditzelが、論文"The Case for a Reduced Instruction Set Computer"を発表します。 この論文が、RISCという設計思想の理論的支柱となりました。
1980年代を通じて、スタンフォード大学やカリフォルニア大学バークレー校の研究者らがRISC研究を主導し、MIPSやSPARCといった初期のRISCプロセッサが相次いで開発されました。 ARMの実装は、こうした学術的な潮流と時を同じくして、実務側から独立に生まれてきたという点も興味深い事実です。
RISCとCISCの設計思想の違い
ARM社の公式グロッサリー(arm.com/glossary/risc)は、RISCを次のように定義しています。 RISCは「小規模で最適化された命令セット」を採用する設計思想であり、 CISCの「複雑で特殊化した豊富な命令セット」とは対照的な立場にある、というものです。
なぜRISCはシンプルな命令セットでありながら性能を出せるのでしょうか。ARM公式の説明を要約すると、次の4点に整理できます。
| RISCの特徴 | 内容 |
|---|---|
| 1命令1アクション | 多くの命令が1サイクルで完結するため、実行効率が高い |
| 固定長命令 | デコードとパイプライン化が容易になる(第3章のパイプライン設計と直結) |
| レジスタ中心の設計 | メモリへの直接アクセスを許さず、レジスタを多く積めるためメモリ読み書きの頻度が減る |
| トランジスタ数の削減 | チップ設計がシンプルになり、エネルギー効率が向上する |
一方でこれはトレードオフでもあります。CISC(x86)は複雑な命令(メモリへの直接演算など)によって 少ない命令数で多くの処理を表現でき、命令密度・後方互換性・レガシーソフトウェア資産の豊富さに強みがあります。 その代償として、デコーダが複雑化し、ダイ面積・消費電力・設計コストが増える傾向にあります。 RISC(ARM)は逆に、命令数自体は多くなる代わりにハードウェアがシンプルになり、 電力効率・省サイズに優れるため、モバイル・組み込み機器で支配的な地位を築きました。
| 観点 | CISC(x86系譜) | RISC(ARM系譜) |
|---|---|---|
| 命令セットの規模 | 複雑で特殊化した豊富な命令セット(8086で81命令) | 小規模で最適化された命令セット(初期ARMで約34命令) |
| 命令長 | 可変長が多い | 固定長が基本 |
| メモリアクセス | 演算命令が直接メモリを操作できる | ロード/ストア命令を介してのみレジスタとメモリをやり取り |
| 強み | 命令密度・後方互換性・レガシー資産の豊富さ | 電力効率・省サイズ・デコードの単純さ |
| 弱み | デコーダの複雑化によるダイ面積・消費電力の増大 | 同じ処理により多くの命令数を要する場合がある |
| 主戦場 | PC・データセンター(x86系) | モバイル・組み込み(ARM系) |
現代における「RISC vs CISC」論争の意味の変化
ここまでRISCとCISCを対比的に描いてきましたが、実際には1980〜90年代を通じて両者ともに商業的に存続・発展を続けており、 「技術的に一方が明確に勝利した」という単純な結末にはなっていません。
次章への橋渡し
本章では、x86(CISC)とARM(RISC)という二つの設計思想が、それぞれ異なる誕生の物語を経て今日に至った経緯を追いました。 そして「RISC対CISC」という対立構図自体が、現代のCPUを理解する上ではやや古びたフレームであることも確認しました。
では、ARMを採用する側の企業は、この命令セットをどう活用して独自のチップを作っているのでしょうか。 次の第7章では、Apple Siliconに代表されるヘテロジニアスコンピューティング—— 高性能コアと高効率コアを組み合わせるbig.LITTLE設計や、CPU・GPU・メモリを統合するUMA(統合メモリアーキテクチャ)—— に踏み込みます。さらに第8章では、ARMという命令セットそのものを「誰がどうライセンスして稼いでいるのか」という ビジネスモデルの視点から掘り下げていきます。
理解度チェック
1981年にIBM PCが採用したことで、x86系列が事実上のパーソナルコンピュータ標準アーキテクチャになるきっかけとなったIntelのプロセッサはどれですか?
キーボード: 1〜4 で選択、Enter で回答