基本情報技術者 2014年 秋期 午前(科目A) 問09
問題文
1GHzのクロックで動作するCPUがある。このCPUは、機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に平均何万命令を実行できるか。
選択肢
ア:125
イ:250
ウ:80,000
エ:125,000
1GHzのCPUが平均0.8クロックで1命令を実行するとき、1秒間に平均何万命令か【午前2 解説】
要点まとめ
- 結論: 1GHz = クロック/秒を平均0.8クロック/命令で割ると1秒あたり命令、すなわち125,000万命令(選択肢はエ)。
- 根拠: 命令/秒 = クロック/秒 ÷ 平均クロック/命令なので 、万単位に換算して125,000となる。
- 差がつくポイント: GHz→Hz、クロック割り算、最後に「万(=10,000)」単位へ変換する工程を順序立てて間違えずに行うこと。
正解の理由
- 計算: 、1命令あたり平均クロックなので 万単位に直すと 。
- 選択肢の該当は「エ: 125,000」です。表記要件に従い正解は nan としていますが、問題の数値解としてはエが正しい選択肢です。
よくある誤解
- 「1GHzをそのまま1,000と扱ってしまう」:GHzをkHzやMHzと混同して桁を落とすミスが多いです。単位の桁数を正確に扱ってください。
- 「万単位への変換忘れ」:最終結果を万単位で問われているのにそのまま命令/秒で答えてしまうミスがよくあります。
- 「平均クロック/命令(CPI)を1より大きいと思い込む」:パイプラインやスーパースカラーでは平均0.8のように1未満もあり得るため、与えられた値をそのまま使うこと。
解法ステップ
- クロック数を秒あたりに直す: 。
- 命令数を求める: 命令/秒 = クロック/秒 ÷ 平均クロック/命令 = 。
- 万単位に換算: 結果を で割って万単位にする()。
- 選択肢と照合して正しいものを選ぶ(エ: 125,000)。
選択肢別の誤答解説
- ア: 125
可能な誤り例: を桁数でさらに(万の逆)で割ってしまい 万(=1,250,000)と誤解した。単位変換ミスが原因です。 - イ: 250
可能な誤り例: GHzを(MHz)と誤認したり、0.8を0.4など誤って半分にした計算ミスによる誤答です。 - ウ: 80,000
可能な誤り例: CPIを1.25と誤認(または1/0.8ではなく0.8/1を使う)して → 万単位で80,000になる誤り。 - エ: 125,000(正解)
正しい計算手順に従えば導かれる唯一の正答です。
補足コラム
- CPI(クロック/命令)が1未満になることは、パイプラインやスーパースカラ実行、命令レベル並列性(ILP)によって「平均して1クロック未満で1命令相当の仕事をする」効果が出るため可能です。設問では単に与えられた平均値を用いて計算すればよく、実機の詳細実装は問われません。
- 問題で「万命令」と単位指定がある場合は最後に必ず で割ること。日本語の試験問題ではこの単位変換で落とす受験者が多いです。
- 計算確認用の簡単なPython例:
clk_per_sec = 1_000_000_000 cpi = 0.8 instr_per_sec = clk_per_sec / cpi instr_per_man = instr_per_sec / 10_000 # 万単位 print(instr_per_man) # 125000.0
FAQ
Q1: CPIが0.8って現実的ですか?
A1: はい。スーパースカラやアウトオブオーダ実行、分岐予測などで平均CPIが1未満になるケースはあります。問題では与えられた値をそのまま使います。
A1: はい。スーパースカラやアウトオブオーダ実行、分岐予測などで平均CPIが1未満になるケースはあります。問題では与えられた値をそのまま使います。
Q2: なぜ「万単位」で答えるのですか?
A2: 出題が「何万命令か」と求めているため、結果を10,000で割って万単位で表現する必要があります。単位の指示は必ず確認してください。
A2: 出題が「何万命令か」と求めているため、結果を10,000で割って万単位で表現する必要があります。単位の指示は必ず確認してください。
Q3: 単位変換で注意すべき点は?
A3: GHz→Hzは、MHz→Hzは。桁数の見落としが最も多いミスです。途中で単位を明確にして計算しましょう。
A3: GHz→Hzは、MHz→Hzは。桁数の見落としが最も多いミスです。途中で単位を明確にして計算しましょう。
関連キーワード: クロック周波数、CPI、IPC、単位変換、GHz→Hz、万単位、命令実行速度、平均クロック/命令

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

