中文名 | DMA通道 | 外文名 | Direct Memory Access |
---|---|---|---|
作????用 | 用來傳輸數(shù)據(jù) | 重要性 | 進(jìn)行數(shù)據(jù)傳送時不需要CPU的參與 |
DMA通道是用來傳輸數(shù)據(jù)的
DMA技術(shù)的重要性在于,利用它進(jìn)行數(shù)據(jù)傳送時不需要CPU的參與。每臺電腦主機(jī)板上都有DMA控制器,通常計(jì)算機(jī)對其編程,并用一個適配器上的ROM(如軟盤驅(qū)動控制器上的ROM)來儲存程序,這些程序控制DMA傳送數(shù)據(jù)。一旦控制器初始化完成,數(shù)據(jù)開始傳送,DMA就可以脫離CPU,獨(dú)立完成數(shù)據(jù)傳送。
在DMA傳送開始的短暫時間內(nèi),基本上有兩個處理器為它工作,一個執(zhí)行程序代碼,一個傳送數(shù)據(jù)。利用DMA傳送數(shù)據(jù)的另一個好處是,數(shù)據(jù)直接在源地址和目的地址之間傳送,不需要中間媒介。 對于每一次寫操作,DMA控制器都控制地址總線,通知應(yīng)將數(shù)據(jù)寫到哪段內(nèi)存中去。
DMA控制數(shù)據(jù)從內(nèi)存?zhèn)魉偷竭m配卡的方法與上面類似。對每一個要傳送的單位數(shù)據(jù),DMA控制器激活讀內(nèi)存和I/O寫操作的總線。內(nèi)存地址被放到地址總線上,像從適配卡到內(nèi)存?zhèn)魉蛿?shù)據(jù)一樣,以數(shù)據(jù)總線為通道,數(shù)據(jù)從源地址直接傳送到目的地址。 DMA從DMA請求線(DREQ)上接收DMA請求,正像中斷控制器從中斷請求線(IRQ)上接收中斷請求一樣。 一個典型的從適配卡到內(nèi)存的數(shù)據(jù)傳送是這樣進(jìn)行的,首先,對DMA控制器編程,寫入數(shù)據(jù)要到達(dá)的內(nèi)存地址和要傳送的字節(jié)數(shù)。適配器可以開始傳送數(shù)據(jù)時,它將激活DREQ線,與DMA控制器連通。DMA控制器在與CPU取得總線控制權(quán)后,輸出內(nèi)存地址,發(fā)送控制信號,使得一個字節(jié)或一個字從適配器讀出并寫入相應(yīng)內(nèi)存中,然后更新內(nèi)存地址,指向下一個字節(jié)(或字)要寫入的地址,重復(fù)上面的操作,直至數(shù)據(jù)傳送完畢。對控制器進(jìn)行不同編程,就可以實(shí)現(xiàn)單字節(jié)傳送(即每傳送一個字節(jié)都要求一個DREQ信號)或塊數(shù)據(jù)傳送(即全部數(shù)據(jù)傳送只需要一個DREQ信號)。
如果你要往計(jì)算機(jī)中插一塊適配卡,而且適配卡使用DMA,通常安裝程序會讓你選擇一個DMA通道,設(shè)定DIP開關(guān)或跳線,來為相應(yīng)適配器設(shè)置DMA通道。盡管從理論上講,只要不是同時使用DREQ線,不同的適配卡可以共享這條線的,但是按常規(guī),我們最好為每個適配卡單獨(dú)安排一個DMA通道,這樣就可以保證不會發(fā)生DMA沖突,DMA方式下由于不直接訪問計(jì)算機(jī)的CPU,而直接在RAM與設(shè)備之間傳輸,因而大大提高了數(shù)據(jù)傳輸速度。2100433B
DMA(Direct Memory Access) ,即直接存儲器存取,是一種快速傳送數(shù)據(jù)的機(jī)制。數(shù)據(jù)傳遞可以從適配卡到內(nèi)存,從內(nèi)存到適配卡或從一段內(nèi)存到另一段內(nèi)存。
單片機(jī)里的DMA是什么意思啊,有款單片機(jī)說具有DMA控制器,中的DMA是什么意思???
DMA就是直接存儲器訪問的首字母縮寫(Direct Memory Access)。CPU的總線上同時會掛著多幾個存儲器,如果想要將存儲器1的內(nèi)容復(fù)制到存儲器2,如果不用DMA的話,就得靠CPU直接去操...
stm32f4的DAC的DMA傳輸?shù)刂肥鞘裁矗?/a>
KU?Band?LNBLNB是長期工作在露天的有源電子部件,產(chǎn)生故障的原因有慢性的,如雨水銹蝕,也有瞬間的,如雷擊、浪涌(電壓和電流)沖擊。
格式:pdf
大?。?span id="kff3x4t" class="single-tag-height">256KB
頁數(shù): 3頁
評分: 4.8
The thermodynamic parameters of FRW fire-retardant plywood at different temperatures were measured by dynamic mechanical analysis (DMA) equipment such as storage modulus, loss modulus and loss angle tangent. The influences on the thermodynamic properties of FRW fire-retardant plywood by the FRW fire retardant were analyzed between the FRW fire-retardant plywood and the untreated plywood. The results showed that the transition temperature of FRW fire-retardant plywood's storage modulus was delayed than the untreated plywood. Its value was also higher than the untreated plywood. Meanwhile the glass transition temperature of plywood treated by FRW fire retardant was raised. FRW fire-retardant plywood could keep the better mechanical performances and ability of deformation-resistance at higher temperature and during longer period than the untreated plywood.
格式:pdf
大小:256KB
頁數(shù): 4頁
評分: 4.6
針對LED顯示屏系統(tǒng)在數(shù)據(jù)處理時對速度的要求,基于DMA思想,在處理數(shù)據(jù)時可以用單片機(jī)的脈沖信號產(chǎn)生SCK信號,從而驅(qū)動LED屏顯示,顯示數(shù)據(jù)可以不經(jīng)過CPU直接以"DMA"方式移入單元板中的移位寄存器組中。本文介紹STC12C5616AD單片機(jī)的讀(RD)和SPI接口的"DMA"方式在LED顯示屏中的應(yīng)用,突出"DMA"方式在LED大屏幕顯示系統(tǒng)中的優(yōu)勢。
一般而言,DMA控制器將包括一條地址總線、一條數(shù)據(jù)總線和控制寄存器。高效率的DMA控制器將具有訪問其所需要的任意資源的能力,而無須處理器本身的介入,它必須能產(chǎn)生中斷。最后,它必須能在控制器內(nèi)部計(jì)算出地址。
一個處理器可以包含多個DMA控制器。每個控制器有多個DMA通道,以及多條直接與存儲器站(memory bank)和外設(shè)連接的總線,如圖1所示。在很多高性能處理器中集成了兩種類型的DMA控制器。第一類通常稱為“系統(tǒng)DMA控制器”,可以實(shí)現(xiàn)對任何資源(外設(shè)和存儲器)的訪問,對于這種類型的控制器來說,信號周期數(shù)是以系統(tǒng)時鐘(SCLK)來計(jì)數(shù)的,以ADI的Blackfin處理器為 例,頻率最高可達(dá)133MHz。第二類稱為內(nèi)部存儲器DMA控制器(IMDMA),專門用于內(nèi)部存儲器所處位置之間的相互存取操作。因?yàn)榇嫒《及l(fā)生在內(nèi)部 (L1-L1、L1-L2,或者L2-L2),周期數(shù)的計(jì)數(shù)則以內(nèi)核時鐘(CCLK)為基準(zhǔn)來進(jìn)行,該時鐘的速度可以超過600MHz。
每個DMA控制器有一組FIFO,起到DMA子系統(tǒng)和外設(shè)或存儲器之間的緩沖器的作用。對于MemDMA(Memory DMA)來說,傳輸?shù)脑炊撕湍繕?biāo)端都有一組FIFO存在。當(dāng)資源緊張而不能完成數(shù)據(jù)傳輸?shù)脑?,則FIFO可以提供數(shù)據(jù)的暫存區(qū),從而提高性能。
因?yàn)槟阃ǔ诖a初始化過程中對DMA控制器進(jìn)行配置,內(nèi)核就只需要在數(shù)據(jù)傳輸完成后對中斷做出響應(yīng)即可。你可以對DMA控制進(jìn)行編程,讓其與內(nèi)核并行地移動數(shù)據(jù),而同時讓內(nèi)核執(zhí)行其基本的處理任務(wù)—那些應(yīng)該讓它專注完成的工作。
有兩類主要的DMA傳輸結(jié)構(gòu):寄存器模式和描述符模式。無論屬于哪一類DMA,表1的幾種信息都會在DMA控制器中出現(xiàn)。當(dāng)DMA以寄存器模式工作時,DMA控制器只是簡單地利用寄存器中所存儲的參數(shù)值。在描述符模式中,DMA控制器在存儲器中查找自己的配置參數(shù)。
(1)基于寄存器的DMA
在基于寄存器的DMA內(nèi)部,處理器直接對DMA控制寄存器進(jìn)行編程,來啟動傳輸?;诩拇嫫鞯腄MA提供了最佳的DMA控制器性能,因?yàn)榧拇嫫鞑⒉恍枰粩嗟貜拇鎯ζ髦械拿枋龇陷d入數(shù)據(jù),而內(nèi)核也不需要保持描述符?;诩拇嫫鞯腄MA由兩種子模式組成:自動緩沖(Autobuffer)模式和停止模式。在自動緩沖DMA中,當(dāng)一個傳輸塊傳輸完畢,控制寄存器就自動重新載入其最初的設(shè)定值,同一個DMA進(jìn)程重新啟動,開銷為零。如果將一個自動緩沖DMA設(shè)定為從外設(shè)傳輸一定數(shù)量的字到 L1數(shù)據(jù)存儲器的緩沖器上,則DMA控制器將會在最后一個字傳輸完成的時刻就迅速重新載入初始的參數(shù)。這構(gòu)成了一個“循環(huán)緩沖器”,因?yàn)楫?dāng)一個量值被寫入 到緩沖器的最后一個位置上時,下一個值將被寫入到緩沖器的第一個位置上。
自動緩沖DMA特別適合于對性能敏感的、存在持續(xù)數(shù)據(jù)流的應(yīng)用。DMA控制器可以在獨(dú)立于處理器其他活動的情況下讀入數(shù)據(jù)流,然后在每次傳輸結(jié)束時,向內(nèi)核發(fā)出中斷。
停止模式的工作方式與自動緩沖DMA類似,區(qū)別在于各寄存器在DMA結(jié)束后不會重新載入,因 此整個DMA傳輸只發(fā)生一次。停止模式對于基于某種事件的一次性傳輸來說十分有用。例如,非定期地將數(shù)據(jù)塊從一個位置轉(zhuǎn)移到另一個位置。當(dāng)你需要對事件進(jìn) 行同步時,這種模式也非常有用。例如,如果一個任務(wù)必須在下一次傳輸前完成的話,則停止模式可以確保各事件發(fā)生的先后順序。此外,停止模式對于緩沖器的初 始化來說非常有用。
(2)描述符模型
基于描述符(descriptor)的DMA要求在存儲器中存入一組參數(shù),以 啟動DMA的系列操作。該描述符所包含的參數(shù)與那些通常通過編程寫入DMA控制寄存器組的所有參數(shù)相同。不過,描述符還可以容許多個DMA操作序列串在一 起。在基于描述符的DMA操作中,我們可以對一個DMA通道進(jìn)行編程,在當(dāng)前的操作序列完成后,自動設(shè)置并啟動另一次DMA傳輸?;诿枋龇姆绞綖楣芾?系統(tǒng)中的DMA傳輸提供了最大的靈活性 。
DMA既可以指內(nèi)存和外設(shè)直接存取數(shù)據(jù)這種內(nèi)存訪問的計(jì)算機(jī)技術(shù),又可以指實(shí)現(xiàn)該技術(shù)的硬件模塊(對于通用計(jì)算機(jī)PC而言,DMA控制邏輯由CPU和DMA控制接口邏輯芯片共同組成,嵌入式系統(tǒng)的DMA控制器內(nèi)建在處理器芯片內(nèi)部,一般稱為DMA控制器,DMAC)。
值得注意的是,通常只有數(shù)據(jù)流量較大(kBps或者更高)的外設(shè)才需要支持DMA能力,這些應(yīng)用方面典型的例子包括視頻、音頻和網(wǎng)絡(luò)接口 。