ネットワークスペシャリスト 2021年 午前2 問22
問題文
表のCPIと構成比率で,3種類の演算命令が合計1,000,000命令実行されるプログラムを、クロック周波数が1GHzのプロセッサで実行するのに必要な時間は何ミリ秒か。

選択肢
ア:0.4
イ:2.8(正解)
ウ:4.0
エ:28.0
演算命令のCPIと構成比率から実行時間を求める問題【午前2 解説】
要点まとめ
- 結論:実行時間は命令数×平均CPI÷クロック周波数で求め、今回の計算で2.8ミリ秒となります。
- 根拠:各命令のCPIに構成比率を掛けて平均CPIを算出し、命令数とクロック周波数から時間を計算します。
- 差がつくポイント:平均CPIの計算ミスや単位変換(秒→ミリ秒)を正確に行うことが重要です。
正解の理由
選択肢イ(2.8ミリ秒)が正解です。
理由は、まず各命令のCPIと構成比率から平均CPIを計算します。
平均CPI = 3×0.2 + 5×0.2 + 2×0.6 = 0.6 + 1.0 + 1.2 = 2.8
次に、命令数1,000,000命令を平均CPI 2.8で実行すると、総クロック数は2,800,000クロック。
クロック周波数1GHz(=10^9 Hz)なので、実行時間は
よって、選択肢イが正しいです。
理由は、まず各命令のCPIと構成比率から平均CPIを計算します。
平均CPI = 3×0.2 + 5×0.2 + 2×0.6 = 0.6 + 1.0 + 1.2 = 2.8
次に、命令数1,000,000命令を平均CPI 2.8で実行すると、総クロック数は2,800,000クロック。
クロック周波数1GHz(=10^9 Hz)なので、実行時間は
よって、選択肢イが正しいです。
よくある誤解
平均CPIの計算で構成比率をパーセントのまま使い、0.2や0.6に直さず計算する誤りが多いです。
また、秒からミリ秒への単位変換を忘れてしまうことも注意が必要です。
また、秒からミリ秒への単位変換を忘れてしまうことも注意が必要です。
解法ステップ
- 各命令のCPIに構成比率(%を小数に変換)を掛ける。
- それらを合計して平均CPIを求める。
- 総命令数に平均CPIを掛けて総クロック数を算出する。
- 総クロック数をクロック周波数で割り、実行時間(秒)を求める。
- 秒をミリ秒に変換して答えを出す。
選択肢別の誤答解説
- ア(0.4):平均CPIの計算ミスや構成比率を誤って扱い、非常に小さい値になっています。
- イ(2.8):正解。正しく平均CPIと時間を計算しています。
- ウ(4.0):平均CPIの計算で整数演算の比率を誤った可能性があります。
- エ(28.0):単位変換ミスで秒をミリ秒に変換せず、そのまま大きな値を選んだ誤りです。
補足コラム
CPI(Cycles Per Instruction)は命令1つあたりの平均クロック数を示し、プログラムの性能評価に重要です。
構成比率は命令の実行割合を示し、平均CPIの計算に必須です。
クロック周波数が高いほど1秒間に処理できるクロック数が多く、実行時間は短くなります。
構成比率は命令の実行割合を示し、平均CPIの計算に必須です。
クロック周波数が高いほど1秒間に処理できるクロック数が多く、実行時間は短くなります。
FAQ
Q: CPIの平均を求める際、構成比率はパーセントのままで良いですか?
A: いいえ、パーセントは100で割って小数に直してから計算してください。
A: いいえ、パーセントは100で割って小数に直してから計算してください。
Q: 実行時間の単位はどうやって変換しますか?
A: 秒からミリ秒へは1000倍します。例えば0.0028秒は2.8ミリ秒です。
A: 秒からミリ秒へは1000倍します。例えば0.0028秒は2.8ミリ秒です。
関連キーワード: CPI, クロック周波数、実行時間計算、平均CPI, 命令構成比率、性能評価

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

