修了試験 2012-12-16実施分 基本情報技術者試験 問11
CPUのパイプライン処理を有効に機能させるプログラミング方法はどれか。
正答3
解説
正解は3です。 パイプライン処理は、命令の取出し、解読、実行などの段階を少しずつずらして並行に処理する方式です。 分岐命令で次に実行する命令が変わると、先読みしていた命令が無駄になり、パイプラインが乱れます。 これを制御ハザード(分岐ハザード)といいます。 【選択肢別解説】 1:× CASE文は条件に応じた分岐命令になります。 CASE文を多くすると分岐が増え、パイプラインが乱れやすくなります。 2:× 関数が多いと、呼出しと復帰の分岐が増えます。 パイプラインを有効に機能させる方向とは逆です。 3:○ 分岐命令を少なくすれば、先読みした命令が無駄になる回数が減ります。 パイプラインが乱れにくくなり、効果を発揮しやすくなります。 4:× メモリアクセスを減らすこと自体は処理時間の短縮に役立つ場合があります。 しかし、パイプラインを乱す主な原因である分岐への対策ではないため、最も適切な方法とはいえません。 【ポイント】 パイプラインを乱す要因(ハザード)には、分岐による制御ハザード、データの依存によるデータハザード、資源の競合による構造ハザードがあります。 分岐予測や遅延分岐は、制御ハザードを和らげる技術です。まとめて解く
修了試験 2012-12-16実施分を通しで解く(80問)→