複製鏈接
請複製以下鏈接發送給好友

間接分支

鎖定
個間接分支(又稱跳計算,間接的跳躍和寄存器間接跳轉)是一種程序控制在一些機器語言指令集的指令。指定在直接分支,執行下一條指令的地址,而不是參數指定的地址位於。因此,一個例子是“在間接R1寄存器跳躍”,這將意味着,今後將要執行的指令的地址,其值在寄存器R1。地址將躍升至未知地址,直到指令執行。間接分支也可以依賴於內存位置的值。
一個間接分支可以是有益的,使一個條件分支,尤其是多路分支。例如,根據程序輸入一個值可以查出在跳錶指針的代碼,處理數據值所隱含的各類案件。結果存儲在寄存器中的數據值可以被添加到表的地址。間接跳然後可以進行該寄存器的值的基礎上,有效的調度方案控制輸入適當的代碼。
以類似的方式,子程序調用指令可以是間接的,同在一個位置寄存器或存儲器中指定要調用的子程序的地址。
但是,間接分支和數據局部性對於運行時的性能是致命的。
中文名
間接分支
別    名
跳計算
一個間接分支(又稱跳計算,間接的跳躍和寄存器間接跳轉)是一種程序控制目前在一些機器語言指令集的指令。指定在直接分支,執行下一條指令的地址,而不是參數指定的地址位於。因此,一個例子是“在間接R1寄存器跳躍”,這將意味着,今後將要執行的指令的地址,其值在寄存器R1。地址將躍升至未知地址,直到指令執行。間接分支也可以依賴於內存位置的值。
一個間接分支可以是有益的,使一個條件分支,尤其是多路分支。例如,根據程序輸入一個值可以查出在跳錶指針的代碼,處理數據值所隱含的各類案件。結果存儲在寄存器中的數據值可以被添加到表的地址。間接跳然後可以進行該寄存器的值的基礎上,有效的調度方案控制輸入適當的代碼。
以類似的方式,子程序調用指令可以是間接的,同在一個位置寄存器或存儲器中指定要調用的子程序的地址。
但是,間接分支和數據局部性對於運行時的性能是致命的。