平成28年度秋期 応用情報技術者試験 午前 問8
全ての命令が5ステージで完了するように設計された,パイプライン制御のコンピュータがある。20命令を実行するには何サイクル必要となるか。ここで,全ての命令は途中で停止することなく実行でき,パイプラインの各ステージは1サイクルで動作を完了するものとする。
- ア 20
- イ 21
- ウ 24
- エ 25
解答・解説を見る
正解:ウ
AI解説
パイプライン制御でn命令をkステージで実行するのに必要なサイクル数は、(k+n−1)サイクルである。最初の命令が完了するまでにkサイクルかかり、以降は1サイクルごとに1命令ずつ完了するためである。本問ではk=5、n=20なので、5+(20−1)=24サイクルとなる。 ア: 20は1命令1サイクルで完了すると誤解した値で、最初の命令のパイプライン充填時間が考慮されていない。 イ: 21は計算誤り(例えば20+1)であり、公式k+n−1に当てはまらない。 ウ: 正しい。5+(20−1)=24サイクル。1命令目に5サイクル、残り19命令は1サイクルずつ完了する。 エ: 25はk+nと計算した誤りで、n−1とすべきところをnとしている。 💡 パイプラインの公式「k+(n−1)」は頻出。『最初の1命令はフルにkサイクル、あとは毎サイクル1命令ずつ出てくる』とイメージで覚えれば式を忘れても導出できる。
出典:平成28年度 秋期 応用情報技術者試験 午前 問8 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。