CPUの歴史

集積回路からマイクロプロセッサへ

CPU(Central Processing Unit)の歴史は、単にトランジスタ数やクロック周波数が増えてきた歴史ではない。CPUは、計算機の小型化、半導体製造技術の進歩、命令セットの発展、並列処理、低消費電力化、そして近年のAI処理という、それぞれ異なる技術的課題を解決しながら発展してきたのである。とりわけ重要なのは、CPUの進化が「より高速な一つのプロセッサ」を作る方向から、「複数のコア、GPU、NPUなど異なる計算資源を一つのシステムとして統合する」方向へ転換してきたことである。

CPUの原型は、1950年代から1960年代にかけてのトランジスタ化されたコンピュータにまで遡る。当時のコンピュータでは、CPUを構成する論理回路は多数のトランジスタや個別の集積回路に分散していた。CPUという機能そのものは存在していたが、それを一つの半導体チップに収めることはできなかったのである。

この状況を根本的に変えたのが、集積回路(IC)の発展である。複数のトランジスタ、論理ゲート、記憶素子などを一つのシリコンチップ上に形成できるようになると、コンピュータの回路は急速に小型化した。そして1970年代初頭、CPUそのものを一つのチップに集積するマイクロプロセッサが登場する。

1971年にIntelが発表した4004は、世界初の商用マイクロプロセッサとして知られている。4ビットCPUであり、現在の高性能CPUと比べれば極めて小規模であったが、「CPUを一つの半導体チップにする」という発想を実用化した点に歴史的な意味がある。

続いて8008、8080、Zilog Z80、Motorola 6800などの8ビットCPUが登場し、マイクロプロセッサは電卓や制御機器だけでなく、コンピュータそのものを構成する中心部品へと発展した。

16ビット化とPC時代の始まり

1978年のIntel 8086は16ビットCPUとして登場し、その後のx86アーキテクチャの基礎を形成した。特に重要なのが1979年の8088である。8086と互換性を保ちつつ外部データバスを8ビットに簡略化したことでシステムコストを抑えられる8088を、IBMが1981年にIBM PCへ採用したことで、x86はパーソナルコンピュータ市場における重要な標準となった。

ここからCPUの歴史は、単なる半導体技術の歴史ではなく、CPUアーキテクチャとソフトウェアの互換性が巨大な産業エコシステムを形成する歴史へと変わっていく。

1982年の80286、1985年の80386、1989年の80486と進むにつれて、x86は16ビットから32ビットへ拡張され、メモリ空間、演算能力、保護機構などが大幅に強化された。特に80386による32ビット化とプロテクトモードの整備は、その後のWindows PC時代を支える重要な転換点となった。

RISCとCISCの競争

1980年代には、CPUの命令セット設計をめぐって大きな議論が起こった。それがCISCとRISCの対立である。

x86に代表されるCISC(Complex Instruction Set Computer)は、多様で複雑な命令をCPUに実装することで、ソフトウェア側から見た命令表現力を高める方向を採った。一方、RISC(Reduced Instruction Set Computer)は、命令を単純化し、少数の命令を高速かつ効率的に実行することを重視した。

RISCの代表例としてMIPS、SPARC、IBM POWER、ARMなどが登場した。ARMは1990年にAcorn、Apple、VLSI Technologyの共同出資によりAdvanced RISC Machines社として独立し、後にスマートフォン時代を支配する重要なアーキテクチャへ発展する。

この時期の重要な点は、CPUの性能が単純な命令数ではなく、命令をどのように内部処理へ変換し、どれだけ並列に実行できるかというマイクロアーキテクチャの問題になったことである。

スーパースカラーとアウト・オブ・オーダー実行

1990年代になると、CPU内部の並列性を利用する技術が急速に発展した。代表的なのがスーパースカラーである。

従来のCPUでは基本的に一度に一つの命令を処理するという考え方が強かったが、スーパースカラーCPUでは複数の実行ユニットを持ち、依存関係のない複数の命令を同時に実行できるようになった。

Intel PentiumやPentium Pro、AMD K5/K6、DEC Alphaなどがこの時代を代表するCPUである。さらにアウト・オブ・オーダー実行、分岐予測、投機実行、命令デコードの高度化などが導入され、CPUは「命令を順番に実行する装置」から、プログラムの命令列から並列性を発見して内部で動的に実行する装置へと変化したのである。

