基本情報技術者 2019年 秋期 午前(科目A) 問12
問題文
1GHzのクロックで動作するCPUがある。このCPUは、機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に平均何万命令を実行できるか。
選択肢
ア:125
イ:250
ウ:80,000
エ:125,000(正解)
1GHzのクロックで平均0.8クロック/命令のCPUが1秒間に実行できる平均命令数は何万命令か【午前2 解説】
要点まとめ
- 結論:1GHzで平均0.8クロック/命令なら命令実行数は命令/s、万単位で表すと125,000です。
- 根拠:1GHzはサイクル/秒、1命令あたりクロックなので命令数は命令/秒です。
- 差がつくポイント:Hz単位変換(GHz→Hz)と「万命令=10^4」による割り算、CPIとIPC(逆数)の意味を正確に理解することです。
正解の理由
1GHz = クロック/秒(サイクル/秒)です。
1命令あたり平均クロックなので、命令実行数はクロック数を1命令あたりのクロックで割れば求まります。式で表すと
問題は「何万命令か」を問うているため、命令数をで割ります:
したがって正解は エ です。
1命令あたり平均クロックなので、命令実行数はクロック数を1命令あたりのクロックで割れば求まります。式で表すと
問題は「何万命令か」を問うているため、命令数をで割ります:
したがって正解は エ です。
よくある誤解
- 「0.8クロック/命令を掛ける」と誤る(を計算)と80万千命令など誤った値になります。CPIは割るのが正解です。
- GHzの桁数()を間違える(例えばとする)と、結果が千倍・万倍ずれるため注意が必要です。
- 「万命令」を千(k)と混同してで割るミス。万はです。
解法ステップ
- クロック周波数をHzに直す:1GHz = Hz(サイクル/秒)。
- 1秒あたりの命令数を求める:命令数/s = クロック数/s ÷ CPI = .
- 万単位に変換する:命令数/s を で割る。
- 候補と照合して正答を選ぶ(今回では125,000 → エ)。
選択肢別の誤答解説
- ア: 125
- 想定誤り:1GHzを(MHzと混同)と誤認して計算した場合、命令/s を万単位(で割る)にすると125となる誤解があり得ます。単位の桁を間違えた典型例です。
- イ: 250
- 想定誤り:桁変換や割る/掛けるの両方で誤った操作を組み合わせた結果。例えばをと誤り、さらに何らかの係数で2倍してしまったケースなど。基本は単位と演算ミスです。
- ウ: 80,000
- 想定誤り:CPIを掛け算してしまった例(命令/s、万単位で)。CPIは「1命令あたりのクロック数」なので、命令数はクロック数をCPIで割る点に注意。
- エ: 125,000(正解)
- 正しい手順と単位変換に基づく計算結果です。
補足コラム
- CPI(Cycles Per Instruction)とIPC(Instructions Per Cycle)は逆数の関係にあります:IPC = 1 / CPI。今回のCPI=0.8はIPC=1.25を意味し、1クロックで平均1.25命令処理される性能を表します。
- 実務や設計でよく出る「命令実行速度」はHzやCPIだけでなく、命令の混合やメモリアクセス遅延などで実効値が変わる点にも注意してください。試験問題では与えられた平均値で素直に計算することが求められます。
FAQ
Q1: なぜ0.8を掛けないのですか?
A1: 0.8は「1命令あたりのクロック数(CPI)」なので、クロック数を命令あたりのクロックで割ることで命令数が出ます。掛けると意味が逆になります。
A1: 0.8は「1命令あたりのクロック数(CPI)」なので、クロック数を命令あたりのクロックで割ることで命令数が出ます。掛けると意味が逆になります。
Q2: 万単位ってどう扱えば良いですか?
A2: 「万」はです。命令数を万単位にするにはで割ります(例:)。
A2: 「万」はです。命令数を万単位にするにはで割ります(例:)。
Q3: CPIが1未満ってあり得るの?
A3: はい。パイプラインや複数発行(スーパースカラ)などで平均CPIが1未満になることはあり、IPCが1以上になることを意味します。
A3: はい。パイプラインや複数発行(スーパースカラ)などで平均CPIが1未満になることはあり、IPCが1以上になることを意味します。
関連キーワード: クロック周波数、CPI、IPC、単位換算、GHz→Hz、命令実行数、桁の取り扱い、計算問題、午前2演習、CPU性能評価

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

