エンベデッドシステムスペシャリスト 2014年 午前2 問01
問題文
パイプライン制御の特徴はどれか。
選択肢
ア:複数の命令を同時に実行するために、コンパイラが目的プログラムを生成する段階で、それぞれの命令がどの演算器を使うかをあらかじめ割り振る。
イ:命令が実行される段階で、どの演算器を使うかを動的に決めながら、複数の命令を同時に実行する。
ウ:命令の処理をプロセッサ内で複数のステージに細分化し、複数の命令を並列に実行する。(正解)
エ:命令を更に細かなマイクロ命令の組合せで実行する。
🔒 解説は解答すると表示されます
パイプライン制御【午前2解説】
正解の理由
パイプライン制御は、命令の処理を「命令の読出し」「解読」「実行」「結果の書込み」などのステージに分け、複数の命令を異なるステージで同時並行に処理する方式です。
たとえば、ある命令を実行している間に、次の命令を解読し、その次の命令を読み出します。このように処理を重ねる特徴を表しているウが正解です。
解法ステップ
- 選択肢に「コンパイラが演算器を割り振る」「実行時に演算器を決める」「処理を複数のステージに分ける」「マイクロ命令で実行する」という違いがあることを確認します。
- パイプライン制御の基本は、命令を複数の処理段階に分割することです。
- その分割したステージで複数命令を並行して処理する説明を選びます。
選択肢別の誤答解説
- ア:誤りです。 コンパイラが命令ごとに使用する演算器をあらかじめ割り当てる方式の説明です。パイプライン制御そのものの特徴ではありません。
- イ:誤りです。 実行時に演算器を選び、複数命令を同時に実行する方式の説明です。命令の実行順序や演算器の割当てを動的に決める方式に関係します。
- ウ:正解です。 命令処理を複数のステージに分け、ステージの異なる複数命令を並行して処理します。
- エ:誤りです。 マイクロ命令を組み合わせて命令を実行する方式であり、マイクロプログラム制御に関する説明です。
よくある誤解
- 複数の命令を同時に処理することと、パイプライン制御は同じだと思う。 パイプライン制御では、複数命令をそれぞれ異なるステージで処理します。
- パイプライン化すると、1命令の処理時間も必ず短くなると思う。 主な効果は、処理を重ねることで単位時間当たりの処理数(スループット)を高めることです。個々の命令の処理時間が同じ割合で短くなるとは限りません。
- 「演算器を使う」という説明があればパイプライン制御だと思う。 演算器の割当てをいつ、どのように決めるかは、パイプライン制御とは別の観点です。
補足コラム
パイプライン処理を、洗濯物の「洗う・すすぐ・脱水する」という工程にたとえると、1回目の洗濯物を脱水している間に、2回目をすすぎ、3回目を洗うイメージです。工程を並行して進めることで、全体として処理できる量が増えます。
FAQ
Q. パイプライン制御では、1つの命令を複数のプロセッサで処理するのですか?
A. いいえ。1つの命令の処理を複数のステージに分け、それぞれのステージで異なる命令を並行して処理します。
A. いいえ。1つの命令の処理を複数のステージに分け、それぞれのステージで異なる命令を並行して処理します。
Q. パイプライン処理で性能が向上するのはなぜですか?
A. 命令の処理工程を重ねて進めることで、単位時間当たりに完了する命令数が増えるためです。ただし、命令間の依存関係などによって、期待どおりに処理を重ねられない場合があります。
A. 命令の処理工程を重ねて進めることで、単位時間当たりに完了する命令数が増えるためです。ただし、命令間の依存関係などによって、期待どおりに処理を重ねられない場合があります。
関連キーワード: パイプライン処理、ステージ、スループット、マイクロプログラム制御

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

