基本情報技術者試験 2003年度 = 平成15年度・春期 午前 問17

 CPUのパイプライン処理を有効に機能させるプログラミング方法はどれか。

 ア  サブルーチンの数をできるだけ多くする。
 イ  条件によって実行する文が変わるCASE文を多くする。
 ウ  分岐命令を少なくする。
 エ  メモリアクセス命令を少なくする。

解答

 ウ

解説

 パイプライン処理は、命令の実行サイクルを、命令の取出し、解読、アドレス計算・変換、データの取出し、実行のような複数の段階に分け、各段階の処理を別々の装置が担当することによって、複数の命令を並列に処理する方式です。

表 命令の実行ステップ
 ステップ       処理内容     
1  命令コード部の取出し 
2  命令の解読
3  アドレス部の取出し
4  実効番地の計算
5  データの取出し
6  演算の実行

      ┌─┬─┬─┬─┬─┬─┐ 最初の命令 │1│2│3│4│5│6│       └─┴─┴─┴─┴─┴─┘         ┌─┬─┬─┬─┬─┬─┐   次の命令  │1│2│3│4│5│6│         └─┴─┴─┴─┴─┴─┘           ┌─┬─┬─┬─┬─┬─┐   次の次の命令  │1│2│3│4│5│6│           └─┴─┴─┴─┴─┴─┘                 …     図  命令実行のパイプライン処理


 複数の命令を同時に実行することによる高速化を図るパイプラインも、以下のような状況では有効に機能せず、流れが阻害されます。
 したがって、選択肢の“分岐命令を少なくする”ことが適切です。


BohYoh.comトップページへ