1、外設可透過DMA控制器向CPU發出DMA請求;
2、CPU響應DMA請求,系統轉變為DMA工作方式,並把匯流排控制權交給DMA控制器;
3、由DMA控制器傳送儲存器地址,並決定傳送資料塊的長度;
4、執行DMA傳送;
5、DMA操作結束,並把匯流排控制權交還CPU。
擴充套件資料
DMA方式下,為了控制外設和主存直接交換資料,需要有專門的資料傳送控制電路,通常把這樣的控制邏輯稱為DMA控制器。整個過程分以下三個階段:
(1)DMA控制器初始化
首先,對DMA控制器和裝置介面中的引數暫存器進行初始化,以設定主存首地址、傳送資料個數、傳送方向(讀出/寫入)、裝置地址(如磁頭號、磁軌號、起始扇區號)等,這些初始化工作由CPU執行指令完成。初始化工作的最後是向外設介面傳送啟動讀或寫的命令。
(2)DMA傳送
外設介面接受到CPU送來的啟動命令後,就開始控制裝置進行讀或寫操作,當外設準備好資料以後,外設介面就會向DMA控制器傳送相應的“DMA請求”訊號。
DMA控制器接受到該訊號後,就會向CPU傳送“匯流排請求”訊號,要求CPU釋放匯流排,請求由DMA控制器控制匯流排以進行外設和主存之間的資料交換。CPU總是在一個匯流排事務結束後讓出匯流排。
DMA控制器每傳送一個數據,就使資料個數計數器減1。當該計數器為0時,表示傳送過程結束。此結束訊號被送到外設介面,引起外設介面向CPU傳送一個“DMA傳送結束”中斷請求。
(3)DMA結束處理。當CPU接收到“DAM傳送結束”中斷請求後,就調出相應的中斷服務程式進行DMA結束處理。
1、外設可透過DMA控制器向CPU發出DMA請求;
2、CPU響應DMA請求,系統轉變為DMA工作方式,並把匯流排控制權交給DMA控制器;
3、由DMA控制器傳送儲存器地址,並決定傳送資料塊的長度;
4、執行DMA傳送;
5、DMA操作結束,並把匯流排控制權交還CPU。
擴充套件資料
DMA方式下,為了控制外設和主存直接交換資料,需要有專門的資料傳送控制電路,通常把這樣的控制邏輯稱為DMA控制器。整個過程分以下三個階段:
(1)DMA控制器初始化
首先,對DMA控制器和裝置介面中的引數暫存器進行初始化,以設定主存首地址、傳送資料個數、傳送方向(讀出/寫入)、裝置地址(如磁頭號、磁軌號、起始扇區號)等,這些初始化工作由CPU執行指令完成。初始化工作的最後是向外設介面傳送啟動讀或寫的命令。
(2)DMA傳送
外設介面接受到CPU送來的啟動命令後,就開始控制裝置進行讀或寫操作,當外設準備好資料以後,外設介面就會向DMA控制器傳送相應的“DMA請求”訊號。
DMA控制器接受到該訊號後,就會向CPU傳送“匯流排請求”訊號,要求CPU釋放匯流排,請求由DMA控制器控制匯流排以進行外設和主存之間的資料交換。CPU總是在一個匯流排事務結束後讓出匯流排。
DMA控制器每傳送一個數據,就使資料個數計數器減1。當該計數器為0時,表示傳送過程結束。此結束訊號被送到外設介面,引起外設介面向CPU傳送一個“DMA傳送結束”中斷請求。
(3)DMA結束處理。當CPU接收到“DAM傳送結束”中斷請求後,就調出相應的中斷服務程式進行DMA結束處理。