基本情報技術者 2014年 秋期 午前(科目A) 問09
問題文
1GHzのクロックで動作するCPUがある。このCPUは、機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に平均何万命令を実行できるか。
選択肢
ア:125
イ:250
ウ:80,000
エ:125,000(正解)
🔒 解説は解答すると表示されます
命令実行数の計算【午前解説】
正解の理由
このCPUはクロック周波数が1GHz( サイクル/秒)で、命令あたり平均クロック(CPI)です。1秒あたりに実行できる命令数は「1秒間のサイクル数 ÷ CPI」で求められます。したがって
これを「万命令」単位に直すには で割ります:
よって選択肢の中では エ の125,000が正しい値です。
解法ステップ
- クロック数を秒あたりのサイクル数に直す:1GHz = サイクル/秒。
- 命令数/秒を求める:サイクル数 ÷ CPI
- 問題の単位(万命令)に変換するため で割る:
(万命令)。
(式で示すと)
ここに を代入しています。
選択肢別の誤答解説
-
ア: 125
誤りの典型例は「G(ギガ)をM(メガ)と誤認する」ことです。例えば1GHzをサイクル/秒(=1MHz)と誤って扱うと、
となり、選択肢アの125が得られます。つまり桁(単位)を1000倍小さく見積もるミスです。 -
イ: 250
こちらは「桁の取り違え(GHz→MHz)とCPIの値の取り違いを組み合わせた誤り」で説明できます。例えば1GHzを誤ってとして、さらにCPIを誤って(本来の半分)とすると、
のようになり、イが出ます。要するに桁(単位)誤認と数値の取り違えの複合ミスです。 -
ウ: 80,000
この誤答は演算の方向を逆にした典型です。CPI(命令あたりのクロック数)を「命令あたりのクロック」ではなく「命令/サイクル」のように扱い、乗算してしまうと、
となります。正しくは「割る(÷)」べきところを「掛ける(×)」してしまったミスです。
よくある誤解
- 単位の桁(G/M/k)の混同:GHzのGは10^9なので、MHz(10^6)やkHz(10^3)と取り違えると答えが桁違いになります。
- CPIの意味の取り違え:CPIは「1命令当たりのクロック数(平均)」なので、命令数 = クロック数 ÷ CPI。逆に扱うミスが多いです。
- 出力単位の確認不足:問題文の単位が「万命令」か「命令/秒」かで最後に10^4倍/除算が必要になります。単位換算を忘れやすいので注意。
補足コラム
- 性能指標としてよく使われるMIPSやGIPSは「命令数/秒」を表す単位で、CPIとクロック周波数から求められます。一般式は
MIPSにするにはさらに で割るなど単位変換が必要です。設問で「万命令」と指定されている場合は で割ることを忘れないでください。
FAQ
Q. CPIが1未満(例:0.8)でも意味はあるのですか?
A. あります。パイプラインや複数命令同時実行などにより、平均で1命令未満のクロックで完了することは理論的にも実現可能です。CPIは平均値で評価します。
A. あります。パイプラインや複数命令同時実行などにより、平均で1命令未満のクロックで完了することは理論的にも実現可能です。CPIは平均値で評価します。
Q. 周波数がGHzのとき、数値表記での注意点は?
A. 1000の単位を間違えやすいので、GHz=10^9、MHz=10^6、kHz=10^3 を頭に入れて計算してください。
A. 1000の単位を間違えやすいので、GHz=10^9、MHz=10^6、kHz=10^3 を頭に入れて計算してください。
Q. 「万命令」のような単位表記はどう扱う?
A. 指定された出力単位に合わせて最後に割る/掛けるだけです。今回のように答えを万単位で示すなら、命令数/秒を で割ります。
A. 指定された出力単位に合わせて最後に割る/掛けるだけです。今回のように答えを万単位で示すなら、命令数/秒を で割ります。
関連キーワード: CPI、クロック周波数、性能計算、単位換算、MIPS

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

