最終更新日:2026年7月15日
fe fe-technology computer-system
まず結論
MIPSとは、CPUが1秒間に何百万個の命令を実行できるかを表す指標です。
基本情報技術者試験では、次の流れで計算します。
1. 命令1個あたりの平均クロック数を求める
2. クロック周波数を平均クロック数で割る
3. 100万で割って MIPS に直す
類題風の小さな例では、次のように計算できます。
平均クロック数 = 4 × 0.5 + 8 × 0.5 = 6クロック
600MHz ÷ 6 = 100,000,000命令/秒
100,000,000 ÷ 1,000,000 = 100MIPS
この例では、性能は100MIPSです。
直感的な説明
CPUは、クロックというリズムに合わせて処理を進めます。
600MHz の CPU なら、1秒間に
600,000,000 クロック
動けると考えます。
ただし、1命令を実行するのに、必ず1クロックで済むわけではありません。
命令A:4クロックかかる
命令B:8クロックかかる
そのため、まずは「平均して1命令に何クロックかかるか」を求めます。
平均クロック数が分かれば、1秒間に実行できる命令数を求められます。
定義・仕組み
MIPS は、Million Instructions Per Second の略です。
日本語では、1秒間に実行できる命令数を百万命令単位で表したものです。
実行可能な命令数/秒 = クロック周波数 ÷ 1命令あたりの平均クロック数
MIPS = 実行可能な命令数/秒 ÷ 1,000,000
類題風の例で確認
クロック周波数:600MHz
命令A:4クロック、実行頻度50%
命令B:8クロック、実行頻度50%
まず、平均クロック数を求めます。
4 × 0.5 + 8 × 0.5
= 2 + 4
= 6クロック
次に、1秒間に実行できる命令数を求めます。
600,000,000 ÷ 6 = 100,000,000命令/秒
最後にMIPSへ直します。
100,000,000 ÷ 1,000,000 = 100MIPS
公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、MIPSはCPU性能や命令実行時間の計算として出題されやすいです。
見るべきポイントは次の3つです。
- MIPSは1秒間の命令実行数を百万単位で表す
- 命令ごとのクロック数が違う場合は、平均クロック数を求める
- 実行頻度は重み付けに使う
試験中は、次の順番で考えると安定します。
1. GHz・MHzをクロック/秒に直す
2. 平均クロック数を求める
3. クロック/秒 ÷ 平均クロック数
4. 100万で割ってMIPSにする
実行頻度が違う場合
単純平均ではなく、重み付き平均を使います。
平均クロック数
= 各命令のクロック数 × 実行頻度 の合計
例えば、4クロックの命令が80%、8クロックの命令が20%なら、
4 × 0.8 + 8 × 0.2
= 3.2 + 1.6
= 4.8クロック
となります。
クロック周波数とMIPSを同一視しない
600MHz
≠ 必ず600MIPS
1命令に複数クロックかかる場合があるためです。
どんな場面で使う?
MIPSは、CPUが一定時間にどれだけ多くの命令を処理できるかを比較するときに使います。
ただし、異なる命令セットや異なる種類の処理では、1命令の内容が同じとは限りません。
そのため、MIPSが高いCPUが、どの処理でも必ず速いとは限りません。
FE試験では、現実のCPU比較の細かな限界よりも、次の計算関係を正しく読むことが中心です。
クロック周波数が高い
→ 使えるクロック数が多い
平均クロック数が小さい
→ 1命令あたりの負担が小さい
結果として命令数/秒が増える
よくある誤解・混同
MHzやGHzをそのままMIPSとする
誤りです。1命令に何クロックかかるかを考慮する必要があります。
実行頻度を無視する
| 間違い | 理由 |
|---|---|
| 最小クロック数だけで考える | 他の命令も実行される |
| 最大クロック数だけで考える | よく実行される命令の影響を無視している |
| 単純平均する | 実行頻度が異なる場合は重み付けが必要 |
| 100万で割らない | MIPSは百万命令単位 |
MIPSが高ければ、異なるCPU間でも必ず性能が高い
命令セットや処理内容が異なる場合、単純比較できないことがあります。
選択肢を切るときは、まず次を確認します。
平均クロック数を出したか?
実行頻度で重み付けしたか?
MIPSに直すために100万で割ったか?
まとめ(試験直前用)
- MIPSは、1秒間に実行できる命令数を百万単位で表す指標
- 命令ごとのクロック数が違う場合は、実行頻度で重み付けする
- 平均クロック数は、各命令のクロック数に実行頻度を掛けて足す
- クロック周波数を平均クロック数で割り、さらに100万で割る
- MHzやGHzをそのままMIPSとしてはいけない