令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問1
テクノロジハードウェアプロセッサ・性能計算
パイプラインハザード対策に関する記述のうち,アウトオブオーダ実行方式を用いたものはどれか。
解答・解説
正解: ア. 演算に必要なデータがそろうまで実行が待たされている命令によって,後続の命令の実行が待たされることを防ぐために,既にデータがそろっている後続の命令があれば,それを先に実行する。
アウトオブオーダ実行(Out-of-Order Execution)は、パイプライン処理においてデータ依存関係などによって命令の実行がストール(待機)してしまうハザードを防ぐための技術です。プログラムに記述された命令順序にとらわれず、実行に必要なデータがそろった命令から順次実行していくことで、プロセッサの実行効率を高めます。
各選択肢の解説
- ア: 正解です。 アウトオブオーダ実行方式の説明です。データがそろって実行可能な後続命令を先に実行することで、パイプラインのストールを最小限に抑えます。
- イ: 誤りです。条件分岐命令の判定を待たずに分岐先を予測して実行する分岐予測(投機的実行)の説明です。
- ウ: 誤りです。前の命令の演算結果をレジスタへの書き込みを待たずに直接次の命令の演算器へ送るデータフォワーディング(バイパス処理)の説明です。
- エ: 誤りです。クロックサイクルを前半と後半に分割し、レジスタの書き込みと読み出しの競合を回避する手法の説明です。