基本情報技術者 2014年 秋期 午前(科目A) 問09
問題文
1GHzのクロックで動作するCPUがある。このCPUは、機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に平均何万命令を実行できるか。
選択肢
ア:125
イ:250
ウ:80,000
エ:125,000(正解)
1GHzのCPUの命令実行数【午前2 解説】
正解の理由
問題は「1秒間に平均何万命令か」を問うています。CPUクロックが1GHz(=1,000,000,000クロック/秒)、1命令当たり平均0.8クロックなので命令/秒は
これは「万命令」単位に直すと
したがって選択肢の中では「エ: 125,000」が正しい表記です。
解法ステップ
- クロック/秒を明確にする:1GHz = 1,000,000,000 クロック/秒。
- CPI(クロック/命令)で割る:命令/秒 = クロック/秒 ÷ CPI。
- 数値を計算する:1,000,000,000 ÷ 0.8 = 1,250,000,000 命令/秒。
- 問題の単位(万命令)に換算:1,250,000,000 ÷ 10,000 = 125,000(万命令)。
- 選択肢と照合して正答を選ぶ。
選択肢別の誤答解説
- ア: 125 — 桁が小さすぎ。恐らく1,000,000,000 ÷ 8 や単位の取り違えによる計算ミス。
- イ: 250 — クロックとCPIを単純に2分の1の誤操作で出した値。例えば1GHzを2GHzと勘違いした可能性。
- ウ: 80,000 — 「0.8」をそのまま掛けてしまった(1,000,000,000 × 0.8 ÷ 10,000 = 80,000)ことによる誤り。CPIは割るべきという基本を忘れたケース。
- エ: 125,000 — 正解。上記の手順で正しく換算した値。
よくある誤解
- クロック数の単位誤認(MHzとGHzの混同)により桁を間違える。
- 「0.8クロック/命令」をそのまま命令数に掛けて誤答する(割るべきところで掛ける)。
- 「万」単位換算を忘れて、そのままの命令/秒を選んでしまう。
補足コラム
CPI(クロック/命令)は平均値で表され、パイプラインや命令種別、キャッシュヒット率などにより実効値が変わります。性能指標としては命令/秒(IPS)よりも実効的に「命令あたりの実行時間(CPI)とクロック周波数」が重要です。また、一般に性能比較では「IPS」ではなく「ベンチマークスコア」を用いることが推奨されます。問題文で単純計算する場合は単位変換に特に注意してください。
FAQ
Q. なぜ0.8クロック/命令で割るのですか?
A. CPIは1命令を実行するのに要する平均クロック数なので、1秒あたりのクロック数をCPIで割ると1秒あたりに処理できる命令数が得られます。
A. CPIは1命令を実行するのに要する平均クロック数なので、1秒あたりのクロック数をCPIで割ると1秒あたりに処理できる命令数が得られます。
Q. 「万」単位の換算が苦手です。簡単な覚え方は?
A. 1万=10^4、百万=10^6、十億=10^9。まずは基本の桁(千=10^3、万=10^4、百万=10^6、10億=10^9)を頭に入れておくと混乱が減ります。
A. 1万=10^4、百万=10^6、十億=10^9。まずは基本の桁(千=10^3、万=10^4、百万=10^6、10億=10^9)を頭に入れておくと混乱が減ります。
Q. 実際のCPUでCPIを0.8にするのは可能ですか?
A. 命令の種類やマイクロアーキテクチャ次第ですが、高度なパイプラインや複数命令同時実行で平均CPIが1未満となることはあります。
A. 命令の種類やマイクロアーキテクチャ次第ですが、高度なパイプラインや複数命令同時実行で平均CPIが1未満となることはあります。
関連キーワード: クロック周波数、CPI、命令/秒、単位換算、性能指標

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

