DMA方式(完全硬件)
在 I/O設備與外設之間有直接數據通路,傳送過程中不需要CPU參與,而是 DMA控制器控制完成。
DMA工作過程:
1)預處理
CPU收到 設備發出的DMA請求,它做為 司令,會向 DMA發布一些命令,啟動DMA,測試I/O設備,初始化寄存器等
2)數據傳送
完全由DMA硬件完成
3)后處理
完成數據傳送后,DMA控制器向CPU發送中斷請求。
通道方式(有程序參與)
I/O 通道是指專門負責輸入/輸出的處理機,每個通道都掛接外設,主機在執行 I/O命令時,只需要啟動通道,然后通道會執行通道程序。
通道方式是對DMA方式的發展,由一個數據塊的讀寫發展成為對一組數據塊的處理。
通道的工作過程:CPU只要向 I/O通道發送一條 I/O指令,哪怕是一組相關的讀寫操作,通道會執行通道程序,完成一組數據的傳送。
DMA與通道方式的區別:
1)一些控制信息,如數據塊的大小,內存位置,DMA方式下由CPU來控制,但是通道方式下由通道控制
2)每個DMA控制器對應一台設備與內存交換數據,但是通道可以控制多台設備與內存的數據進行交換。
