常用的I/O設備和CPU之間數據傳送控制方式有4種,分別爲程序直接控制方式、中斷控制方式、DMA方式和通道方式。
程序直接控制方式和中斷控制方式都只適用於簡單的、外設很少的計算機系統,因爲程序直接控制方式耗費大量的CPU時間,而且無法檢測發現設備或其他硬件產生的錯誤,設備與CPU、設備與設備只能串行工作。
中斷控制方式雖然在某種程度上解決了上述問題,但由於中斷次數多,因而CPU仍需要花費較多的時間處理中斷,而且能夠並行操作的設備臺數也受到中斷處理時間的限制,中斷次數增多也導致數據丟失。
DMA方式和通道方式較好地解決了上述問題。這兩種方式採用了外設和內存直接交換數據的方式。只有在一段數據傳送結束時,才發出中斷信號要求CPU做善後處理,從而大大減少了CPU的工作負擔。]
DMA方式與通道控制方式的區別是,DMA方式要求CPU執行設備驅動程序來啓動設備,給出存放數據的內存起始地址以及操作方式和傳送字節長度等; 而通道控制方式則是在CPU發出I/O啓動命令之後,由通道指令來完成這些工作。