📊⚡🏎️
コンピュータの設計

CPU 性能評価

「速い CPU」とはどういう意味か?

クロック周波数だけが性能じゃない。
命令数・CPI・アムダールの法則で性能を定量的に理解しよう。

⏱ 所要:25–35分難易度:★★☆前提:アーキテクチャ入門
Section 1

CPU 性能の基本式

3つの独立した要素で実行時間が決まる

CPU 実行時間(秒)
T = IC × CPI × tclk
= IC × CPI / f
IC
命令数(Instruction Count)

プログラムを実行するために必要な命令の総数。アルゴリズムの効率と ISA(命令セット)に依存。同じ計算でも RISC と CISC では IC が異なる。

依存:プログラム × ISA
CPI
クロック/命令(Clocks Per Instruction)

1命令を実行するのに必要なクロックサイクル数の平均。パイプライン設計・キャッシュミス・ハザードに依存。理想的なパイプラインでは CPI ≈ 1。

依存:CPU 実装 × プログラム
tclk
クロック周期(Clock Cycle Time)

1クロックの長さ(秒)。クロック周波数 f の逆数:t = 1/f。半導体プロセスで決まる。3 GHz なら t = 0.333 ns(333 ps)。

依存:ハードウェア技術
📌 3つの要素はトレードオフ: クロック周波数を上げると消費電力が増え発熱し CPI が悪化することがある。 IC を減らすために複雑な命令を追加すると(CISC 化)CPI が増える。 1つの指標だけでは CPU の性能を正しく評価できない。
Section 2

クロック周波数を理解する

スライダーを動かして数字の意味を体感しよう

3.0 GHz
周波数
3.0 GHz
周期 t_clk
333 ps
1秒あたりサイクル
3.0 × 10⁹
光の進む距離/周期
10.0 cm
💡 1サイクル = □ (10 ns に 30 サイクル)
Section 3

CPU 性能計算機

T = IC × CPI / f を直接計算してみよう

CPU 実行時間 T = IC × CPI / f
0.667 秒

改善シミュレーション(現在の入力と比較)

Section 4

アムダールの法則

並列化の効果には必ず限界がある

高速化率(Speedup)
S = 1 / ( (1−P) + P/N )
P = 並列化可能な割合(0〜1),N = プロセッサ数
高速化率
3.33×
上限 (N→∞): 5.0×
N ごとの高速化率(P 固定)
⚠️ アムダールの壁: 並列化できない部分(1−P)が残る限り、プロセッサをいくら増やしても高速化には上限がある。 P=90% でも N→∞ では最大 10× の改善しか得られない。残り 10% の逐次部分がボトルネックになる。 これが「ただコアを増やせばよい」が成立しない理由だ。
Section 5

ベンチマークと現代の性能の壁

主なベンチマーク

SPEC CPUシングルスレッドの整数・浮動小数点演算性能。CPU の純粋な処理能力を測る業界標準。
LINPACK線形代数(行列演算)の浮動小数点性能。スパコン TOP500 の指標(FLOPS)。
Cinebench3D レンダリングによる CPU マルチコア性能評価。シングル・マルチ両方を測定。
MLPerfAI / 機械学習推論・学習の速度。GPU / NPU 評価に使われる新興ベンチマーク。

現代の CPU 性能向上の壁

🔥 電力の壁(Power Wall)

クロック周波数を上げると消費電力が増大。2004年頃に限界を迎え、それ以来マルチコア化へ転換。

💾 メモリの壁(Memory Wall)

CPU の演算速度とメモリ帯域幅の差が拡大。処理の多くがメモリ待ちになる。

🔬 ムーアの法則の鈍化

トランジスタ数の倍増ペースが鈍化。チップレット・3D 積層で対応中。

CPU / 世代 周波数 コア数 プロセス TDP 特記
Intel 486 (1989)25–100 MHz11 µm5 W初期 x86
Intel Pentium 4 (2000)1.5–3.8 GHz1180 nm115 WGHz 競争の頂点
Intel Core 2 Duo (2006)1.8–3.0 GHz265 nm65 Wマルチコア時代へ
Apple M1 (2020)3.2 GHz8 (4P+4E)5 nm15 WRISC(ARM)の逆襲
AMD Ryzen 9 9950X (2024)4.3–5.7 GHz164 nm170 W現行ハイエンド x86