computer system foundationCSF 2026
コンピュータの設計 / 03.2

CPU 性能評価

「速い CPU」とはどういう意味か。クロック周波数だけが性能ではない——命令数・CPI・アムダールの法則で、性能を数字で捉える。

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

CPU 性能の基本式

プログラムの実行時間は、独立した3つの要素の掛け算で決まる。 どれか1つを見ただけでは「速い」とは言えない、というのがこの章の出発点である。

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 の性能は評価できない。
02

クロック周波数を体感する

「3 GHz」がどれくらいの速さなのか、数字だけではピンと来ない。スライダーを動かしてみてください。

3.0 GHz
周波数
3.0 GHz
周期 t_clk
333 ps
1秒あたりサイクル
3.0 × 10⁹
1周期に光が進む距離
10.0 cm
1サイクル = 1マス(10 ns に 30 サイクル)
右端の数字に注目してください。3 GHz では1クロックのあいだに光でも 10 cm しか進めない。 CPU の端から端まで信号を届けるのがやっとの距離である。周波数を上げにくい理由の1つがここにある。
03

性能計算機

T = IC × CPI / f を実際に計算してみましょう。3つのうちどれを改善すると一番効くのかが、下の比較で分かる。

CPU 実行時間 T = IC × CPI / f
666.667 ms
改善シミュレーション(現在の入力と比較)
04

アムダールの法則

「コアを増やせば速くなる」——どこまで本当でしょうか。並列化の効果には、必ず数式で決まる上限がある。

高速化率(Speedup)
S = 1 / ( (1−P) + P/N )
P = 並列化できる割合(0〜1) N = プロセッサ数
高速化率
2.50×
上限(N→∞): 5.0×
N ごとの高速化率(P は固定)
アムダールの壁: 並列化できない部分(1−P)が残る限り、プロセッサをいくら増やしても高速化には上限がある。 P = 90% でも、N を無限に増やして最大 10倍 どまり。残り 10% の逐次部分がボトルネックになるからである。 スライダーで P を 50% にして N を 64 まで上げてみてください——ほとんど伸びない。
05

ベンチマークと現代の壁

実際の CPU の性能は、代表的なプログラムを走らせて測る。そして 2000 年代半ば以降、性能向上の仕方そのものが変わった。

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

クロック周波数を上げると消費電力が急増する。2004年頃に限界を迎え、以後マルチコア化へ方針転換した。

メモリの壁(Memory Wall)

CPU の演算速度とメモリ帯域幅の差が開き続け、処理の多くがメモリ待ちになる。次章の主題。

ムーアの法則の鈍化

トランジスタ数が倍増するペースが落ちてきた。チップレットや3D 積層で対応が進む。

35年ぶんの実機を並べると、「壁」がどこで効いたかが読み取れる。 周波数が 2000 年で頭打ちになり、代わりにコア数が伸びていることに注目してください。

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
Pentium 4(2000年)と Apple M1(2020年)を見比べてください。周波数はほぼ同じなのに、 M1 は 8 コアを 15 W で動かしている(P4 は 1 コアで 115 W)。 性能の伸びが「周波数」から「並列度と電力効率」へ移ったことが、この表1つで分かる。