[Computer] インテルCPU史:4004からPentiumまで

はじめに

インテルのマイクロプロセッサは、1971年の 4004 に始まり、わずか数十年の間に Pentium へとたどり着きました。

その間に起きたのは、ビット幅の拡大、命令セットの進化、保護モードや仮想化といったOS機能のハードウェア実装、さらにキャッシュやパイプライン、スーパースカラ、マルチメディア命令など──現代CPUへとつながる数々の飛躍です。

本記事では、互換CPUは一切除外し、インテル純正の系譜だけを「やや詳しく」追います。

4004 → 8008/8080 → 8086/8088 → 80286 → 80386 → 80486 → Pentium。

それぞれの世代で「何が追加され、何が引き継がれ、どのように時代を変えたのか」を整理し、単なる年表ではなく “技術の文脈” として眺めていきます。

Intel CPU 年表

世代 ビット幅/バス 主な飛躍
1971 4004 4-bit 世界初の商用MPU。2,300トランジスタ。
1974 8080 8-bit 本格8ビット時代へ。S-100などホビー/業務の土台。
1978 8086 16-bit/20bit addr x86命令セットの祖。セグメント+オフセット。
1979 8088 16-bit core / 8-bit外部バス IBM PC 採用の決定打(コスト最適)。
1982 80286 16-bit/24bit addr Protected Mode導入(最大16MB)。
1985 80386 32-bit/32bit addr **32ビットx86(IA-32)**確立、Paging/VM
1989 80486 32-bit オンチップFPU/キャッシュ/パイプライン統合。
1993 Pentium (P5) 32-bit スーパースカラ+BTB分岐予測、L1分離。
1996 Pentium MMX (P55C) 32-bit MMX命令、L1拡大(16KB+16KB)。

参考:8085(1976、8080改良・単一5V)、80186/188(1982、周辺統合で主に組込み)。

4004 / 4040(4ビット:1971–1974)

Intel 4004(1971)

  • 誕生の背景

    • 日本のビジコン(Busicom)社の電卓向けに開発された専用チップが出発点。
    • 電卓のために生まれたが、「汎用計算をチップに閉じ込める」という発想は革新そのもの。
    • 当時はまだメインフレームが主役で、マイコンなんて存在すら想像されていなかった。
  • 仕様

    • 2,300トランジスタ(10µmプロセス)
    • クロック最大 ~740kHz
    • 4ビットデータ幅、命令は8ビット長
    • 12ビットプログラムカウンタ、最大4KBの命令メモリ空間を扱えた
    • 3段ハードウェアスタックでサブルーチン呼び出しをサポート
  • 特徴:世界初の商用マイクロプロセッサ(MPU)として、「複数用途にプログラムで対応できる」概念をハードに具現化。

  • 用途:電卓だけでなく、信号制御や小規模な制御機器などにも応用が広がり始めた。

Intel 4040(1974)

  • 4004の改良版でありながら互換性を保持。

  • 改良点

    • 命令セットを 46 → 60命令に拡張
    • スタックを3段 → 7段へ拡張
    • 割り込み機能を正式にサポート(4004にはなかった)
    • 最大動作クロックは同じ ~740kHzだが、制御系用途での実用性が向上
  • 用途:4004よりも幅広い組込み制御に利用可能になり、小規模制御システムの中核として採用。

意義

  • 世界初の商用汎用マイクロプロセッサの成立
  • 「CPUを1チップ化する」発想は当時画期的であり、後の 8ビット / 16ビット / 32ビット CPU への道筋を作った。
  • 4004 は「始まり」、4040 は「実用性を高めた完成度アップ版」として位置付けられる。

8008 / 8080 / 8085(8ビット:1972–1976)

Intel 8008(1972)

  • 誕生の経緯

    • 本来は**コンピュータ端末向け(Datapoint 2200)**のCPUとして設計。Datapointは自社のTTL実装を採用したが、Intel版が「8ビットCPU」として市場に残った。
    • Altair 8800に採用され、「ホビイストPC革命」を引き起こす。
    • パーソナルコンピュータ雑誌の表紙を飾り、BASICを学んだ若者たちがやがてマイクロソフトやAppleを興す。
  • 仕様

    • 3,500トランジスタ(10µmプロセス)
    • クロック最大 ~0.5–0.8MHz
    • 8ビットデータ幅 / 14ビットアドレス(16KB空間)
    • 命令は8080系へ受け継がれる基礎に
  • 課題

    • 電源が +5V, –9V, +12V と複雑
    • 外部クロック回路が必要
    • 実装が難しく、設計者泣かせ

