宇宙誕生の少し前から宇宙終焉の少し先までを数で表す論文

この宇宙を数で表すことは出来るのか。

第3-12節 CPU・GPU・FPGAの本質的な違い

3-11 CPU・GPU・FPGAの本質的な違い

ここまで、
CPU・GPU・FPGAそれぞれの仕組みを見てきました。

本節では、
「何が違うのか」ではなく
「なぜ違うのか」

という観点で整理します。

CPU:命令を順に実行する汎用処理装置

CPUは、

  • 命令を1つずつ取り出し
  • 順序通りに実行する

ことを基本とした設計です。

柔軟性が高く、
あらゆる処理を記述できますが、
並列性は限定的です。

GPU:同じ命令を大量のデータに適用する

GPUは、

  • 同じ処理
  • 大量のデータ

を同時に扱うために最適化されています。

画像処理やAI推論のように、
処理内容が揃っている場合
に非常に高い性能を発揮します。

FPGA:処理そのものを回路として構成する

FPGAは、

  • 命令を実行する
  • プログラムを解釈する

という考え方を持ちません。

処理の流れそのものを回路として作る
点が最大の特徴です。

決定的な違いは「時間の扱い方」

CPU・GPUでは、
処理時間は
命令の並びと実行回数
に依存します。

FPGAでは、
処理時間は
回路の遅延として決まります

そのため、

  • 遅延が一定
  • リアルタイム性が高い
  • 予測可能な動作

が得られます。

用途による使い分け

  • 制御・汎用処理 → CPU
  • 画像処理・AI → GPU
  • リアルタイム・専用処理 → FPGA

どれが優れているかではなく、
目的に合った選択
が重要です。

第3章のまとめ

FPGAは、

  • 論理
  • タイミング
  • 配置配線
  • 物理I/O

すべてを設計者が意識する、
最もハードウェアに近い計算機
です。

この特性こそが、
CPU・GPUでは代替できない
FPGAの価値を生み出しています。