一.早期階段:CPU和IO設備串行工作,分散連接,I/O設備與主存交換信息必須經過CPU.
程序查詢方式:由CPU通過程序不斷查詢IO設備是否己做好准備,從而控制IO設備與主機交換信息。
二.接口模塊和DMA階段:CPU和IO並行工作,總線連接,IO設備通過接口模塊連接總線上與CPU交流
中斷方式:只在設備准備就緒並向CPU發出中斷請求時才予以響應。
DMA(直接存儲器存取)方式:主存和IO設備之間有一條直接數據通路,當主存和設備交換信息時,無需調用中斷服務程序,CPU工作不受影響
三.具有IO通道結構的階段
通道:負責管理IO設備以及實現主存與I/O設備之間交換信息的部件(具有特殊功能的處理器);應用於大中型計算機系統;每個通道掛接若干外設
通道指令:獨立執行用通道指令編寫的輸入輸出程序,是從屬於CPU的專用處理器,依據CPU的I/O指令進行啟動、停止或改變工作狀態。依賴通道管理的IO設備在與主機交換信息時,CPU不直接參與管理,故提高了CPU的資源利用率。
四.具有IO處理機(外圍處理機)階段:基本獨立於主機工作,既可完成I/O通道要完成的I/O控制,又可完成碼制變換、格式處理、數據塊檢錯、糾錯等操作。具有處理機的輸人輸出系統與CPU工作的並行性更高,IO系統更獨立性。
IO系統由IO軟件和IO硬件兩部分構成
1.I/O軟件:驅動程序、用戶程序、管理程序、升級補丁等。
通常采用IO指令和通道指令實現CPU和I/O設備的信息交換。
IO指令:是CPU指令的一部分。包括操作碼(識別IO指令),命令碼(具體操作),設備碼(操作對象)
指令通道:通道自身的指令,指出數據的首地址,傳送字數,操作命令。
通道指令放在主存中;由CPU執行啟動IO設備的指令,由通道代替CPU對IO設備進行管理
2.IO硬件:外部設備、設備控制器和接口、I/O總線等。
IO方式:
程序查詢方式:CPU啟動IO程序后,在IO准備及傳送數據期間不能執行原程序,只能不斷查詢IO的准備狀態。CPU和IO處於串行工作狀態,效率低
程序中斷方式:CPU在啟動IO設備后,不查詢設備是否己准備就緒,繼續執行自身程序,只有當IO設備准備就緒並向CPU發出中斷請求后才予以響應,CPU中斷了現行程序,轉至中斷服務程序,待處理完后又返回到原程序斷點處,繼續往下執行。CPU工作效率提高
DMA方式:主存與I/O設備之間有一條數據通路,主存與I/O設備交換信息時,無須調用中斷服務程序。若出現DMA和CPU同時訪問主存,CPU總是將總線占有權讓給DMA,通常把DMA的這種占有稱為竊取或挪用。竊取的時間一般為一個存取周期。在DMA竊取存取周期時,CPU尚能繼續作內部操作(如乘法運算)。