dma接口的組成部分 dma方式為什么能實現高速外設與主存間的信息交換?dma的傳送方法有哪幾種?
dma方式為什么能實現高速外設與主存間的信息交換?dma的傳送方法有哪幾種?外圍編程語言問題。直接存儲器存取(DMA)技術。DMA傳輸對于將存儲區(qū)域從一個設備復制到另一個設備非常重要。當CPU初始化傳
dma方式為什么能實現高速外設與主存間的信息交換?dma的傳送方法有哪幾種?
外圍編程語言問題。直接存儲器存取(DMA)技術。DMA傳輸對于將存儲區(qū)域從一個設備復制到另一個設備非常重要。當CPU初始化傳輸操作時,傳輸操作本身由DMA控制器實現和完成。一個典型的例子是將一塊外部存儲器移到芯片內更快的存儲器中。這樣的操作不會延遲處理器的工作。相反,他們可以重新安排來處理其他任務。DMA傳輸對于高效的嵌入式系統(tǒng)算法和網絡至關重要。在DMA傳輸的實現中,DMA控制器直接負責總線,因此存在總線控制傳輸的問題。也就是說,在DMA傳輸之前,CPU應該將總線控制權交給DMA控制器,在DMA傳輸之后,DMA控制器應該立即將總線控制權交還給CPU。一個完整的DMA傳輸過程必須經過以下四個步驟。1DMA請求CPU初始化DMA控制器,并向I/O接口發(fā)送操作命令。I/O接口提出DMA請求。2DMA響應DMA控制器的優(yōu)先級和DMA請求的屏蔽,提出了總線請求到總線決策邏輯。當CPU完成當前總線周期時,它可以釋放總線控制權。此時,總線判斷邏輯輸出總線響應,表示DMA已經響應,并通知I/O接口通過DMA控制器開始DMA傳輸。三。DMA傳輸DMA控制器獲得總線控制權后,CPU立即掛起或只執(zhí)行內部操作,DMA控制器輸出讀寫命令,直接控制ram和I/O接口進行DMA傳輸。在DMA控制器的控制下,數據直接在存儲器和外部設備之間傳輸,不需要中央處理器參與傳輸。應在開始處提供要傳輸的數據的起始位置和長度。4DMA結束當指定的批量數據傳輸完成后,DMA控制器釋放總線控制權并向I/O接口發(fā)送結束信號。當I/O接口接收到結束信號時,一方面停止I/O設備,另一方面向CPU提出中斷請求,使CPU擺脫不干預狀態(tài),并執(zhí)行代碼檢查DMA傳輸操作的正確性。最后,根據此操作的結果和狀態(tài),繼續(xù)執(zhí)行原始程序??梢钥闯觯珼MA傳輸模式不需要CPU直接控制傳輸,也不需要像中斷處理模式那樣保留和恢復場景的過程。它通過硬件為ram和I/O設備開辟了一條直接的數據傳輸通道,大大提高了CPU的效率。