什麼是 Intel 8089 IOP?
Intel 8089 I/O 處理器包含在一個 40 引腳積體電路封裝中。8089 內有兩個獨立的單元,稱為通道。每個通道結合了處理器單元和直接記憶體訪問控制器的通用特性。
8089 旨在用作微型計算機系統中的 IOP,其中 Intel 8086 微處理器用作 CPU。8086 CPU 透過在記憶體中構建描述要執行的功能的訊息來啟動 I/O 操作。8089 IOP 從記憶體中讀取訊息,執行操作,並在完成操作時通知 CPU。
與 IBM 370 通道(只有 6 個基本 I/O 命令)相比,8089 IOP 有 50 個基本指令,可以對單個位、位元組或 16 位字進行操作。IOP 可以像 CPU 一樣執行程式,只是指令集是專門選擇的,以提供有效的輸入/輸出處理。
指令集包括通用資料傳輸指令、基本算術和邏輯運算、條件和無條件分支運算以及子程式呼叫和返回功能。該集合還包括用於啟動 DMA 傳輸和向 CPU 發出中斷請求的特殊指令。它提供了在連線到系統匯流排的任何兩個元件之間進行有效的資料傳輸,例如 I/O 到記憶體、記憶體到記憶體或 I/O 到 I/O。
8086 充當 CPU,8089 充當 IOP。這兩個單元透過連線到系統匯流排的匯流排控制器共享一個公共記憶體,Intel 將其稱為“多匯流排”。IOP 使用本地匯流排與連線到 I/O 裝置的各種介面單元通訊。CPU 透過啟用通道注意線與 IOP 通訊。選擇線由 CPU 用於選擇 8089 中的兩個通道之一。IOP 透過傳送中斷請求來引起 CPU 的注意。
CPU 和 IOP 透過在系統記憶體中相互寫入訊息來彼此通訊。CPU 準備訊息區域並透過啟用通道注意線向 IOP 發出訊號。IOP 讀取訊息,執行所需的 I/O 功能並執行相應的通道程式。當通道完成其程式時,它會向 CPU 發出中斷請求。
通訊方案由稱為“塊”的程式段組成,這些程式段儲存在記憶體中。每個塊包含控制和引數資訊以及指向其後繼塊的地址指標。
控制塊的地址在初始化期間傳遞給每個 IOP 通道。繁忙標誌指示 IOP 是否繁忙或已準備好執行新的 I/O 操作。CCW(通道命令字)由 CPU 指定,以指示 IOP 需要執行的操作型別。8089 中的 CCW 與 IBM 通道中的命令字含義不同。
CCW 更像是一條 I/O 指令,它為 IOP 指定一個操作,例如啟動操作、暫停操作、恢復操作和停止 I/O 程式。引數塊包含 IOP 程式在執行其任務時必須使用的可變資料。任務塊包含要在 IOP 中執行的實際程式。