生活随笔
收集整理的這篇文章主要介紹了
DMA摘记
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.特點(diǎn)
PIO模式下硬盤和內(nèi)存之間的數(shù)據(jù)傳輸是由CPU來控制的;而在DMA模式下,CPU只須向DMA控制器下達(dá)指令,讓DMA控制器來處理數(shù)據(jù)的傳送,數(shù)據(jù)傳送完畢再把信息反饋給CPU,這樣就很大程度上減輕了CPU資源占有率。DMA模式與PIO模式的區(qū)別就在于,DMA模式不過分依賴CPU,可以大大節(jié)省系統(tǒng)資源,二者在傳輸速度上的差異并不十分明顯。DMA模式又可以分為Single-Word DMA(單字節(jié)DMA)和Multi-Word DMA(多字節(jié)DMA)兩種,其中所能達(dá)到的最大傳輸速率也只有16.6MB/s。 DMA 傳送方式的優(yōu)先級高于程序中斷,兩者的區(qū)別主要表現(xiàn)在對CPU的干擾程度不同。程序中斷請求不但使CPU停下來,而且要CPU執(zhí)行中斷服務(wù)程序?yàn)橹袛嗾埱蠓?wù),這個(gè)請求包括了對斷點(diǎn)和現(xiàn)場的處理以及CPU與外設(shè)的傳送,所以CPU付出了很多的代價(jià);DMA請求僅僅使CPU暫停一下,不需要對斷點(diǎn)和現(xiàn)場的處理,并且是由DMA控制外設(shè)與主存之間的數(shù)據(jù)傳送,無需CPU的干預(yù),DMA只是借用了一點(diǎn)CPU的時(shí)間而已。還有一個(gè)區(qū)別就是,CPU對這兩個(gè)請求的響應(yīng)時(shí)間不同,對程序中斷請求一般都在執(zhí)行完一條指令的時(shí)鐘周期末尾響應(yīng),而對DMA的請求,由于考慮它的高效性,CPU在每條指令執(zhí)行的各個(gè)階段之中都可以讓給DMA使用,是立即響應(yīng)。
DMA主要由硬件來實(shí)現(xiàn),此時(shí)高速外設(shè)和內(nèi)存之間進(jìn)行數(shù)據(jù)交換不通過CPU的控制,而是利用系統(tǒng)總線。DMA方式是I/O系統(tǒng)與主機(jī)交換數(shù)據(jù)的主要方式之一,另外還有程序查詢方式和中斷方式。
2.DMA工作原理
DMA 是所有現(xiàn)代電腦的重要特色,他允許不同速度的硬件裝置來溝通,而不需要依于 CPU 的大量 中斷 負(fù)載。否則,CPU 需要從 來源 把每一片段的資料復(fù)制到 暫存器,然后把他們再次寫回到新的地方。在這個(gè)時(shí)間中,CPU 對于其他的工作來說就無法使用。 DMA 傳輸重要地將一個(gè)內(nèi)存區(qū)從一個(gè)裝置復(fù)制到另外一個(gè)。
當(dāng) CPU 初始化這個(gè)傳輸動(dòng)作,傳輸動(dòng)作本身是由 DMA 控制器 來實(shí)行和完成。典型的例子就是移動(dòng)一個(gè)外部內(nèi)存的區(qū)塊到芯片內(nèi)部更快的內(nèi)存去。像是這樣的操作并沒有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。DMA 傳輸對于高效能 嵌入式系統(tǒng) 算法和網(wǎng)絡(luò)是很重要的。
3.示例
舉個(gè)例子,PC ISA DMA 控制器擁有 8 個(gè) DMA 通道,其中的 7 個(gè)通道是可以讓 PC 的 CPU 所利用。每一個(gè) DMA 通道有一個(gè) 16位元 位址暫存器和一個(gè) 16 位元 計(jì)數(shù)暫存器。
要初始化資料傳輸時(shí),裝置驅(qū)動(dòng)程式一起設(shè)定 DMA 通道的位址和計(jì)數(shù)暫存器,以及資料傳輸?shù)姆较?#xff0c;讀取或?qū)懭搿H缓笾甘?DMA 硬件開始這個(gè)傳輸動(dòng)作。當(dāng)傳輸結(jié)束的時(shí)候,裝置就會(huì)以中斷的方式通知 CPU。 "分散-收集" (Scatter-gather) DMA 允許在一次單一的 DMA 處理中傳輸資料到多個(gè)內(nèi)存區(qū)域。相當(dāng)于把多個(gè)簡單的 DMA 要求串在一起。再一次,這個(gè)動(dòng)機(jī)是要減輕 CPU 的多次輸出輸入中斷和資料復(fù)制任務(wù)。 DRQ 意為 DMA 要求;DACK 意為 DMA 確認(rèn)。這些符號一般在有 DMA 功能的電腦系統(tǒng)硬件概要上可以看到。他們表示了介于 CPU 和 DMA 控制器之間的電子訊號傳輸線路。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的DMA摘记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。