出力依存
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/11/05 07:56 UTC 版)
出力依存(output dependency)とは、命令の並べ替えによって最終的な変数の出力値が変わってしまうことを指す。以下の例では、3番と1番の命令に出力依存がある。命令を並べ替えると、Aの最終的な値が変わってしまうため、これらの命令を並行して実行することはできない。 1 A = 2 * X2 B = A / 33 A = 9 * Y 反依存と同様、出力依存も名前依存の一種である。従って、変数名を変えることで解消できる。この例の場合、以下のように修正すればよい。 1 A2 = 2 * X2 B = A2 /33 A = 9 * Y 一般に、変数名に関わるデータの依存関係は、リード・アフター・ライト(真の依存)、ライト・アフター・ライト(出力依存)、ライト・アフター・リード(反依存)と呼ばれる(レジスタ・リネーミング参照)。 命令Bがその前にある命令Aに制御依存しているという場合、命令Aが命令Bを実行するか否かを決定していることを意味する。以下の例では、命令 2 は 命令 1 に対して制御依存している。 1. if a == b goto AFTER2. A = 2 * X3. AFTER:
※この「出力依存」の解説は、「命令レベルの並列性」の解説の一部です。
「出力依存」を含む「命令レベルの並列性」の記事については、「命令レベルの並列性」の概要を参照ください。
出力依存
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/16 04:06 UTC 版)
「命令 (コンピュータ)」の記事における「出力依存」の解説
レジスタに関して、前の命令と後続命令が結果を同じ場所に書き込む場合。これも、命令の結果を別の場所に書き込めるようにできれば問題ない。
※この「出力依存」の解説は、「命令 (コンピュータ)」の解説の一部です。
「出力依存」を含む「命令 (コンピュータ)」の記事については、「命令 (コンピュータ)」の概要を参照ください。
- 出力依存のページへのリンク