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