SAシステムアーキテクト試験 午前Ⅱ
令和3年度春期 システムアーキテクト 午前Ⅱ 問21
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア(I + D) × P
- イ(I + D - 1) × P
- ウ(I × D) + P
- エ(I × D - 1) + P
解き方のヒントを見る
処理順を整理するための視点
パイプラインを検討するときは、各段階の役割を個別に捉え、処理の前後関係と同時に扱える範囲を整理して、全体の流れと判断の根拠を落ち着いて確認しましょう。
この問題で問われていること
一つの観点として、段階どうしの依存関係に注目してください。ある処理の結果が次の処理の前提になるかを見極め、順序を考える材料を整理し、個別の知識だけで決めずに検討してください。
視点
各段階を独立した役割として書き出し、入力・出力・前提条件のつながりを比べます。全体を一度に判断せず、隣接する段階の関係から流れを確認すると整理しやすくなります。
確認ポイント
- 各段階の結果が、後続の段階を始める前提になっているかを確認する。
- 段階間のつながりを、処理の目的と受け渡される情報に分けて整理する。
- 全体の順序を決める前に、前後関係が必要な箇所だけを見分ける。
正解と解説を見る
正解
イ
解説
パイプラインの深さがDステージ、ピッチがP秒なら、最初の命令の完了までにDピッチ、その後は命令ごとに1ピッチずつ進む。したがってI個目までの所要時間は(D+I-1)P秒です。
理由
最初の命令はD個のステージを通過するため、完了までD×P秒かかる。その後、パイプラインハザードがないので、命令は1ピッチ、すなわちP秒ごとに完了する。残りのI-1個の命令には(I-1)×P秒が必要です。よって、合計はD×P+(I-1)×P=(I+D-1)×P秒となる。
比較
この問題では、各命令をDステージ分ずつ順番に処理するのではなく、ステージを重ねて利用する。したがって、命令数Iとステージ数Dをそのまま掛け合わせる式や、時間の単位がそろっていない式は、パイプラインの完了間隔を正しく表していない。
選択肢ア
これは不正解だよ。Dステージを通過する初回の完了までと、その後の命令が1ピッチずつ完了する部分を合わせると、必要なピッチ数はD+I-1になる。この式はD+Iとしており、最後の命令までの間隔を1回分多く数えている。
選択肢イ(正解)
これは正解だよ。最初の命令が完了するまでにDピッチ、その後のI-1個の命令はそれぞれ1ピッチ間隔で完了する。したがって必要な時間は、(D+I-1)ピッチに相当する(I+D-1)×P秒となる。
選択肢ウ
これは不正解だよ。I×Dは、パイプラインの重なりを考えず、全命令がDステージを順番に処理する場合の段階数に近い表し方である。また、そこへPを加えており、ステージ数を表す無次元量と秒を足しているため、時間の単位も整合しない。
選択肢エ
これは不正解だよ。I×D-1という部分は、命令数とステージ数を単純に掛けた値を基にしており、パイプラインで後続命令が1ピッチごとに完了する関係を表していない。さらに、その値にPを加えるだけで、全体をP秒単位に換算していない。
学習のポイント
初回の処理完了時間と後続命令の処理間隔を区別する。
出典:独立行政法人 情報処理推進機構(IPA)令和3年度春期 システムアーキテクト試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針