微處理器 - 8086 功能單元



8086 微處理器分為兩個功能單元,即EU(執行單元)和BIU(匯流排介面單元)。

EU(執行單元)

執行單元向 BIU 發出指令,說明從哪裡獲取資料,然後解碼並執行這些指令。其功能是使用指令解碼器和 ALU 控制資料操作。如上圖所示,EU 與系統匯流排沒有直接連線,它透過 BIU 對資料進行操作。

現在讓我們討論 8086 微處理器的功能部件。

ALU

它處理所有算術和邏輯運算,例如 +、-、×、/、OR、AND、NOT 運算。

標誌暫存器

它是一個 16 位暫存器,其行為類似於觸發器,即根據累加器中儲存的結果改變其狀態。它有 9 個標誌,分為兩組 - 條件標誌和控制標誌。

條件標誌

它表示最後執行的算術或邏輯指令的結果。以下是條件標誌的列表 -

  • 進位標誌 - 此標誌指示算術運算的溢位情況。

  • 輔助進位標誌 - 當在 ALU 上執行運算時,它會導致從低 nibble(即 D0 – D3)到高 nibble(即 D4 – D7)的進位/借位,則此標誌被設定,即 D3 位到 D4 的進位為 AF 標誌。處理器使用此標誌執行二進位制到 BCD 的轉換。

  • 奇偶標誌 - 此標誌用於指示結果的奇偶校驗,即當結果的低 8 位包含偶數個 1 時,則奇偶標誌被設定。對於奇數個 1,奇偶標誌被複位。

  • 零標誌 - 當算術或邏輯運算的結果為零時,此標誌被設定為 1,否則被設定為 0。

  • 符號標誌 - 此標誌儲存結果的符號,即當運算結果為負數時,符號標誌被設定為 1,否則設定為 0。

  • 溢位標誌 - 此標誌表示系統容量超出時的結果。

控制標誌

控制標誌控制執行單元的操作。以下是控制標誌的列表 -

  • 陷阱標誌 - 它用於單步控制,並允許使用者一次執行一條指令進行除錯。如果它被設定,則程式可以以單步模式執行。

  • 中斷標誌 - 它是一箇中斷使能/禁止標誌,即用於允許/禁止程式中斷。它在中斷使能條件下設定為 1,在中斷禁止條件下設定為 0。

  • 方向標誌 - 它用於字串操作。顧名思義,當它被設定時,字串位元組從高記憶體地址訪問到低記憶體地址,反之亦然。

通用暫存器

有 8 個通用暫存器,即 AH、AL、BH、BL、CH、CL、DH 和 DL。這些暫存器可以單獨用於儲存 8 位資料,也可以成對用於儲存 16 位資料。有效的暫存器對是 AH 和 AL、BH 和 BL、CH 和 CL 以及 DH 和 DL。分別稱為 AX、BX、CX 和 DX。

  • AX 暫存器 - 也稱為累加器暫存器。它用於儲存算術運算的運算元。

  • BX 暫存器 - 用作基址暫存器。它用於儲存資料段內記憶體區域的起始基址。

  • CX 暫存器 - 稱為計數器。它在迴圈指令中用於儲存迴圈計數器。

  • DX 暫存器 - 此暫存器用於儲存 I/O 指令的 I/O 埠地址。

堆疊指標暫存器

它是一個 16 位暫存器,它儲存從段開始到記憶體位置的地址,在該記憶體位置,最近在堆疊上儲存了一個字。

BIU(匯流排介面單元)

BIU 負責 EU 在總線上進行的所有資料和地址傳輸,例如傳送地址、從記憶體中獲取指令、從埠和記憶體中讀取資料以及向埠和記憶體中寫入資料。EU 與系統匯流排沒有直接連線,因此這可以透過 BIU 實現。EU 和 BIU 透過內部匯流排連線。

它具有以下功能部件 -

  • 指令佇列 - BIU 包含指令佇列。BIU 獲取最多 6 個位元組的下一條指令並將它們儲存在指令佇列中。當 EU 執行指令並準備好下一條指令時,它只需從該指令佇列中讀取指令,從而提高執行速度。

  • 在當前指令執行時獲取下一條指令稱為流水線

  • 段暫存器 - BIU 有 4 個段匯流排,即 CS、DS、SS 和 ES。它儲存記憶體中指令和資料的地址,處理器使用這些地址訪問記憶體位置。它還包含 1 個指標暫存器 IP,它儲存 EU 要執行的下一條指令的地址。

    • CS - 代表程式碼段。它用於定址記憶體中程式碼段中的記憶體位置,其中儲存了可執行程式。

    • DS - 代表資料段。它包含程式使用的資料,並透過偏移地址或儲存偏移地址的其他暫存器的內容在資料段中訪問。

    • SS - 代表堆疊段。它處理在執行期間儲存資料和地址的記憶體。

    • ES - 代表附加段。ES 是一個附加資料段,字串使用它來儲存額外的目標資料。

  • 指令指標 - 它是一個 16 位暫存器,用於儲存要執行的下一條指令的地址。

廣告