O設備之間的數據傳送有哪幾種方式?
CPU與IO設備間數據傳輸主要有四種方式:
查詢控制方式:
CPU通過程序主動讀取狀態寄存器以了解接口情況,并完成相應的數據操作。查詢操作需要在時鐘周期較少的間隔內重復進行,因而CPU效率低。
中斷控制方式:
當程序常規運行中,若外部有優先級更高的事件出現,則通過中斷請求通知CPU,CPU再讀取狀態寄存器確定事件的種類,以便執行不同的分支處理。這種方式CPU效率高且實時性好。
DMA(Direct Memory Access)控制方式:
顧名思義,直接內存存取即數據傳送的具體過程直接由硬件(DMA控制器)在內存和IO之間完成,CPU只在開始時將控制權暫時交予DMA,直到數據傳輸結束。這種方式傳送速度比通過CPU快,尤其是在批量傳送時效率很高。
通道控制方式:
基本方法同上述的DMA控制方式,只是DMA通過DMA控制器完成,通道控制方式有專門通訊傳輸的通道總線完成。效率比DMA更高。