過去問解きまくり研究所 ホーム

平成23年度 特別 午前 問10

コンピュータ構成要素

パイプラインに関する問題

パイプラインの深さを D,パイプラインピッチを P 秒とすると,I 個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで,パイプラインの各ステージは 1 ピッチで処理されるものとし,パイプラインハザードについては,考慮しなくてよい。

答えと解説を見る

✓ これが正解イ(I + D - 1)×P

解説

重なりを二重に数えないので命令数と深さの和から1を引きます。

式を暗記していなくても、小さい数で表を描けばその場で作り直せます。パイプラインは、一つの命令をいくつかの段に分け、前の命令が次の段へ進んだら空いた段に後続を入れていく仕組みです。設問はパイプラインハザードを考えなくてよいと断っていますので、段が詰まる場面は考えずに、きれいに一つずつずれて流れる姿を描けば足ります。深さを3、命令を4個として、横にピッチを並べ、縦に命令を並べてみます。最初の命令は一番目から三番目のピッチを使います。二番目の命令は一つ遅れて始まり、二番目から四番目を使います。同じように一つずつずらしていくと、四番目の命令は四番目から六番目のピッチを使い、そこで全部が終わります。かかったピッチは6です。命令数と深さを足すと7になりますから、そのままでは一つ多く、1を引いた値が実際と一致します。所要時間は、このピッチ数にピッチ一つ分の秒数を掛けたものですから、正解の式はここから決まります。なぜ1を引くのかも表から読めます。最初の一つが仕上がるまでには深さのぶんだけピッチが必要ですが、そのあとは一ピッチごとに次々と仕上がっていきますので、残りの命令には命令数から1を引いた数のピッチしか必要ありません。この二つを足すと、命令数と深さの和から1を引いた形になります。最初の命令が使うピッチと、二番目以降が始まるピッチが一つ分だけ重なっているので、その重なりを二重に数えないための1です。単位で見分ける手も使えます。求めているのは時間ですから、全体がピッチ数とピッチ一つ分の秒数の積の形になっていなければなりません。

ほかの選択肢はなぜ違うのか

出典:平成23年度 特別 応用情報技術者試験 午前 問10

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)