SAシステムアーキテクト試験 午前Ⅱ

平成29年度秋期 システムアーキテクト 午前Ⅱ 問18

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

表のCPIと構成比率で,3種類の演算命令が合計1、000、000命令実行されるプログラムを,クロック周波数が1GHzのプロセッサで実行するのに必要な時間は何ミリ秒か。
浮動小数点加算・乗算・整数演算について,CPIが3・5・2,構成比率が20%・20%・60%であることを示す表。
浮動小数点加算・乗算・整数演算について,CPIが3・5・2,構成比率が20%・20%・60%であることを示す表。

選択肢

  1. ア
    0.4
  2. イ
    2.8
  3. ウ
    4.0
  4. エ
    28.0
解き方のヒントを見る

与えられた量の単位と意味をそろえる

処理時間を求める問題では、提示された各数値がどの単位で何を表しているかを最初に整理することが重要です。単位や基準が揃っていないまま計算を進めると、桁や倍率の取り違えが起こりやすくなります。

この問題で問われていること

確認すべき観点は一つ、各数値の単位と基準です。与えられた量がそれぞれ何を1単位とした値なのかを意識し、最終的に求める時間の単位と対応づけられるかを自分で点検してください。

視点

処理に関わる量は、「1回あたり」「1秒あたり」「全体に占める割合」など、基準の異なる形で与えられることがあります。基準が異なる量を扱うときは、それぞれが何に対する値かをまず書き出してください。単位の接頭辞(ミリ・マイクロ・ナノ、メガ・ギガなど)も含めて表記を統一してから考えると、途中での混乱を防げます。

確認ポイント

  • 各数値が何を1単位とした量かを書き出したか
  • 接頭辞を含めて単位の表記を統一したか
  • 求める答えの単位と途中で扱う量の単位が対応しているか
正解と解説を見る

正解

イ

解説

3種類の命令についてCPIと構成比率から平均CPIを求めると2.8になります。したがって総サイクル数は2、800、000サイクルで、1GHzのプロセッサでは実行時間は2.8ミリ秒です。

理由

平均CPIは、3×20%+5×20%+2×60%=2.8サイクル/命令です。したがって総サイクル数は、2.8サイクル/命令×1、000、000命令=2、800、000サイクルになります。1GHzは1秒当たり1、000、000、000サイクルなので、2、800、000サイクル÷1、000、000、000サイクル/秒=0.0028秒=2.8ミリ秒です。

比較

構成比率を無視して単一のCPIだけを使ったり、クロック周波数を時間へ換算する際の単位を誤ったりすると、異なる値になります。この問題では、3種類すべてのCPIと構成比率を反映した平均CPIを使い、1GHzとの対応を保って計算する必要があります。

選択肢ア

これは不正解だよ。0.4ミリ秒は、公式のCPIと構成比率から得られる平均CPI 2.8サイクル/命令、総命令数1,000,000命令、クロック周波数1GHzをすべて反映した実行時間と一致しない。必要な総サイクル数は2,800,000サイクルである。

選択肢イ(正解)

これは正解だよ。平均CPIは3×0.20+5×0.20+2×0.60=2.8サイクル/命令。総サイクル数は2,800,000サイクルで、1GHzでは2,800,000÷1,000,000,000秒=0.0028秒=2.8ミリ秒となる。

選択肢ウ

これは不正解だよ。4.0ミリ秒は、表のCPI 3、5、2と構成比率20%、20%、60%から求める実行時間ではない。公式条件からの平均CPIは2.8サイクル/命令であり、1GHzで1,000,000命令を実行すると2.8ミリ秒になる。

選択肢エ

これは不正解だよ。28.0ミリ秒は、公式条件で計算される2,800,000サイクルを1GHzで実行した時間より10倍大きい。1GHzは1秒当たり1,000,000,000サイクルなので、単位を正しく換算すると0.0028秒、すなわち2.8ミリ秒である。

学習のポイント

加重平均CPI、総サイクル数、クロック周波数と時間単位の換算を確認する。

出典:独立行政法人 情報処理推進機構(IPA)平成29年度秋期 システムアーキテクト試験 午前Ⅱ 問18(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針