戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2018年 秋期 午前(科目A)09


問題文

動作クロック周波数が700MHzのCPUで、命令実行に必要なクロック数及びその命令の出現率が表に示す値である場合、このCPUの性能は約何MIPSか。
基本情報技術者 2018年 秋期 午前(科目A) 問09の問題画像

選択肢

10
50
70
100(正解)

命令のクロック数と出現率からMIPSを求めよ【午前2 解説】

要点まとめ

  • 結論→このCPUの性能は約100MIPS、選択肢ではが正解です。平均CPIを求め周波数をCPIで割ることで算出します。
  • 根拠→平均CPIはサイクル、700MHz÷7=100MIPSであるためです。
  • 差がつくポイント→出現率は%を小数(例:30%→0.3)に直し、重み付き平均を取る点を必ず押さえてください。

正解の理由

命令ごとのクロック数と出現率から「平均CPI(サイクル/命令)」を求め、CPUクロック周波数を平均CPIで割るとMIPSが得られます。与えられた値で計算すると、
平均CPI = (サイクル/命令)
MIPS =
したがって正解は です。

よくある誤解

  • 出現率を%のまま扱って合算しない(100で割るのを忘れる)ため、平均CPIが大きく狂うミス。
  • MIPSをMHzと同一視して、CPI考慮せずそのまま答えを選ぶ誤り(MHz=MIPSではない)。
  • 平均を算術平均で求める((4+8+10)/3 など)誤り。必ず重み付き平均を使う。

解法ステップ

  1. 出現率を小数に直す:30%→0.30、60%→0.60、10%→0.10。
  2. 平均CPIを計算する:。ここでは .
  3. MIPSを求める:
  4. 選択肢と照合して を選ぶ。

選択肢別の誤答解説

  • ア: 10
    • 可能な誤り例:平均CPIを70と誤計算し、700÷70=10としたケース(出現率の扱いミスや桁の誤り)。根本は平均CPIの算出ミスです。
  • イ: 50
    • 可能な誤り例:平均CPIを14と誤って計算し、700÷14=50とした場合。例えば出現率を二重に適用したり、割合の正規化を忘れてしまうとこうした値が出ます。
  • ウ: 70
    • 可能な誤り例:最大サイクル数(10)をそのまま平均CPIとみなし700÷10=70とした単純化ミス。最悪のケースだけで平均を取らない誤りです。
  • エ: (正解)
    • 正しい手順で出した値が100MIPSになります。

補足コラム

  • MIPSは「百万命令実行/秒」を表す簡便な性能指標ですが、命令セット構成や命令の重み付けによって容易に変わるため、単独で性能を比較するには注意が必要です。より正確には「実行時間 = 命令数 × 平均CPI / 周波数」で評価します。
  • 実務ではIPC(instructions per cycle)や実行時間(秒)で比較するほうが誤解が少ないです。
例:同じ計算をPythonで確認するコード
cycles = [4, 8, 10]
rates = [0.30, 0.60, 0.10]
avg_cpi = sum(c*r for c, r in zip(cycles, rates))
mips = 700 / avg_cpi
print("平均CPI:", avg_cpi)  # 7.0
print("MIPS:", mips)       # 100.0

FAQ

Q: 出現率の合計が100%でない場合は?
A: 合計が100%になっていないと出現率の正規化が必要です。与えられた値を合計で割って正規化してから重み付け平均を取ってください。
Q: 周波数がGHzで与えられたら?
A: 単位を合わせれば問題ありません。例えば0.7GHz=700MHzなので同じ計算ができます。必ずMHzとMIPSの単位整合に注意。
Q: MIPSが高い方が常に速いですか?
A: 命令セットやプログラムの命令数が異なるとMIPSだけで比較できません。実行時間や命令数を合わせて評価する必要があります。

関連キーワード: クロック, CPI, MIPS, 命令出現率, 平均CPI, 命令平均, CPU性能, IPC, 実行時間
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について