この技術は、その後のほぼすべての高性能CPUに受け継がれている。

クロック周波数競争と限界

1990年代後半から2000年代初頭にかけて、CPU業界ではクロック周波数競争が激しくなった。半導体製造プロセスを微細化するとトランジスタを高速化できるため、CPUの動作周波数を引き上げることができた。

IntelのPentium 4に採用されたNetBurstアーキテクチャは、その象徴である。非常に長いパイプラインを利用し、将来的に極めて高いクロック周波数を実現することを目指した。同時期にIntelは、命令レベル並列性をコンパイラが静的に引き出すVLIW型のIA-64アーキテクチャ(Itanium)をHewlett-Packardと共同開発し、x86に代わる次世代サーバ向けCPUとして投入したが、既存x86資産との互換性の壁もあり、市場での主導権を握るには至らなかった。

しかし、クロック周波数を追求する路線には物理的な限界があった。クロック周波数を上げるほど消費電力と発熱が増加し、いわゆる「Power Wall」に直面したのである。トランジスタの微細化に伴って電圧や消費電力密度が理想通りには下がらなくなる、いわゆるデナード則の破綻もこれを加速させた。CPUの性能をクロック周波数だけで伸ばし続けることが困難になった。

ここがCPU史における極めて重要な転換点である。

64ビット化

32ビットアーキテクチャでは、アドレス空間が理論上4GBに制限されるという制約があった。この壁を打破したのが64ビット化である。AMDは2000年にx86命令セットを64ビットへ拡張したAMD64(後のx86-64)を発表し、2003年にはこれを実装したOpteronおよびAthlon 64を市場投入した。既存のx86資産との高い互換性を保ちながら64ビット化を実現した点が評価され、Intelも自社のIA-64路線とは別に、翌年以降EM64T(後のIntel 64)としてAMD64互換の64ビット拡張をPentium 4系CPUに採用した。

64ビット化により、CPUは4GBを超える大容量メモリを直接扱えるようになり、これはサーバ用途だけでなく、その後のPCにおけるメモリ大容量化の前提条件ともなった。

マルチコア時代

クロック周波数を際限なく上げられないのであれば、別の方法で性能を向上させる必要がある。その答えがマルチコア化であった。

一つのCPUチップに複数のCPUコアを搭載し、複数の処理を並列に実行することで、クロック周波数を大幅に引き上げなくても性能を向上できるようになった。

IntelのCore 2 Duo、AMDのAthlon 64 X2などがこの転換を代表する。2000年代後半には、デュアルコアからクアッドコアへ、さらに6コア、8コアへとCPUの並列性が拡大していった。

この結果、CPUの性能を表す尺度も変化した。それまでの「何GHzか」という指標だけではなく、IPC(Instructions Per Cycle)、コア数、スレッド数、キャッシュ容量、メモリ帯域、消費電力などを総合的に評価する必要が生じたのである。

CPU内部の巨大化

マルチコア化と並行して、CPU内部には大量のキャッシュメモリ、分岐予測機構、実行ユニット、メモリコントローラなどが統合されていった。

特にIntel NehalemやSandy Bridge、AMD Zenなどでは、CPUコアだけでなくメモリシステムやI/Oとの接続まで含めたプロセッサ全体の設計が重要になった。

さらにCPUとGPUを同じ半導体パッケージに統合するAPUや統合GPUが普及したことで、「CPU」という言葉が指す範囲そのものも変化した。CPUは単独の演算装置ではなく、コンピューティング・システムの中心的なSoC(System on Chip)へと近づいていったのである。

x86とARMの分岐

2010年代に入ると、CPU史にもう一つの大きな潮流が現れる。それがARMの台頭である。

PCではx86が圧倒的な地位を維持した一方、スマートフォンではARMアーキテクチャが急速に普及した。ARMは命令セットの単純性そのものだけでなく、低消費電力、SoCへの統合の容易さ、ライセンスモデルなどによってスマートフォン市場に適合した。

AppleはさらにARM系の設計を独自に高度化し、Apple Aシリーズを経て2020年にはMac向けApple Siliconへ移行した。M1以降のApple Siliconは、高いCPU性能だけでなく、GPU、メモリ、メディアエンジン、Neural Engineなどを一つのSoCに統合することで、高性能と電力効率を両立させた。

ここでCPU競争の意味が再び変化したのである。

