回覆列表
  • 1 # 使用者7424076759961

    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結束處理。

  • 中秋節和大豐收的關聯?
  • “陪你去草原,和你策馬去明天”什麼歌?