SC Workbook
科目 A-1 · コンピュータシステム

パイプラインの実行サイクル

5 段のパイプラインをもつ CPU で,各ステージはそれぞれ 1 サイクルで処理される。ハザードによるパイプラインの停止が発生しないものとすると,20 個の命令をすべて実行し終えるまでに必要なサイクル数はどれか。

  1. ア20
  2. イ24
  3. ウ25
  4. エ100
正解と解説を見る

正解 イ

この問題の基礎知識

  • パイプラインは,命令の処理を命令フェッチ,解読,実行などの複数のステージに分け,異なる命令の異なるステージを並行して処理する方式である。
  • k 段のパイプラインで各ステージを 1 サイクルで処理し,ハザードがない場合,最初の命令は k サイクル目に完了し,以降は 1 サイクルごとに 1 命令ずつ完了する。よって n 命令では k+(n−1)サイクルを要する。
  • ハザードは,資源の競合,命令間のデータの依存関係,分岐命令などによってパイプラインの流れが乱れ,処理が停止したり無駄になったりする現象である。
ア20

1 命令が 1 サイクルで完了するとみなした誤りである。最初の命令が完了するまでにステージ数分の 5 サイクルが必要であり,その分を考慮していない。

イ24正解

最初の命令は 5 サイクル目に完了し,以降はパイプラインにより 1 サイクルごとに 1 命令ずつ完了する。よって 5+(20−1)=24 サイクルとなる。

ウ25

最初の命令の 5 サイクルに,20 命令分の 20 サイクルを加えた誤りである。最初の命令の完了サイクルを二重に数えており,正しくは 5+(20−1)=24 サイクルである。

エ100

パイプライン処理を行わず,1 命令ずつ 5 サイクルかけて逐次実行した場合のサイクル数(5×20)である。パイプラインでは各ステージが並行して動作する。

検証用の出典出典照合済み
IPA 応用情報技術者試験(レベル 4)シラバス
照合の根拠(1 件)

検算: 問題文の条件(5 段,各 1 サイクル,停止なし)から,1 命令目は 5 サイクル目に完了し以後 1 サイクルに 1 命令完了するので 5+(20−1)=24。逐次なら 5×20=100,25 は 5+20 の二重計上,20 は充填時間の無視。条件が問題文で定義されている数え上げなので出典不要。

問題 ID A1-CMP-0505 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-07

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。