応用情報技術者 2009年 秋期 午前2 問09
問題文
パイプラインの深さを D, パイプラインピッチを P 秒とすると、I 個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで、パイプラインの各ステージは 1 ピッチで処理されるものとし、パイプラインハザードについては、考慮しなくてよい。
選択肢
ア:(I+D)×P
イ:(I+D-1)×P(正解)
ウ:(I×D)+P
エ:(I×D-1)+P
パイプラインの深さと実行時間の関係【午前2 解説】
要点まとめ
- 結論:パイプラインで I 個の命令を処理する時間は、(I + D - 1) × P 秒で表されます。
- 根拠:最初の命令がパイプラインを完全に通過するのに D ピッチかかり、その後は各命令が 1 ピッチずつ追加されるためです。
- 差がつくポイント:パイプラインの初期充填時間(D - 1 ピッチ)を正しく理解し、単純に I × P や (I + D) × P としないことが重要です。
正解の理由
パイプラインの深さ D は、命令が全ステージを通過するのに必要なステージ数を示します。
1 命令目は D ピッチかかりますが、2 命令目以降はパイプラインの各ステージで同時に処理されるため、追加でかかる時間は命令数 I に対して (I - 1) ピッチ分です。
したがって、合計時間は となり、選択肢イが正解です。
1 命令目は D ピッチかかりますが、2 命令目以降はパイプラインの各ステージで同時に処理されるため、追加でかかる時間は命令数 I に対して (I - 1) ピッチ分です。
したがって、合計時間は となり、選択肢イが正解です。
よくある誤解
パイプラインの初期充填時間を無視して単純に と考えたり、初期充填時間を ではなく と誤認することがあります。
また、パイプラインハザードを考慮しない問題であることを忘れ、余計な遅延を想定する誤りも多いです。
また、パイプラインハザードを考慮しない問題であることを忘れ、余計な遅延を想定する誤りも多いです。
解法ステップ
- パイプラインの深さ D が、命令が通過するステージ数であることを確認する。
- 1 命令目がパイプラインを通過するのに D ピッチかかることを理解する。
- 2 命令目以降はパイプラインの各ステージで同時処理されるため、追加でかかる時間は (I - 1) ピッチであることを把握する。
- 合計時間は で表されることを導く。
- 選択肢の中からこれに該当するものを選ぶ。
選択肢別の誤答解説
- ア:
→ 初期充填時間を としているが、実際は ピッチ分の遅延であるため過大評価。 - イ:
→ 正解。パイプラインの初期充填時間と命令数に基づく正しい式。 - ウ:
→ 命令数と深さを掛け合わせているが、パイプラインの並列処理を考慮していない。 - エ:
→ ウと同様に誤った掛け算をしており、さらに と の位置関係も不適切。
補足コラム
パイプライン処理は命令の並列実行を可能にし、スループットを向上させます。
パイプラインの深さが増えるほど初期充填時間は長くなりますが、命令の完了間隔(スループット)はピッチ に近づきます。
ハザード(データ依存や制御依存)がある場合は、追加の遅延が発生しますが、本問題では考慮不要です。
パイプラインの深さが増えるほど初期充填時間は長くなりますが、命令の完了間隔(スループット)はピッチ に近づきます。
ハザード(データ依存や制御依存)がある場合は、追加の遅延が発生しますが、本問題では考慮不要です。
FAQ
Q: なぜ初期充填時間は ピッチなのですか?
A: 最初の命令がパイプラインの最初のステージに入るのは 1 ピッチ目で、最後のステージを通過するまでに ピッチの遅れが生じるためです。
A: 最初の命令がパイプラインの最初のステージに入るのは 1 ピッチ目で、最後のステージを通過するまでに ピッチの遅れが生じるためです。
Q: パイプラインハザードがある場合、時間計算はどう変わりますか?
A: ハザードによるストールやバブルが発生し、追加の遅延が生じるため、単純な では表せません。
A: ハザードによるストールやバブルが発生し、追加の遅延が生じるため、単純な では表せません。
関連キーワード: パイプライン、パイプライン深さ、パイプラインピッチ、命令実行時間、ハザード、並列処理

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

