🧠⚡🔬🔧
Chapter 2 — コンピュータの設計

CPU / GPU / NPU / FPGA
何が違う?

現代のコンピュータは「1つのCPU」ではなく、用途に特化した複数のプロセッサが協調して動いている。それぞれの設計思想と使い道を理解しよう。

Section 1

なぜ CPU 1つじゃ足りないのか

📈

ムーアの法則の限界

「トランジスタ数は2年で2倍」は 2010年代に鈍化。クロック周波数は 2004年頃から約 4GHz で頭打ち(熱問題)。速度向上の手段がなくなった。

🔀

マルチコアへの転換

1コアを速くする代わりに、コアを増やして並列処理する方向へ。デュアルコア→8コア→128コアへと進化。ただし並列化できないタスクには限界がある(アムダールの法則)。

🧩

ヘテロジニアス化

「汎用」ではなくタスクに特化した専用プロセッサを使い分ける時代へ。CPU + GPU + NPU + FPGA が1チップ(SoC)に統合されることも。

📌 Apple M4 Ultra の例 — 1チップの中身
🧠
CPU
32コア
P + E コア
🎮
GPU
80コア
グラフィクス・計算
🤖
NPU
32コア
AI/ML 専用
💾
Unified Memory
192 GB
全コアで共有

Apple M4 Ultra は約 3,600 億個のトランジスタを1チップに搭載。消費電力を抑えながら圧倒的な性能を実現。

Section 2

各プロセッサの設計思想

🧠
CPU — 汎用の王様
Central Processing Unit

設計思想

「何でもできる1人の天才」の設計。複雑な分岐・条件判断・順序処理が得意。コアは少ないが1コアあたりの処理能力が極めて高い。

✅ 得意 複雑な条件分岐・シングルスレッド処理
✅ 得意 OS・アプリの実行(汎用タスク全般)
❌ 苦手 単純な演算を何億回も繰り返す処理

主要技術

  • 🔀 アウト・オブ・オーダー実行 — 依存関係のない命令を並び替えて効率化
  • 🔮 分岐予測 — if 文の結果を先読みして投機実行
  • P コア + E コア — 高性能コアと省電力コアを使い分け(Intel / Apple)
  • 📦 大きなキャッシュ — 数十 MB の L3 キャッシュでメモリ遅延を隠蔽
💡 実例: Intel Core Ultra 9 285K(24コア、最大 5.7 GHz)、AMD Ryzen 9 9950X、Apple M4 Pro(14コア)
🎮
GPU — 並列処理の怪物
Graphics Processing Unit

設計思想

「単純な作業をこなす数万人の作業員」の設計。NVIDIA H100 では 1万6896個の CUDA コアが同時に動く。1コアあたりの能力は低いが、大量のコアで並列処理する。

✅ 得意 行列演算(ピクセル・AI・物理シミュレーション)
✅ 得意 同じ処理を大量データに一斉適用(SIMD)
❌ 苦手 複雑な分岐が多い逐次処理

グラフィクス→AI への転換

🖼️ 元々の用途(グラフィクス)

3D ゲームのピクセル色計算。「100万ピクセル全部に同じシェーダーを適用」は GPU の独壇場。

🤖 現在の主役(AI/ML)

ニューラルネットワークの学習=行列のかけ算の繰り返し。GPU の得意技と完全に一致したため、ChatGPT・画像生成AI などはすべて GPU で動いている。

💡 実例: NVIDIA H100(AI データセンター)、RTX 4090(ゲーム・研究)、Apple M4 GPU(80コア統合GPU)
🤖
NPU — AI 演算の専門家
Neural Processing Unit / AI Accelerator

設計思想

「行列演算だけに特化した超省電力チップ」。GPU より演算の種類は限られるが、特定の AI 推論タスクでは GPU の数十倍のエネルギー効率を実現。常時起動しても電池が保つ。

✅ 得意 軽量 AI 推論(顔認証・音声認識・写真の被写体検出)
✅ 得意 オンデバイス AI(クラウド不要・プライバシー保護)
❌ 苦手 汎用計算・大規模モデルの学習

主要プレイヤー

Apple Neural Engine A/M チップ搭載・38 TOPS
Google TPU v5 データセンター向け・918 TFLOPS
Qualcomm Hexagon Snapdragon 搭載・Android AI
NVIDIA Tensor Core GPU 内蔵の AI 特化ユニット
💡 身近な例: iPhone の「写真の人物をすぐ認識」「Siri のオフライン音声認識」「夜景モード」はすべて NPU が処理している。
🔧
FPGA — 書き換えられる回路
Field-Programmable Gate Array

設計思想

「ハードウェアを現場(Field)でプログラムできる」のが名前の由来。内部に数万〜数百万個の LUT(ルックアップテーブル)があり、Verilog コードを書き込むことで任意の回路を実現できる。

✅ 得意 ハードウェアプロトタイピング(チップ製造前の動作確認)
✅ 得意 リアルタイム信号処理(通信・レーダー・映像)
❌ 苦手 汎用 OS の実行・高コストな大量生産

CPU vs FPGA — どう違う?

CPU の動き方

メモリから命令を1つずつ読み出し→デコード→実行。汎用的だが、時間がかかる。

FPGA の動き方

回路自体がその処理専用の形になっている。データが入ったら即座に結果が出る(組み合わせ回路として動作)。

🔬 研究・開発用途:

新しいCPU設計のプロトタイプ検証。チップを製造する前にFPGAで動作確認し、バグを修正。Intel・AMD・Appleもすべてこの手順で設計する。

📡 産業用途:

5G 基地局の信号処理・航空宇宙の制御システム・金融の高頻度取引(マイクロ秒単位の応答が必要)・医療画像処理など。

🎓 この授業との繋がり: Verilog 入門で書いた加算器・ALU のコードは、そのまま FPGA に書き込んで実機動作させることができる。授業で設計した回路が実際のハードウェアになる!
Section 3

特性比較チャート

5つの軸でそれぞれの強みを比較(5段階評価)

評価軸 🧠 CPU 🎮 GPU 🤖 NPU 🔧 FPGA
⚠️ 注意:評価はあくまで相対的なもの。実際の性能はアーキテクチャ世代・製品・ワークロードによって大きく異なる。「汎用性が高い=悪い」ではなく、用途に合った選択が重要。
Section 4

このタスク、どのプロセッサ?

タスクをクリックして、最適なプロセッサを考えてみよう

Section 5

まとめ早見表

プロセッサ コア数の目安 設計の一言 主な用途 代表製品
🧠 CPU 4〜128コア 汎用・直列処理の高速化 OS・アプリ・ゲームロジック Intel Core / AMD Ryzen / Apple M4
🎮 GPU 数千〜1万6千コア 並列・行列演算の大量処理 グラフィクス・AI学習・科学計算 NVIDIA H100 / RTX 4090 / AMD RX 7900
🤖 NPU 16〜数千コア(専用) AI推論の省電力特化 顔認証・音声認識・オンデバイスAI Apple Neural Engine / Google TPU / Hexagon
🔧 FPGA 数万〜数百万 LUT 書き換え可能な専用回路 プロトタイピング・通信・リアルタイム制御 Xilinx Virtex / Intel Stratix / Zynq