Intel 8080(1974)

  • 改良のポイント

    • トランジスタ数 ~6,000
    • 電源が +5V単一に簡素化
    • 最大クロック 2MHz前後
    • アドレスバス16ビットで 64KB空間に拡大
  • 成果

    • 実用性が飛躍的に向上し、Altair 8800IMSAI 8080 といった初期パーソナルコンピュータの心臓に採用
    • CP/M(Gary Kildall)のようなOSが誕生し、標準的な開発環境が形成
  • 意義:8080が 「ホビーと業務の両方に使えるCPU」 となり、マイコン文化の爆発的普及に直結。

Intel 8085(1976)

  • 位置づけ:8080をマイナー改良した派生版であり、命令セットは基本的に互換。

  • 特徴

    • 単一 +5V動作で電源回路がさらに簡素化
    • 内部にシリアルI/Oや割込み制御を一部統合
    • 最大クロック 5–6MHz
  • 用途:PCよりも産業用・組込み向けに広く使われ続け、教育用ボードや制御機器に長寿命で残った。

意義

  • 8008:不完全ながら「8ビットCPUの雛形」
  • 8080:8ビット期を決定づけ、**OS・開発ツール・拡張バス(S-100等)**を育てた
  • 8085:安価で扱いやすく、組込み文化の定番CPU
  • 総じてこの世代は、エコシステムの誕生と普及が最大の功績であり、次の16ビット移行を支える基盤となった。

8086 / 8088(x86の起点:1978–1979)

Intel 8086(1978)

  • 基本仕様

    • 16ビット内部アーキテクチャ(ALU/レジスタ幅)
    • 20ビットアドレスバス → 最大 1MBアドレス空間
    • 29,000トランジスタ、クロックは 5 / 8 / 10 MHz
    • 命令は可変長(1〜数バイト)、オペランドの柔軟なメモリアクセスが可能
  • メモリモデル

    • セグメント:オフセット方式
    • 16ビットのセグメントレジスタ(CS/DS/SS/ES)+16ビットオフセットを組み合わせて、実効20ビットアドレスを生成
    • 物理空間は1MBだが、プログラマにとっては「64KBセグメントの集まり」として見える → のちの互換性と制約の源に
  • 特徴

    • 8080/8085系とのソースコードレベル互換を意識(バイナリ互換ではない)
    • 命令セットは後の「x86」として受け継がれる基盤に
    • プリフェッチキューによる簡易パイプライン化

Intel 8088(1979)

  • 8086の派生版で、内部アーキテクチャはほぼ同等。

  • 外部データバスを8ビット化した点が最大の違い:

    • これにより既存の安価な8ビット周辺チップや回路資産が利用可能
    • 実効性能は若干低下するが、システムコストを大幅に削減
  • 最大の転機IBM PC(1981) のCPUに採用されたこと。

    • 世界的なPC標準の起点となり、結果として x86命令体系が業界標準へ固定化された。

意義

  • 8086

    • x86命令セットの原型を確立。
    • セグメント方式という「苦労の源泉」と「互換維持の武器」を同時に残した。
  • 8088

    • 外部8ビット化でコストを抑え、IBM PC採用=事実上の標準化を達成。
  • この「互換性を捨てず、コストで市場を取る」戦略こそが、後のインテル帝国の出発点となった。

80186 / 80188(1982)

Intel 80186

  • 概要:8086をベースに、周辺機能をワンチップに統合した改良版。

  • 統合された主な機能

    • 割込みコントローラ
    • タイマ
    • チップセレクト回路
    • DMA制御など一部I/O機能
  • 仕様

    • 16ビット内部、20ビットアドレス空間(8086相当)
    • クロックは 6〜12 MHz
    • トランジスタ数 約55K
  • 用途:PC互換機ではほぼ使われず、主に産業機器・組込み向けで人気。コスト削減・基板小型化に貢献。

Intel 80188

  • 80186の外部バスを8ビット化した派生版。
  • より安価に設計でき、小型組込み機器で長く使われた。

意義

  • PC用CPUとしては目立たなかったが、**「x86コアをSoC的にまとめる」**という流れの先駆けとなり、後の組込み向けx86派生の定番に。

