修了試験 2018-01-28実施分 基本情報技術者試験 問10
パイプラインの深さをD,パイプラインピッチをP秒とすると,I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。 ここで,パイプラインは1本だけとし,全ての命令は処理にDステージ分の時間がかかり,各ステージは1ピッチで処理されるものとする。 また,パイプラインハザードについては,考慮しなくてよい。
正答2
解説
正解は2です。 パイプライン処理で、I個の命令の実行に必要な時間を表す式を選ぶ問題です。 パイプラインでは、前の命令が次のステージへ進むと同時に、次の命令が1ピッチ遅れで処理を始めます。 【計算】 最初の命令は、Dステージを通過するのでD×P秒で完了します。 2個目以降の命令は、前の命令より1ピッチずつ遅れて完了します。 残りの(I-1)個の命令が完了するまでに、さらに(I-1)×P秒かかります。 合計は、D×P+(I-1)×P=(I+D-1)×P秒です。 例えばI=1なら、式はD×Pとなり、1命令がDステージを通る時間と一致します。 【選択肢別解説】 1:× (I+D)×Pは、正しい時間より1ピッチ分多くなります。 I=1のとき(1+D)×Pとなり、1命令の処理時間D×Pと合いません。 2:○ 最初の命令のD×Pと、残りの(I-1)個の命令の(I-1)×Pを足した式です。 3:× (I×D)+Pは、ピッチ数にピッチ時間Pを掛けずに足しており、時間を表す式になっていません。 命令の処理が重なることも考慮されていません。 4:× (I×D-1)+Pも、ピッチ数にPを足している点と、命令の処理の重なりを考慮していない点が誤りです。 【ポイント】 パイプラインの処理時間は、最初の命令が通り抜ける時間と、残りの命令数×ピッチの合計で求めます。 パイプラインを使わずに逐次処理するとI×D×P秒かかるので、大幅に短縮されることが分かります。まとめて解く
修了試験 2018-01-28実施分を通しで解く(80問)→