Skip to the content.

最終更新日:2026年9月20日

まず結論

CPUの処理時間を考えるときは、次の3つを分けて考えます。

クロック周期
→ 1クロックにかかる時間

CPI
→ 1命令を実行するのに必要な平均クロック数

CPU実行時間
→ 命令数 × CPI × クロック周期

基本情報技術者試験では、特に次の関係が重要です。

1命令の平均処理時間
= CPI × クロック周期

つまり、クロック周期が短くても、CPIが大きければ必ずしもCPU全体が速いとは限りません。

クロックだけで速さを決めず、CPIとセットで見る。

これが最初の判断基準です。

直感的な説明

CPUを、一定のテンポで作業する人にたとえてみます。

例えば、

1回の動作に1秒かかる
1つの仕事に4回の動作が必要

なら、

1秒 × 4回
= 4秒

で1つの仕事が終わります。

CPUでも同じように考えられます。

1クロックにかかる時間
×
1命令に必要なクロック数
↓
1命令にかかる平均時間

ここで、

  • 1クロックにかかる時間がクロック周期
  • 1命令に必要な平均クロック数がCPI

です。

例えば、

クロック周期:2ナノ秒
CPI:3

なら、

2ナノ秒 × 3
= 6ナノ秒

となり、1命令の平均処理時間は6ナノ秒です。

定義・仕組み

クロックとは

CPUは、一定の周期で発生するクロック信号に合わせて処理を進めます。

クロック
↓
カチ
↓
カチ
↓
カチ

この「カチ」1回分にかかる時間がクロック周期です。

例えば、

クロック周期 = 1ナノ秒

なら、1クロック進むのに1ナノ秒かかります。

クロック周波数との関係

クロック周期とクロック周波数は逆数の関係です。

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

例えば、

クロック周期 = 1ns
↓
1秒間に10億回
↓
1GHz

です。

試験では、次のように切り分けます。

1クロックに何秒かかる?
→ クロック周期

1秒間に何クロック動く?
→ クロック周波数

CPIとは

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

CPI = 1
→ 平均1クロックで1命令

CPI = 2
→ 平均2クロックで1命令

CPI = 0.5
→ 平均すると1クロックで2命令分を処理

実際には命令ごとに必要なクロック数が異なるため、問題では平均値としてCPIが与えられることがあります。

1命令の平均処理時間

1命令に必要な平均時間は、

CPI × クロック周期

で求められます。

例えば、

クロック周期:2ns
CPI:3

なら、

2ns × 3
= 6ns

です。

CPU実行時間

プログラム全体のCPU実行時間は、基本的に次の式で考えます。

CPU実行時間
= 命令数 × CPI × クロック周期

例えば、

命令数:1,000命令
CPI:2
クロック周期:1ns

なら、

1,000 × 2 × 1ns
= 2,000ns

です。

科目Aでどう出る?

FE科目Aでは、2台のコンピュータの処理時間を比較する問題として出ることがあります。

そのときは、いきなり全体の式を書くより、まず1命令あたりの平均時間を比較すると分かりやすいです。

判断手順

1. クロック周期を見る
2. CPIを見る
3. クロック周期 × CPI を計算
4. 1命令あたりの平均時間を比較
5. 同じ命令数なら、その比がそのまま実行時間の比

例えば、

CPU A
クロック周期:1ns
CPI:4

CPU B
クロック周期:4ns
CPI:0.5

なら、

A:1ns × 4 = 4ns

B:4ns × 0.5 = 2ns

です。

したがって、

A ÷ B
= 4 ÷ 2
= 2

となり、同じ命令数を実行するならAの処理時間はBの2倍です。

同じプログラムなら命令数は消せる?

問題文で、

  • 同じ命令セット
  • 同じプログラムを実行

などの条件があり、実行命令数が同じとみなせる場合は、比較するときに命令数は共通項として消せます。

CPU実行時間
= 命令数 × CPI × クロック周期

命令数が同じ
↓
CPI × クロック周期
だけ比較すればよい

これが計算を速くするポイントです。

どんな場面で使う?

CPIとクロック周期は、CPU性能を比較するときに使います。

例えば、

  • CPU AとCPU Bのどちらが速いか
  • クロック周波数を上げるとどの程度速くなるか
  • 命令実行効率の違いが性能にどう影響するか
  • 同じプログラムの実行時間を見積もる

といった場面です。

CPU性能は、クロック周波数だけで決まるものではありません。

クロックが速い
+
CPIが小さい
+
実行する命令数が少ない
↓
CPU実行時間を短くしやすい

という関係で考えます。

よくある誤解・混同

クロック周期が短ければ必ずCPUは速い?

必ずしもそうではありません。

クロック周期が短くても、1命令に多くのクロックが必要なら処理時間は長くなります。

クロック周期だけを見る
→ 不十分

クロック周期 × CPI
→ 1命令の平均処理時間

クロック周波数が高ければ必ず速い?

これも必ずとは限りません。

クロック周波数はCPU性能の重要な要素ですが、CPIや実行命令数も影響します。

CPU実行時間
= 命令数 × CPI × クロック周期

したがって、周波数だけを見て性能を断定しないようにします。

CPIが小さいほど良い?

同じ条件なら、CPIが小さいほど1命令あたりに必要なクロック数が少ないため、高速になりやすいです。

ただしCPU全体の性能比較では、クロック周期や命令数も合わせて考えます。

CPIが0.5というのはおかしくない?

おかしくありません。

CPIは平均値なので、

CPI = 0.5
→ 平均すると1クロックで2命令

という意味になります。

パイプライン処理や複数命令の並列実行があるCPUでは、平均CPIが1未満になることがあります。

クロック周期とクロック周波数を掛ける?

掛けません。

この2つは逆数の関係です。

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

と整理します。

確認問題(基本情報技術者試験対策)

同じ命令数を実行するCPU AとCPU Bがある。

  • CPU A:クロック周期 2ns、CPI 3
  • CPU B:クロック周期 3ns、CPI 1

CPU Aの処理時間はCPU Bの何倍か。

▶ クリックして答えと解説を見る(ここを開く)

正解:2倍

1命令あたりの平均処理時間を比較します。

A:2ns × 3 = 6ns
B:3ns × 1 = 3ns

したがって、

6 ÷ 3 = 2

なので、CPU Aの処理時間はCPU Bの2倍です。

まとめ(試験直前用)

  • クロック周期は、1クロックにかかる時間
  • クロック周波数は、1秒間のクロック数
  • CPIは、1命令に必要な平均クロック数
  • 1命令の平均処理時間 = CPI × クロック周期
  • CPU実行時間 = 命令数 × CPI × クロック周期
  • 同じ命令数なら、CPI × クロック周期だけ比較すればよい
  • 「クロックが速い=必ずCPUが速い」ではない
  • CPIが0.5のように1未満になることもある

一言で覚えるなら、

1命令に何クロック必要か × 1クロックに何秒かかるか

です。

© 2024-2026 stemtazoo. All rights reserved.