エンベデッドシステムスペシャリスト 2025年 午前2 問01
問題文
パイプラインの深さをD、パイプラインピッチをP秒とすると、I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで、パイプラインは1本だけとし、全ての命令は処理にDステージ分の時間が掛かり、各ステージは1ピッチで処理されるものとする。また、パイプラインハザードについては、考慮しなくてよい。
選択肢
ア:
イ:(正解)
ウ:
エ:
🔒 解説は解答すると表示されます
パイプライン実行時間【午前2解説】
正解の理由
パイプラインの深さが なので、最初の命令が完了するまでに ピッチかかります。その後は、パイプラインが満たされるため、命令は1ピッチごとに1つずつ完了します。
したがって、残りの 個の命令にかかる時間は です。合計時間は次のとおりです。
よって、該当するのは イ です。
解法ステップ
- パイプラインが空の状態から開始すると考えます。
- 最初の命令が ステージを通過するのに、 ピッチかかります。
- 2個目以降の命令は、1ピッチごとに1つずつ処理を終えます。残りの命令数は 個です。
- 合計のピッチ数は です。これに1ピッチの時間 を掛けると、 になります。
選択肢別の誤答解説
-
ア:
最初の命令が完了するまでの ピッチに、後続の 個分のピッチを加えています。しかし、最初の命令はすでに最初の ピッチの中で完了するため、1ピッチ分多く数えています。 -
イ:
最初の命令の完了までに ピッチ、残りの 個の完了までに ピッチかかるため、適切です。 -
ウ:
命令数とステージ数を掛けており、各命令をパイプラインを使わずに順次処理するような数え方になっています。また、 はピッチ数、 は時間なので、そのまま加算すると単位も一致しません。 -
エ:
ウと同様に、パイプライン処理で命令が重なって進むことを考慮できていません。また、ピッチ数と時間を適切に換算できていない式です。
よくある誤解
-
命令ごとに ピッチかかると考える
パイプラインでは複数の命令が異なるステージで同時に処理されます。命令数とステージ数を単純に掛けるのではありません。 -
最初の命令の完了に ピッチかかると考える
最初の命令は、ステージをすべて通過して完了するまでに ピッチ必要です。 -
最後の命令までに ピッチ分を追加する
最初の命令の完了後に必要なのは、残りの 個分です。ここを 個分とすると、1ピッチ多くなります。
補足コラム
この式は、パイプラインハザードがなく、各ステージが毎ピッチ処理できるという前提で成り立ちます。たとえば、パイプラインの深さが4、命令数が6であれば、必要なピッチ数は ピッチです。命令が1つ増えるごとに、実行時間は原則として1ピッチずつ増えます。
FAQ
Q. パイプラインの深さ は、実行時間にどう影響しますか?
A. 最初の命令が完了するまでの時間に影響します。パイプラインが満たされた後は、命令が1ピッチごとに完了します。
A. 最初の命令が完了するまでの時間に影響します。パイプラインが満たされた後は、命令が1ピッチごとに完了します。
Q. 命令数 が1個の場合、式はどうなりますか?
A. となり、1つの命令が ステージを通過する時間と一致します。
A. となり、1つの命令が ステージを通過する時間と一致します。
Q. ハザードがある場合も同じ式ですか?
A. いいえ。停止や待ち時間が発生する場合は、その分の時間を追加して考える必要があります。
A. いいえ。停止や待ち時間が発生する場合は、その分の時間を追加して考える必要があります。
関連キーワード: パイプライン処理、パイプライン深さ、パイプラインピッチ、命令実行時間、パイプラインハザード

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

