本サイトはプロモーション(広告)が含まれています。

投機実行と遅延分岐の違いについて

投機実行と遅延分岐の違いについて

 投機実行及び遅延分岐はいずれもパイプラインの性能を向上させるための技法の一つです

 投機実行分岐先が決定する前に、プログラムの実行経路を予測して命令を先読みしたり実行する技法です。予測が当たった場合には分岐処理により並列処理が中断すること(分岐ハザード)を避けられるため、パイプライン処理の効率を高めることができます。なお、予測が外れた場合でも実行途中の命令を破棄して正しい分岐先の命令の実行をやり直し、確定を待つのと同じであるため、投機実行をしないよりは全体として高速になります。

 遅延分岐は分岐命令の直後に分岐先に関係なく実行する命令を実行し、分岐によってパイプライン処理に無駄が生じるのを防ぐことでパイプライン処理の効率を高めることができます。

 いずれもパイプライン処理の効率を高め、分岐先の命令の実行を行うが、投機実行は分岐処理の命令を実行するのに対し、遅延分岐は分岐処理の後の無駄にならない命令を実行します。

情報処理 の記事一覧

PAGE TOP