制御命令
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/13 09:59 UTC 版)
制御命令とは、条件分岐/無条件分岐とジャンプ命令である。条件分岐命令と無条件分岐命令は分岐用フォーマットを使い、ジャンプ命令はロード/ストア用フォーマットを使っている。 条件分岐では、指定されたレジスタの最下位ビットが1か0か(奇数/偶数)の判定、あるいは指定されたレジスタとゼロとの大小比較の判定を行い、指定された条件が成立していれば分岐する。分岐する場合は、21ビットのディスプレースメントを符号拡張し、4倍してロングワード境界にし、プログラムカウンタに加算する。このときのプログラムカウンタは実行中命令の次の命令を指している(更新済み)。 無条件分岐では、条件分岐と同様に計算したアドレスでプログラムカウンタを更新する。また、このとき実行中の無条件分岐命令の次にある命令のアドレスをRaフィールドで指定したレジスタにセーブする。分岐予測ハードウェアに提供するヒントが異なる2種類の無条件分岐命令がある。 ジャンプ命令は4種類ある(正確にはオペコードは1種類で、ディスプレースメント・フィールドに4種類の値を設定する)。Raフィールドが指定するレジスタに次の命令のアドレスをセーブし、Rbフィールドが指定するレジスタの内容をプログラムカウンタに書き込む。ディスプレースメント・フィールドに書き込むのは分岐予測ハードウェアに提供するヒント情報である。
※この「制御命令」の解説は、「DEC Alpha」の解説の一部です。
「制御命令」を含む「DEC Alpha」の記事については、「DEC Alpha」の概要を参照ください。
- 制御命令のページへのリンク