什麼是條件分支?


條件分支指令是一種分支指令,它可能會也可能不會生成控制傳輸,這取決於 PSR(處理器狀態暫存器)中儲存位的數值。它為控制單元提供了決策能力。

狀態條件是系統中的一些特殊位,它們提供引數資訊,例如加法器的進位輸出、數字的符號位、指令的模式位以及輸入或輸出狀態條件。可以測試這些位中的資訊,並根據其條件(其值是 1 還是 0)啟動操作。

狀態位以及微指令中指定分支地址的欄位控制分支邏輯中生成的條件分支決策。分支邏輯硬體可以透過多種方式實現。

最簡單的方法是測試指定的條件,如果滿足條件則分支到指定的地址;否則,地址暫存器遞增。

這可以使用多路複用器來實現。假設系統中有八個狀態位條件。微指令中的三個位用於指定八個狀態位條件中的任何一個。這三個位為多路複用器提供選定的變數。如果選定的狀態位處於 1 狀態,則多路複用器的輸出為 1;否則,為 0。

多路複用器中的 1 輸出生成一個控制訊號,將分支地址從微指令傳輸到控制地址暫存器。多路複用器中的 0 輸出導致地址暫存器遞增。在此配置中,微程式遵循兩個可能路徑之一,具體取決於選定狀態位的值。

無條件分支微指令

無條件分支微指令可以透過將分支地址從控制儲存器載入到控制地址暫存器來實現。這可以透過將一個狀態位的值固定在多路複用器的輸入端來完成,使其始終等於 1。控制儲存器中的狀態位選擇線對此位的引用會導致分支地址無條件地載入到控制地址暫存器中。

更新於: 2021-07-24

9K+ 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告