ヘテロジニアス・コンピューティングへ

現在のCPUは、もはや「すべての計算をCPUコアだけで処理する」ことを前提としていない。

高い単一スレッド性能が必要な処理はP-core、バックグラウンド処理はE-core、画像や行列演算はGPU、ニューラルネットワーク処理はNPUというように、異なる種類の計算を異なるプロセッサへ分担させる方向へ進んでいる。

IntelのAlder Lake以降のP-core/E-core構成、Apple Siliconの高性能コア・高効率コア構成、AMDのチップレット型CPUなどは、この流れに位置付けられる。

さらに生成AIの普及によってNPUがPC向けCPUに組み込まれるようになったことで、CPUはCPUコアそのものではなく、CPU・GPU・NPU・メモリ・I/Oを統合したコンピューティング・プラットフォームへと変貌している。

チップレットと「CPU」の再定義

現在のもう一つの大きな変化がチップレットである。

かつてCPUは一枚の巨大なシリコンダイにすべての機能を詰め込むことが理想とされた。しかし半導体が微細化し、トランジスタ数が数百億規模になると、一枚の巨大ダイを製造することには歩留まりやコストの問題が生じる。

そこで、CPUコア、I/O、キャッシュなどを複数のダイに分割し、それらを高速な内部インターコネクトで接続する方式が発展した。AMDのZen系チップレットはその代表例であり、IntelもMeteor Lake以降、タイル型設計を本格化させている。

この結果、CPUは「一枚の巨大な半導体」から、複数の計算・記憶・I/Oコンポーネントを高速な内部ネットワークで結合したシステムへと変化している。

オープンISAという新たな潮流

アーキテクチャの面でも新たな動きがある。RISC-Vは、ライセンス料や実装制約を伴わないオープンな命令セットアーキテクチャとして2010年代に登場し、組み込み機器から高性能コンピューティングに至るまで採用が広がりつつある。x86とARMという二大アーキテクチャが長く市場を分け合ってきた構図に対し、RISC-Vは第三の選択肢として位置付けられており、特定企業のライセンス体系に依存しないCPU設計を可能にする点で注目されている。

CPUの歴史を貫く進化

CPUの歴史を大きな流れとして見ると、いくつかの明確な転換点がある。

最初は「CPUを一つのチップにする」ことが革命であった。次に「32ビット化して大量のメモリを扱う」ことが重要になり、その後は「パイプライン、スーパースカラー、アウト・オブ・オーダーによって一つのコアから最大限の並列性を引き出す」ことが中心になった。さらに「64ビット化によってアドレス空間の制約を取り払う」ことが進み、そしてクロック周波数の限界に到達すると、「一つのCPUを速くする」ことから「複数のCPUコアを一つのチップに搭載する」方向へ転換した。

さらに現在では、その延長線上で「CPUコアを増やす」だけではなく、CPU、GPU、NPUなど異なるプロセッサを一つのパッケージに統合し、それぞれに最適な処理を割り当てる方向へ進んでいる。

したがって、CPUの歴史を一言で表現するならば、「逐次処理を高速化する技術」から「並列化された異種計算資源を統合する技術」への進化である。1970年代のマイクロプロセッサは一つのチップにCPUを収めることでコンピュータを小型化したが、現在のプロセッサは逆に、CPUだけでなくGPU、NPU、メモリ、I/Oまでを一つの計算システムとして統合しようとしている。

そしてAI時代においては、この傾向がさらに強まっている。LLMの学習や推論ではGPUが中心的な役割を担う一方、CPUはデータ処理、スケジューリング、I/O、制御、GPUへの仕事の投入などを担当する。さらにNPUは端末上のAI推論を担う。このように現在のコンピュータでは、CPUがすべてを計算する時代から、CPUが異なる計算資源を統合・制御する時代へ移行しているのである。

その意味で、CPUの歴史は「CPUが主役であり続けた歴史」ではない。むしろ、CPUを中心とした単一プロセッサから、複数の異なるプロセッサが高速なインターコネクトによって結合されたコンピューティング・システムへ変化してきた歴史と捉えることが、現在のGPU、NPU、AIアクセラレータの台頭まで含めて理解するうえで最も適切である。

Mathematics is the language with which God has written the universe.





















通信機器の歴史 Intel CPUの栄枯盛衰 NVLinkとSwitch LLMの世代 GPUの世代 Agent Plugins