80286(1982)

概要

  • 8086系の後継本流として登場。
  • トランジスタ数 約134K。クロックは 6〜25 MHz。
  • 24ビットアドレスバス → 最大 16MB のメモリ空間を直接扱える。
  • 16MBのメモリ空間は当時「夢の大容量」だったが、実際のソフト(MS-DOS)は16bitの枠を抜け出せず。
  • 「ハードは未来へ、ソフトは過去に縛られる」**というジレンマの象徴。

技術的特徴

  • Protected Mode(保護モード) を初めて導入:

    • メモリ保護機構
    • 特権レベル(リング構造)によるアクセス制御
    • マルチタスクのハードウェア的下地
  • 実用上の問題点

    • 一度 Protected Mode に入ると Real Mode に戻るのがほぼ不可能(リセットを要する設計)
    • MS-DOS 時代のソフトは Real Mode 前提 → 両立が難しく、広く普及するには障害になった

意義

  • メモリ保護と特権の概念をハードに焼き込んだことが最大の功績。
  • 実際のフル活用は OS/2 や Windows NT 以降、さらに後の 80386 の Paging で大きく開花する。
  • それでも「OS設計の大前提(保護・特権)」を提示した点で歴史的に重要。

80386(1985)

  • フル32ビット化(IA-32アーキテクチャの誕生)

    • レジスタ幅:32ビット
    • アドレス空間:4GB(フラットメモリモデルを実現)
    • ALUも32ビット化し、真の「IA-32」へ。
  • メモリ管理機構

    • Paging(ページング):4KBページ単位の仮想記憶をサポート
    • 仮想メモリの基礎をハードで提供
    • Virtual 8086モード:8086リアルモードを仮想化 → DOSアプリを安全に走らせられる
  • バリエーション

    • 386DX:32ビット外部バス
    • 386SX:16ビット外部バス(低コスト・廉価版PC向け)

意義

  • “32ビットx86”の完成形
  • UNIXやWindows NT系など本格的マルチタスクOSの土台。
  • 以後の数十年にわたるPCアーキテクチャの標準を確立。

80486(1989)

  • 統合度の飛躍

    • オンチップFPU(486DX):別チップ不要に
    • L1キャッシュ(統合8KB):命令/データ兼用
    • 5段パイプライン導入 → 1クロック1命令級の実効性能
  • バリエーション

    • 486SX:FPUを無効化/非搭載(廉価版)
    • 486DX2 / DX4:外部バス速度を据え置きつつ、内部クロックを2倍・3倍化
  • 性能効果

    • 同一クロックの386に比べて、実効性能は約2倍〜3倍
    • キャッシュとパイプライン化でCPIを大幅に短縮

意義

  • **「キャッシュ+パイプライン+FPU統合」**という現代CPUの基本構造を確立。
  • 低価格PCからハイエンドまで広く浸透。
  • ワークステーション級の性能が、家庭やオフィスに降りてきた。
  • 3DグラフィックスやCADの普及の礎を築いた。

Pentium(P5系:1993–1997)

  • スーパースカラ化

    • **デュアルパイプライン(U/Vパイプ)**で1クロック2命令実行が可能に
    • BTB(Branch Target Buffer)型分岐予測で分岐ペナルティを軽減
  • キャッシュ階層強化

    • 分離L1キャッシュ:命令8KB+データ8KB(P54C以降16KB+16KBに拡大)
  • 製造・動作クロック

    • 初期 P5(0.8/0.6µm):60/66MHz → 90/100/120MHz
    • 改良版 P54C(0.6/0.35µm):133〜200MHz級へ
  • トラブルと改良

    • FDIV問題(1994):浮動小数点除算の誤差問題 → 全世界で交換対応

    • Pentium MMX(P55C, 1996)

      • **MMX命令(SIMD整数拡張)**を導入
      • L1キャッシュを 16KB+16KB に増強
      • 電力効率を改善しノートPCにも普及

意義

  • x86が本格的にスーパースカラ化し、IPCを底上げ。
  • 分岐予測・キャッシュ戦略が高度化 → 以後の Pentium Pro(P6系)アウトオブオーダ実行へとつながる。
  • 「Pentium」というブランド名で、PC CPU市場を独占的にリード。
  • スーパースカラと分岐予測で「ソフトを変えずに速度が伸びる」時代へ。
  • FDIVバグ問題で社会的に大きく報じられ、「CPU=社会インフラ」という認識を広めた。

