平成27年度 秋期 応用情報技術者試験 午前 問8
CPUのパイプライン処理を有効に機能させるプログラミング方法はどれか。ここで,CPUは命令の読込みとデータのアクセスを分離したアーキテクチャとする。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ウ
パイプライン処理は,命令の読込み・解読・実行などの段階を少しずつずらして並行に進める方式です。分岐命令で処理の流れが変わると,先読みしていた後続命令が無駄になり,パイプラインが乱れて(分岐ハザード)性能が落ちます。
-
ア: CASE文を多くする。
誤り。CASE文は多方向の分岐命令になるため,分岐ハザードが増えて逆効果です。 -
イ: 関数の個数をできるだけ多くする。
誤り。関数の呼出しと復帰も分岐を伴うため,パイプラインを乱す要因が増えます。 -
ウ: 分岐命令を少なくする。
正しい。分岐命令が少なければ先読みした命令が無駄になりにくく,パイプラインが有効に機能します。 -
エ: メモリアクセス命令を少なくする。
誤り。問題文のとおり,命令の読込みとデータのアクセスを分離したアーキテクチャ(ハーバードアーキテクチャ)では,命令の読込みとデータアクセスが競合しないため,メモリアクセス命令を減らすことはパイプラインを有効にする決め手になりません。
答え
ウ: 分岐命令を少なくする。
出典:平成27年度 秋期 応用情報技術者試験 午前 問8