CPU性能・クロック周波数の計算方法
クロック周波数・クロック周期・CPI・CPU実行時間の関係を、順番に整理します。
→ CPU性能を開く
クロック周波数とは?
CPUが1秒間に何回クロックを刻むかを表します。1 GHz は 10億 Hz、つまり1秒間に10億回です。
クロック周期
クロック周期は、1クロックにかかる時間です。
たとえば2 GHzなら、
クロック数から実行時間を求める
200万クロックを2 GHzで実行する場合、
CPIとは?
CPIは Cycles Per Instruction の略で、1命令を実行するのに平均何クロック必要かを表します。
CPU時間の公式
100万命令、CPI=2、2 GHzなら、
必要なクロック周波数を求める
1 GHz = 10^9 Hz
1 MHz = 10^6 Hz
1 ms = 10^-3 秒
1 ns = 10^-9 秒
クロック周期・実行時間・CPI・必要周波数をランダムに練習できます。
図で理解する:CPU実行時間の計算
CPU実行時間は「命令数 × 平均CPI ÷ クロック周波数」で求めます。数字の単位をそろえるのがポイントです。
実務ではどこで使う?
プログラムの処理速度を考えるとき、周波数だけでは性能を比較できません。命令数やCPI、メモリ待ちなども関係します。この式はCPU時間を理解するための単純化したモデルです。
確認問題:命令数200万、CPI 1、2GHzなら?
200万 × 1 ÷ 20億 = 0.001秒(1ms) です。
1GHzは何秒? 1クロックの時間を計算
答えは1ナノ秒(1ns)です。1GHzは1秒間に10億回(109回)のクロックが発生することを意味します。1クロックの長さはその逆数で求めます。
「1GHzは10億命令を1秒で処理する」という意味ではありません。1命令に必要なクロック数はCPIなどの条件によって変わります。
周波数と1クロックの時間の早見表
| クロック周波数 | 1クロックの周期 | 計算 |
|---|---|---|
| 100MHz | 10ns | 1 ÷ 108 秒 |
| 500MHz | 2ns | 1 ÷ (5×108) 秒 |
| 1GHz | 1ns | 1 ÷ 109 秒 |
| 2GHz | 0.5ns | 1 ÷ (2×109) 秒 |
| 4GHz | 0.25ns | 1 ÷ (4×109) 秒 |
CPIとは? CPU実行時間を3ステップで計算
CPI(Cycles Per Instruction)は、命令1個を実行するのに平均何クロックかかるかを表す指標です。例えばCPI=2なら、平均で1命令につき2クロック必要という意味です。
- 命令数 × CPIで必要な総クロック数を求める
- GHzをHzに直す(例:2GHz=2,000,000,000Hz)
- 総クロック数 ÷ 周波数でCPU実行時間(秒)を求める
例題: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つのポイント
- GHzをそのまま割り算に入れる:計算前にHz(毎秒のクロック数)に変換する
- msとnsを混同する:1ms=10−3秒、1ns=10−9秒
- 周波数が2倍なら必ず性能2倍と考える:命令数・CPI・待ち時間なども確認する
理解度チェック: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実行時間を自分で計算しよう
「CPI CPU」「1クロック 何秒」で調べている方は、クロック周期とCPU実行時間を分けて考えると理解しやすくなります。
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実行時間の式だけではメモリ・通信・入出力を含むシステム全体の応答時間は求められません。
理解を確かめるミニ課題
- 命令数200万、周波数2GHzのままCPIを1.5→3にすると実行時間はどうなる?
- 命令数200万、CPI1.5のまま周波数を2GHz→4GHzにするとどうなる?
ミニ課題の答えを見る
① 1.5ms→3ms(2倍)です。② 1.5ms→0.75ms(半分)です。どちらも命令数など他の条件が同じ場合の比較です。