CPU PERFORMANCE

CPU性能・クロック周波数の計算方法

クロック周波数・クロック周期・CPI・CPU実行時間の関係を、順番に整理します。

問題を解きたい方:
→ CPU性能を開く

クロック周波数とは?

CPUが1秒間に何回クロックを刻むかを表します。1 GHz は 10億 Hz、つまり1秒間に10億回です。

クロック周期

クロック周期は、1クロックにかかる時間です。

クロック周期 = 1 ÷ クロック周波数

たとえば2 GHzなら、

1 ÷ 2 GHz = 0.5 ns

クロック数から実行時間を求める

実行時間 = 必要クロック数 ÷ クロック周波数

200万クロックを2 GHzで実行する場合、

2,000,000 ÷ 2,000,000,000 = 0.001 秒 = 1 ms

CPIとは?

CPIは Cycles Per Instruction の略で、1命令を実行するのに平均何クロック必要かを表します。

総クロック数 = 命令数 × CPI

CPU時間の公式

CPU時間 = 命令数 × CPI ÷ クロック周波数

100万命令、CPI=2、2 GHzなら、

1,000,000 × 2 ÷ 2,000,000,000 = 0.001 秒 = 1 ms

必要なクロック周波数を求める

クロック周波数 = クロック数 ÷ 実行時間
単位に注意:
1 GHz = 10^9 Hz
1 MHz = 10^6 Hz
1 ms = 10^-3 秒
1 ns = 10^-9 秒
理解したら10問練習
クロック周期・実行時間・CPI・必要周波数をランダムに練習できます。

図で理解する:CPU実行時間の計算

CPU実行時間は「命令数 × 平均CPI ÷ クロック周波数」で求めます。数字の単位をそろえるのがポイントです。

100万命令
×
CPI 2
=
200万クロック
↓ 1GHz(毎秒10億クロック)で割る
2,000,000 ÷ 1,000,000,000 = 0.002秒 = 2ms

実務ではどこで使う?

プログラムの処理速度を考えるとき、周波数だけでは性能を比較できません。命令数やCPI、メモリ待ちなども関係します。この式はCPU時間を理解するための単純化したモデルです。

確認問題:命令数200万、CPI 1、2GHzなら?

200万 × 1 ÷ 20億 = 0.001秒(1ms) です。

CPUトレーニングで練習する →

1GHzは何秒? 1クロックの時間を計算

答えは1ナノ秒(1ns)です。1GHzは1秒間に10億回(109回)のクロックが発生することを意味します。1クロックの長さはその逆数で求めます。

1 ÷ 1,000,000,000 秒 = 0.000000001 秒 = 1ns

「1GHzは10億命令を1秒で処理する」という意味ではありません。1命令に必要なクロック数はCPIなどの条件によって変わります。

周波数と1クロックの時間の早見表

クロック周波数1クロックの周期計算
100MHz10ns1 ÷ 108 秒
500MHz2ns1 ÷ (5×108) 秒
1GHz1ns1 ÷ 109 秒
2GHz0.5ns1 ÷ (2×109) 秒
4GHz0.25ns1 ÷ (4×109) 秒

CPIとは? CPU実行時間を3ステップで計算

CPI(Cycles Per Instruction)は、命令1個を実行するのに平均何クロックかかるかを表す指標です。例えばCPI=2なら、平均で1命令につき2クロック必要という意味です。

  1. 命令数 × CPIで必要な総クロック数を求める
  2. GHzをHzに直す(例:2GHz=2,000,000,000Hz)
  3. 総クロック数 ÷ 周波数でCPU実行時間(秒)を求める
CPU実行時間(秒)= 命令数 × 平均CPI ÷ クロック周波数(Hz)

例題:200万命令、CPI=1.5、2GHzの場合

手順1:2,000,000命令 × 1.5 = 3,000,000クロック

手順2:2GHz = 2,000,000,000Hz

手順3:3,000,000 ÷ 2,000,000,000 = 0.0015秒

答え:1.5ms

クロック周波数が同じでも速さが変わる例

同じ100万命令・2GHzでも、CPI=1なら0.5ms、CPI=2なら1msです。周波数が同じでも、必要な総クロック数が違えば実行時間も変わります。

実際の仕事ではどこで使う?

CPU性能の計算は、システムの処理時間を考えるための基礎です。例えば同じバッチ処理を新旧サーバーで比較するとき、クロック周波数だけでなく、処理する命令数や平均CPIも見る必要があります。

ただし実際のアプリケーションの応答時間には、メモリ待ち、ストレージ、ネットワーク、並列処理、キャッシュなども影響します。ここで紹介した式は、CPU実行時間を理解するための単純化したモデルです。

間違えやすい3つのポイント

理解度チェック:3問

問題1:1GHzの1クロックは何秒?

1 ÷ 109秒=1ns(10−9秒)です。

問題2:500MHzのクロック周期は?

500MHz=5×108Hz。1 ÷ (5×108)=2×10−9秒なので、2nsです。

問題3:100万命令・CPI=2・1GHzのCPU実行時間は?

100万×2÷10億=0.002秒=2msです。

CPU性能トレーニングでさらに練習する →

計算の流れを図解:CPU実行時間を自分で計算しよう

「CPI CPU」「1クロック 何秒」で調べている方は、クロック周期とCPU実行時間を分けて考えると理解しやすくなります。

STEP 1命令数実行する命令の総数
STEP 2× CPI1命令あたり平均クロック数
STEP 3÷ 周波数Hz(1秒あたりのクロック数)

CPU実行時間(秒)= 命令数 × 平均CPI ÷ クロック周波数(Hz)

例:200万命令 × CPI 1.5 ÷ 2GHz = 300万クロック ÷ 20億Hz = 0.0015秒(1.5ms)

入力して確認できるCPU実行時間計算ツール

数値を変えて、CPIや周波数が結果にどう影響するか試してみましょう。計算はブラウザ内だけで行います。

計算結果:1.5ms

200万命令 × 1.5 = 300万クロック。2GHzの1クロックは0.5nsです。

「1クロック何秒?」の答え

1クロックの時間は 1 ÷ 周波数(Hz)。例えば1GHzなら1ns、2GHzなら0.5ns、500MHzなら2nsです。周波数が高いほど1クロックは短くなります。

よくある勘違い:1クロック=1命令とは限りません。CPIは命令ごとの違いや待ち時間などを平均した値です。また、CPU実行時間の式だけではメモリ・通信・入出力を含むシステム全体の応答時間は求められません。

理解を確かめるミニ課題

  1. 命令数200万、周波数2GHzのままCPIを1.5→3にすると実行時間はどうなる?
  2. 命令数200万、CPI1.5のまま周波数を2GHz→4GHzにするとどうなる?
ミニ課題の答えを見る

① 1.5ms→3ms(2倍)です。② 1.5ms→0.75ms(半分)です。どちらも命令数など他の条件が同じ場合の比較です。

CPU性能トレーニングで類題を解く →