令和5年度 春期 応用情報技術者試験 午前 問9

テクノロジハードウェア

この問題は2023(R5)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

全ての命令が5ステージで完了するように設計された,パイプライン制御のCPUがある。20命令を実行するには何サイクル必要となるか。ここで,全ての命令は途中で停止することなく実行でき,パイプラインの各ステージは1サイクルで動作を完了するものとする。

解答・解説を読む

正解: 選択肢

パイプライン制御における実行サイクル数は、パイプラインの深さ(ステージ数)実行する命令数から算出できます。

正解の根拠

パイプライン処理では、最初の1命令を処理し終えるのにステージ数分のサイクルが必要ですが、それ以降の命令は1サイクルごとに次々と完了します。
これを計算式で表すと以下のようになります。

  • 必要サイクル数 = パイプラインのステージ数 + 命令数 - 1

本設問では、ステージ数が5、命令数が20であるため、以下のように計算できます。
5+201=245 + 20 - 1 = 24

別の考え方として、「最初の1命令を実行するのに5サイクルかかり、残りの19命令は1サイクルごとに完了する」と捉えると、5+19=245 + 19 = 24と導き出すこともできます。
したがって、24サイクルとなる「ウ」が正解です。

各選択肢の解説

  • : 命令数そのままの数値です。パイプラインのステージを満たすための初期サイクル(レイテンシ)を考慮していません。
  • : 誤った計算式による導出です。
  • : 正解です。
  • : ステージ数と命令数を単純に足し合わせた数値(5+20=255 + 20 = 25)であり、「-1」を忘れた誤った計算です。