平成25年度 秋期 午前Ⅱ 問22
コンピュータ構成要素
パイプラインに関する問題
パイプラインの深さをD,パイプラインピッチをP秒とすると,I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで,パイプラインは1本だけとし,全ての命令は処理にDステージ分の時間がかかり,各ステージは1ピッチで処理されるものとする。また,パイプラインハザードについては,考慮しなくてよい。
- ア(I+D)×P
- イ(I+D−1)×P
- ウ(I×D)+P
- エ(I×D−1)+P
答えと解説を見る
✓ これが正解イ(I+D−1)×P
解説
最初の命令にDピッチ、残りに1ピッチずつで(I+D−1)×Pです。
パイプラインでは、命令が1ピッチずつずれて次々にステージへ入ります。最初の命令は、D個のステージを通り抜けるのにDピッチかかります。そのあとは、後続の命令が1ピッチごとに一つずつ完了していくので、残りのI−1個の命令にはI−1ピッチかかります。合計はD+(I−1)=I+D−1ピッチで、1ピッチがP秒なので、全体の時間は(I+D−1)×P秒です。たとえばD=5、I=3なら5+2=7ピッチで、パイプラインの図を描いても7ピッチ目に3個目の命令が終わることが確かめられます。最初の1個が出てくるまでの時間と、その後の1個ずつの時間を分けて足す、と考えるのがパイプラインの時間計算の基本です。
ほかの選択肢はなぜ違うのか
- ア(I+D)×P:(I+D)×Pは、最初の命令が完了するまでのDピッチに、さらにI個分のピッチを足した形です。最初の命令の分を残りの命令の側でも数えているため、ちょうど1ピッチ多い値になります。
- ウ(I×D)+P:I×Dは、命令を1個ずつ順番に最後まで実行する、パイプラインを使わない場合のピッチ数です。そこにPを掛けずに足しているので、ピッチ数と秒数を混ぜた式になっており、時間を表しません。
- エ(I×D−1)+P:I×D−1も、パイプラインの重なりを考えない数え方から1を引いただけの値です。さらにPを掛けずに足しているので、ピッチ数と秒数という単位の違うものを足し合わせた式になっています。
出典:平成25年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問22
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)