修了試験 2017-12-10実施分 基本情報技術者試験 問10
CPUのパイプライン処理を有効に機能させるプログラミング方法はどれか。 ここで,CPUは命令の読込みとデータのアクセスを分離したアーキテクチャとする。
正答3
解説
正解は3です。 パイプライン処理は、命令の取出し、解読、実行などの段階を少しずつずらして並行に進め、処理を速くする方式です。 分岐命令で処理の流れが変わると、先に取り込んでいた命令が無駄になり、パイプラインが乱れます。 この乱れを分岐ハザード(制御ハザード)といいます。 【選択肢別解説】 1:× CASE文は複数の分岐をもつので、増やすと分岐命令が増えます。 パイプラインの乱れが増え、逆効果です。 2:× 関数の個数を増やすと、呼出しと戻りの分岐が増えます。 これもパイプラインの乱れの原因になります。 3:○ 分岐命令を少なくすると、先読みした命令を捨てる場面が減ります。 パイプラインが止まりにくくなり、有効に機能します。 4:× 問題文のCPUは命令の読込みとデータのアクセスを分離しています。 そのため、命令の取出しとデータのアクセスが競合しにくく、メモリアクセス命令を減らすことは主な対策になりません。 【ポイント】 パイプラインを乱す要因には、分岐による制御ハザード、資源の競合による構造ハザード、データの依存関係によるデータハザードがあります。 命令とデータの経路を分ける構成はハーバードアーキテクチャと呼ばれ、構造ハザードを減らします。まとめて解く
修了試験 2017-12-10実施分を通しで解く(80問)→