令和5年度 秋期 午前Ⅱ 問3
プロセッサ
パイプラインに関する問題
パイプラインの深さを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ピッチ、残りI-1個に1ピッチずつ掛かります。
パイプラインでは、命令が1ピッチごとに1ステージずつ進み、後ろの命令が1ピッチ遅れで続きます。最初の命令は深さDの全ステージを通り抜けるのにDピッチ掛かります。その後は、ステージが埋まった状態で1ピッチごとに1命令ずつ完了していくので、残りのI-1個の命令はそれぞれ1ピッチずつ追加で掛かります。合計は D+(I-1)=I+D-1 ピッチで、1ピッチがP秒なので(I+D-1)×P秒です。たとえば D=5、I=1 なら5ピッチになり、最初の命令が全ステージを通る時間と一致します。命令数を1にして式に代入し、Dピッチになるかを確かめると、式の選択肢を素早く絞り込めます。
ほかの選択肢はなぜ違うのか
- ア(I+D)×P:(I+D)×P は正しい式より1ピッチ長くなります。I=1を代入すると D+1 ピッチとなり、1個の命令がDステージを通り抜けるのに必要なDピッチより1ピッチ多いことから、数え過ぎだと分かります。
- ウ(I×D)+P:I×D はパイプラインを使わず1命令ずつ全ステージを通した場合のピッチ数で、重なりの効果が入っていません。さらにピッチ数に秒数のPを足しており、時間の式として単位がそろっていません。
- エ(I×D-1)+P:I×D-1 も命令を重ねずに数えたピッチ数に近い形で、パイプラインの重なりを表していません。ピッチ数にPを掛けずに足しているので、時間を表す式としても成り立っていません。
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問3
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)