1. 程式人生 > 其它 >I/O裝置與主機間交換資料的方式和特點。

I/O裝置與主機間交換資料的方式和特點。


I/O裝置與主機間進行資料輸入輸出主要有直接程式控制方式、中斷方式、DMA方式和通道控制方式.
直接程式控制方式的主要特點是:CPU直接通過I/O指令對I/O介面進行訪問操作,主機與外設之間交換資訊的每個步驟均在程式中表示出來,整個輸入輸出過程是由CPU執行程式來完成的。


中斷方式的特點是:當I/O接A準備好接收資料或向CPU傳送資料時,就發出中斷訊號通知CPU。對中斷訊號進行確認後,CPU儲存正在執行的程式的現場,轉而執行提前設定好的I/O中斷服務程式,完成一次資料傳送的處理。這樣,CPU就不需要主動查詢外設的狀態,在等待資料期間可以執行其他程式,從而提高了CPU的利用率。採用中斷方式管理I/O裝置,CPU和外設可以並行地工作。


雖然中斷方式可以提高CPU的利用率,能處理隨機事件和實時任務,但一次中斷處理過程需要經歷儲存現場、中斷處理和恢復現場等階段,需要執行若干條指令才能處理一次中斷事件,因此這種方式無法滿足高速的批量資料傳送要求。


直接記憶體存取(DirecE Memory Access, DMA)方式的基本思想是:通過硬體控制實現主存與I/O裝置間的直接資料傳送,資料的傳送過程由DMA控制器( DMAC)進行控制,不需要CPU的干預。在DMA方式下,需要CPU啟動傳送過程,即向裝置發出“傳送一塊資料”的命令。在傳送過程結束時,DMAC通過中斷方式通知CPU進行一些後續處理工作。


DMA方式簡化了CPU對資料傳送的控制,提高了主機與外設並行工作的程度,實現了快速外設和主存之間成批的資料傳送,使系統的效率明顯提高。


通道是一種專用控制器,它通過執行通道程式進行I/O操作的管理,為主機與I/O裝置提供一種資料傳輸通道。用通道指令編制的程式存放在儲存器中,當需要進行I/O操作時,CPU只要按約定格式準備好命令和資料,然後啟動通道即可;通道則執行相應的通道程式,完成所要求的操作。用通道程式也可完成較複雜的I/O管理和預處理,從而在很大程度上將主機從繁重的I/O管理工作中解脫出來,提高了系統的效率。