横断トピック(進化の文脈)

命令セットとモード

  • 8086(1978)で 可変長命令とセグメント方式 を基礎に据え、以後40年以上続く x86命令セットアーキテクチャ の土台が形成された。
  • 80286(1982)で 保護モード が導入され、アドレス空間拡張と同時に「特権・保護」というOSに必須の概念がハードウェアに定着。
  • 80386(1985)で Paging / 仮想化 が整備され、現代的な汎用OS(マルチタスク・マルチユーザ)が成立可能に。
  • Pentium MMX(1996)では初めて一般向けに SIMD拡張命令(MMX) が提供され、マルチメディア処理の並列化が普及の端緒となった。この路線は後の SSE → AVX 系列に連なる。

浮動小数点(FPU)

  • 8087(1980) 以降、x87系のFPUは当初は外付け協処理装置として提供された。
  • 287 / 387 と世代を重ねるごとに機能が拡充し、科学技術計算やCADなど特定分野では必須の存在に。
  • 80486DX(1989)で初めて オンチップFPU が実現し、以降は「CPUにFPU統合」が標準化。
  • この流れは 3Dグラフィックス・マルチメディア・科学シミュレーション の裾野を広げ、後のGPU隆盛にもつながった。

キャッシュとパイプライン

  • 80486統合L1キャッシュ(8KB)5段パイプライン が標準化。 → 同クロックでも実効性能が大幅に改善し、「キャッシュ+パイプライン」がPC CPUの常識となる。
  • Pentium では 命令/データ分離キャッシュ(8KB+8KB → MMX世代で16KB+16KB) を採用。
  • 同時に 分岐予測デュアルパイプラインによるスーパースカラ化 が実用化。
  • この基盤の上に、以後は アウトオブオーダ実行(OoO)投機実行、そして L2/L3キャッシュ階層の拡張 が加わり、現代CPUに直結していく。

互換性という“縛り”と“武器”

  • セグメント方式 やレガシーな命令体系は、モダンアーキテクチャ設計者にとって「歴史的負債」とも言える制約だった。
  • しかし、Intelは互換性を破棄せず、「過去資産が動く」ことを武器 に市場を独占的に拡大。
  • 80386以降の保護・仮想化機構 は、「旧世代を仮想空間に閉じ込めつつ、新世代の安全性を確保する」という実利的な解法だった。
  • この「後方互換を守り続ける哲学」こそが、x86を他のRISC系アーキテクチャよりも長寿命にした最大の要因といえる。

まとめ:Pentiumで何が“揃った”のか

  • (1)命令実行の並列性 デュアルパイプによる スーパースカラ化 で、同時に2命令を発行可能に。
  • (2)分岐予測と深いパイプライン 実行の“空振り”を減らし、クロックあたりの効率を底上げ。
  • (3)キャッシュ戦略 命令とデータを分離したL1(I/Dキャッシュ)で、帯域を効率的に活用。
  • (4)用途拡張 MMX命令によるマルチメディア処理の高速化で、一般ユーザーの体感性能を押し上げ。
  • (5)互換の維持 8086時代から積み重なったソフト資産を切らさず、過去と未来を繋ぎ続けた。

こうして Pentium の世代で、IA-32アーキテクチャの“実用最適点” がひとまず揃った。 以降の進化(P6=Pentium Pro世代)は、ここで確立された基盤の上に アウトオブオーダ実行、より高度な分岐予測、大容量のL2キャッシュ を積み増していく流れとなる。


これで全体が「歴史の流れ → 横断トピック → 締め」でしっかり構造化されました。 次は記事用の タイトル・summary・description・tags を、最初に示していたYAMLに埋め込める形で整えましょうか?

付記:主な指標(代表値・概数)

世代 年代 トランジスタ数 クロック周波数
4004 1971 ~2.3K ~740kHz
8080 1974 ~6K ~2MHz前後
8086 1978 ~29K 5–10MHz
80286 1982 ~134K 6–25MHz
80386 1985 ~275K 16–33MHz(後期40MHz)
80486 1989 ~1.2M 25–100MHz(DX2/4倍速)
Pentium 1993–96 ~3.1–3.3M 60–200MHz
Pentium MMX 1996 ~4.5M 120–200MHz

※世代内でステッピング/プロセス差あり。値は代表的な公称・概数。