DMA通道是用來傳輸數(shù)據(jù)的
DMA(Direct Memory Access) ,即直接存儲器存取,是一種快速傳送數(shù)據(jù)的機(jī)制。數(shù)據(jù)傳遞可以從適配卡到內(nèi)存,從內(nèi)存到適配卡或從一段內(nèi)存到另一段內(nèi)存。
DMA技術(shù)的重要性在于,利用它進(jìn)行數(shù)據(jù)傳送時(shí)不需要CPU的參與。每臺電腦主機(jī)板上都有DMA控制器,通常計(jì)算機(jī)對其編程,并用一個(gè)適配器上的ROM(如軟盤驅(qū)動控制器上的ROM)來儲存程序,這些程序控制DMA傳送數(shù)據(jù)。一旦控制器初始化完成,數(shù)據(jù)開始傳送,DMA就可以脫離CPU,獨(dú)立完成數(shù)據(jù)傳送。
在DMA傳送開始的短暫時(shí)間內(nèi),基本上有兩個(gè)處理器為它工作,一個(gè)執(zhí)行程序代碼,一個(gè)傳送數(shù)據(jù)。利用DMA傳送數(shù)據(jù)的另一個(gè)好處是,數(shù)據(jù)直接在源地址和目的地址之間傳送,不需要中間媒介。 對于每一次寫操作,DMA控制器都控制地址總線,通知應(yīng)將數(shù)據(jù)寫到哪段內(nèi)存中去。
DMA控制數(shù)據(jù)從內(nèi)存?zhèn)魉偷竭m配卡的方法與上面類似。對每一個(gè)要傳送的單位數(shù)據(jù),DMA控制器激活讀內(nèi)存和I/O寫操作的總線。內(nèi)存地址被放到地址總線上,像從適配卡到內(nèi)存?zhèn)魉蛿?shù)據(jù)一樣,以數(shù)據(jù)總線為通道,數(shù)據(jù)從源地址直接傳送到目的地址。 DMA從DMA請求線(DREQ)上接收DMA請求,正像中斷控制器從中斷請求線(IRQ)上接收中斷請求一樣。 一個(gè)典型的從適配卡到內(nèi)存的數(shù)據(jù)傳送是這樣進(jìn)行的,首先,對DMA控制器編程,寫入數(shù)據(jù)要到達(dá)的內(nèi)存地址和要傳送的字節(jié)數(shù)。適配器可以開始傳送數(shù)據(jù)時(shí),它將激活DREQ線,與DMA控制器連通。DMA控制器在與CPU取得總線控制權(quán)后,輸出內(nèi)存地址,發(fā)送控制信號,使得一個(gè)字節(jié)或一個(gè)字從適配器讀出并寫入相應(yīng)內(nèi)存中,然后更新內(nèi)存地址,指向下一個(gè)字節(jié)(或字)要寫入的地址,重復(fù)上面的操作,直至數(shù)據(jù)傳送完畢。對控制器進(jìn)行不同編程,就可以實(shí)現(xiàn)單字節(jié)傳送(即每傳送一個(gè)字節(jié)都要求一個(gè)DREQ信號)或塊數(shù)據(jù)傳送(即全部數(shù)據(jù)傳送只需要一個(gè)DREQ信號)。
如果你要往計(jì)算機(jī)中插一塊適配卡,而且適配卡使用DMA,通常安裝程序會讓你選擇一個(gè)DMA通道,設(shè)定DIP開關(guān)或跳線,來為相應(yīng)適配器設(shè)置DMA通道。盡管從理論上講,只要不是同時(shí)使用DREQ線,不同的適配卡可以共享這條線的,但是按常規(guī),我們最好為每個(gè)適配卡單獨(dú)安排一個(gè)DMA通道,這樣就可以保證不會發(fā)生DMA沖突,DMA方式下由于不直接訪問計(jì)算機(jī)的CPU,而直接在RAM與設(shè)備之間傳輸,因而大大提高了數(shù)據(jù)傳輸速度。2100433B
單片機(jī)里的DMA是什么意思啊,有款單片機(jī)說具有DMA控制器,中的DMA是什么意思啊?
DMA就是直接存儲器訪問的首字母縮寫(Direct Memory Access)。CPU的總線上同時(shí)會掛著多幾個(gè)存儲器,如果想要將存儲器1的內(nèi)容復(fù)制到存儲器2,如果不用DMA的話,就得靠CPU直接去操...
隧道施工期間利用橫洞提前進(jìn)入隧道內(nèi)增加隧道施工作業(yè)面,運(yùn)營期間可以利用橫洞作為救援通道。
格式:pdf
大小:141KB
頁數(shù): 未知
評分: 4.6
近年來,隨著東南船廠的發(fā)展,看準(zhǔn)國際海工多用途船市場不斷增大的需求量,開始將海工多用途船作為自己的主打產(chǎn)品,陸續(xù)承建了上百艘的海工多用途船。這些產(chǎn)品的電裝生產(chǎn)設(shè)計(jì)任務(wù)重,時(shí)間緊。主干電纜通道布置是電裝生產(chǎn)設(shè)計(jì)前任務(wù)的重要內(nèi)容。為了滿足船廠的需求,本文主要就海工多用途船的船型、總布置特點(diǎn)出發(fā),對主干電纜通道布置進(jìn)行研析,說明該類型船主干電纜通道布置的特點(diǎn)及優(yōu)化方向。
格式:pdf
大小:141KB
頁數(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.
一般而言,DMA控制器將包括一條地址總線、一條數(shù)據(jù)總線和控制寄存器。高效率的DMA控制器將具有訪問其所需要的任意資源的能力,而無須處理器本身的介入,它必須能產(chǎn)生中斷。最后,它必須能在控制器內(nèi)部計(jì)算出地址。
一個(gè)處理器可以包含多個(gè)DMA控制器。每個(gè)控制器有多個(gè)DMA通道,以及多條直接與存儲器站(memory bank)和外設(shè)連接的總線,如圖1所示。在很多高性能處理器中集成了兩種類型的DMA控制器。第一類通常稱為“系統(tǒng)DMA控制器”,可以實(shí)現(xiàn)對任何資源(外設(shè)和存儲器)的訪問,對于這種類型的控制器來說,信號周期數(shù)是以系統(tǒng)時(shí)鐘(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)核時(shí)鐘(CCLK)為基準(zhǔn)來進(jìn)行,該時(shí)鐘的速度可以超過600MHz。
每個(gè)DMA控制器有一組FIFO,起到DMA子系統(tǒng)和外設(shè)或存儲器之間的緩沖器的作用。對于MemDMA(Memory DMA)來說,傳輸?shù)脑炊撕湍繕?biāo)端都有一組FIFO存在。當(dāng)資源緊張而不能完成數(shù)據(jù)傳輸?shù)脑挘瑒tFIFO可以提供數(shù)據(jù)的暫存區(qū),從而提高性能。
因?yàn)槟阃ǔ诖a初始化過程中對DMA控制器進(jìn)行配置,內(nèi)核就只需要在數(shù)據(jù)傳輸完成后對中斷做出響應(yīng)即可。你可以對DMA控制進(jìn)行編程,讓其與內(nèi)核并行地移動數(shù)據(jù),而同時(shí)讓內(nèi)核執(zhí)行其基本的處理任務(wù)—那些應(yīng)該讓它專注完成的工作。
有兩類主要的DMA傳輸結(jié)構(gòu):寄存器模式和描述符模式。無論屬于哪一類DMA,表1的幾種信息都會在DMA控制器中出現(xiàn)。當(dāng)DMA以寄存器模式工作時(shí),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)一個(gè)傳輸塊傳輸完畢,控制寄存器就自動重新載入其最初的設(shè)定值,同一個(gè)DMA進(jìn)程重新啟動,開銷為零。如果將一個(gè)自動緩沖DMA設(shè)定為從外設(shè)傳輸一定數(shù)量的字到 L1數(shù)據(jù)存儲器的緩沖器上,則DMA控制器將會在最后一個(gè)字傳輸完成的時(shí)刻就迅速重新載入初始的參數(shù)。這構(gòu)成了一個(gè)“循環(huán)緩沖器”,因?yàn)楫?dāng)一個(gè)量值被寫入 到緩沖器的最后一個(gè)位置上時(shí),下一個(gè)值將被寫入到緩沖器的第一個(gè)位置上。
自動緩沖DMA特別適合于對性能敏感的、存在持續(xù)數(shù)據(jù)流的應(yīng)用。DMA控制器可以在獨(dú)立于處理器其他活動的情況下讀入數(shù)據(jù)流,然后在每次傳輸結(jié)束時(shí),向內(nèi)核發(fā)出中斷。
停止模式的工作方式與自動緩沖DMA類似,區(qū)別在于各寄存器在DMA結(jié)束后不會重新載入,因 此整個(gè)DMA傳輸只發(fā)生一次。停止模式對于基于某種事件的一次性傳輸來說十分有用。例如,非定期地將數(shù)據(jù)塊從一個(gè)位置轉(zhuǎn)移到另一個(gè)位置。當(dāng)你需要對事件進(jìn) 行同步時(shí),這種模式也非常有用。例如,如果一個(gè)任務(wù)必須在下一次傳輸前完成的話,則停止模式可以確保各事件發(fā)生的先后順序。此外,停止模式對于緩沖器的初 始化來說非常有用。
(2)描述符模型
基于描述符(descriptor)的DMA要求在存儲器中存入一組參數(shù),以 啟動DMA的系列操作。該描述符所包含的參數(shù)與那些通常通過編程寫入DMA控制寄存器組的所有參數(shù)相同。不過,描述符還可以容許多個(gè)DMA操作序列串在一 起。在基于描述符的DMA操作中,我們可以對一個(gè)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ò)接口 。