DMA(Direct Memory Access) ,即直接存儲(chǔ)器存取,是一種快速傳送數(shù)據(jù)的機(jī)制。數(shù)據(jù)傳遞可以從適配卡到內(nèi)存,從內(nèi)存到適配卡或從一段內(nèi)存到另一段內(nèi)存。
DMA通道是用來傳輸數(shù)據(jù)的
DMA技術(shù)的重要性在于,利用它進(jìn)行數(shù)據(jù)傳送時(shí)不需要CPU的參與。每臺(tái)電腦主機(jī)板上都有DMA控制器,通常計(jì)算機(jī)對(duì)其編程,并用一個(gè)適配器上的ROM(如軟盤驅(qū)動(dòng)控制器上的ROM)來儲(chǔ)存程序,這些程序控制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ù)直接在源地址和目的地址之間傳送,不需要中間媒介。 對(duì)于每一次寫操作,DMA控制器都控制地址總線,通知應(yīng)將數(shù)據(jù)寫到哪段內(nèi)存中去。
DMA控制數(shù)據(jù)從內(nèi)存?zhèn)魉偷竭m配卡的方法與上面類似。對(duì)每一個(gè)要傳送的單位數(shù)據(jù),DMA控制器激活讀內(nèi)存和I/O寫操作的總線。內(nèi)存地址被放到地址總線上,像從適配卡到內(nèi)存?zhèn)魉蛿?shù)據(jù)一樣,以數(shù)據(jù)總線為通道,數(shù)據(jù)從源地址直接傳送到目的地址。 DMA從DMA請(qǐng)求線(DREQ)上接收DMA請(qǐng)求,正像中斷控制器從中斷請(qǐng)求線(IRQ)上接收中斷請(qǐng)求一樣。 一個(gè)典型的從適配卡到內(nèi)存的數(shù)據(jù)傳送是這樣進(jìn)行的,首先,對(duì)DMA控制器編程,寫入數(shù)據(jù)要到達(dá)的內(nèi)存地址和要傳送的字節(jié)數(shù)。適配器可以開始傳送數(shù)據(jù)時(shí),它將激活DREQ線,與DMA控制器連通。DMA控制器在與CPU取得總線控制權(quán)后,輸出內(nèi)存地址,發(fā)送控制信號(hào),使得一個(gè)字節(jié)或一個(gè)字從適配器讀出并寫入相應(yīng)內(nèi)存中,然后更新內(nèi)存地址,指向下一個(gè)字節(jié)(或字)要寫入的地址,重復(fù)上面的操作,直至數(shù)據(jù)傳送完畢。對(duì)控制器進(jìn)行不同編程,就可以實(shí)現(xiàn)單字節(jié)傳送(即每傳送一個(gè)字節(jié)都要求一個(gè)DREQ信號(hào))或塊數(shù)據(jù)傳送(即全部數(shù)據(jù)傳送只需要一個(gè)DREQ信號(hào))。
如果你要往計(jì)算機(jī)中插一塊適配卡,而且適配卡使用DMA,通常安裝程序會(huì)讓你選擇一個(gè)DMA通道,設(shè)定DIP開關(guān)或跳線,來為相應(yīng)適配器設(shè)置DMA通道。盡管從理論上講,只要不是同時(shí)使用DREQ線,不同的適配卡可以共享這條線的,但是按常規(guī),我們最好為每個(gè)適配卡單獨(dú)安排一個(gè)DMA通道,這樣就可以保證不會(huì)發(fā)生DMA沖突,DMA方式下由于不直接訪問計(jì)算機(jī)的CPU,而直接在RAM與設(shè)備之間傳輸,因而大大提高了數(shù)據(jù)傳輸速度。2100433B
單片機(jī)里的DMA是什么意思啊,有款單片機(jī)說具有DMA控制器,中的DMA是什么意思?。?/a>
DMA就是直接存儲(chǔ)器訪問的首字母縮寫(Direct Memory Access)。CPU的總線上同時(shí)會(huì)掛著多幾個(gè)存儲(chǔ)器,如果想要將存儲(chǔ)器1的內(nèi)容復(fù)制到存儲(chǔ)器2,如果不用DMA的話,就得靠CPU直接去操...
stm32f4的DAC的DMA傳輸?shù)刂肥鞘裁矗?/a>
KU?Band?LNBLNB是長期工作在露天的有源電子部件,產(chǎn)生故障的原因有慢性的,如雨水銹蝕,也有瞬間的,如雷擊、浪涌(電壓和電流)沖擊。
格式:pdf
大?。?span id="2hex727" class="single-tag-height">256KB
頁數(shù): 3頁
評(píng)分: 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
大?。?span id="7q77exx" class="single-tag-height">256KB
頁數(shù): 3頁
評(píng)分: 4.3
公路工程的涵洞一般采用金屬筋混凝土制作。現(xiàn)采用金屬波紋涵管代替金屬筋混凝土進(jìn)行涵 洞施工在國內(nèi)時(shí)一項(xiàng)新技術(shù),金屬波紋涵管以其性能穩(wěn)定、安裝方便、有利環(huán)保、造價(jià)低等 優(yōu)點(diǎn)迅速在公路施工中代替了金屬筋混凝土施工的涵洞,發(fā)展前景非常廣闊。在公路施工中, 應(yīng)用金屬波紋涵管代替金屬筋混凝土進(jìn)行涵洞施工的歷史已經(jīng)有 100多年了。 1896年,美國 率先進(jìn)行波紋管涵通道、涵管的可行性研究。其后,在美國、加拿大、澳大利亞等國的公路 建設(shè)中,均采用了金屬波紋涵管進(jìn)行涵洞的施工。 1990年,日本高速公路設(shè)計(jì),規(guī)范制定了 波紋管涵設(shè)計(jì)技術(shù)規(guī)范。 隨著波紋管涵在世界各地的安裝使用,證明了此種結(jié)構(gòu)在各種使用情況下的通用性。在 我國改革開放后,深圳及大同煤礦開始從國外進(jìn)口成品波紋管涵進(jìn)行涵洞施工。之后,上海 市公路管理處、上海市政工程設(shè)計(jì)研究院、上海同濟(jì)大學(xué)對(duì)金屬波紋涵管進(jìn)行了動(dòng)、靜載試 驗(yàn),結(jié)果表明能滿足設(shè)計(jì)使
一般而言,DMA控制器將包括一條地址總線、一條數(shù)據(jù)總線和控制寄存器。高效率的DMA控制器將具有訪問其所需要的任意資源的能力,而無須處理器本身的介入,它必須能產(chǎn)生中斷。最后,它必須能在控制器內(nèi)部計(jì)算出地址。
一個(gè)處理器可以包含多個(gè)DMA控制器。每個(gè)控制器有多個(gè)DMA通道,以及多條直接與存儲(chǔ)器站(memory bank)和外設(shè)連接的總線,如圖1所示。在很多高性能處理器中集成了兩種類型的DMA控制器。第一類通常稱為“系統(tǒng)DMA控制器”,可以實(shí)現(xiàn)對(duì)任何資源(外設(shè)和存儲(chǔ)器)的訪問,對(duì)于這種類型的控制器來說,信號(hào)周期數(shù)是以系統(tǒng)時(shí)鐘(SCLK)來計(jì)數(shù)的,以ADI的Blackfin處理器為 例,頻率最高可達(dá)133MHz。第二類稱為內(nèi)部存儲(chǔ)器DMA控制器(IMDMA),專門用于內(nèi)部存儲(chǔ)器所處位置之間的相互存取操作。因?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è)或存儲(chǔ)器之間的緩沖器的作用。對(duì)于MemDMA(Memory DMA)來說,傳輸?shù)脑炊撕湍繕?biāo)端都有一組FIFO存在。當(dāng)資源緊張而不能完成數(shù)據(jù)傳輸?shù)脑?,則FIFO可以提供數(shù)據(jù)的暫存區(qū),從而提高性能。
因?yàn)槟阃ǔ?huì)在代碼初始化過程中對(duì)DMA控制器進(jìn)行配置,內(nèi)核就只需要在數(shù)據(jù)傳輸完成后對(duì)中斷做出響應(yīng)即可。你可以對(duì)DMA控制進(jìn)行編程,讓其與內(nèi)核并行地移動(dòng)數(shù)據(jù),而同時(shí)讓內(nèi)核執(zhí)行其基本的處理任務(wù)—那些應(yīng)該讓它專注完成的工作。
有兩類主要的DMA傳輸結(jié)構(gòu):寄存器模式和描述符模式。無論屬于哪一類DMA,表1的幾種信息都會(huì)在DMA控制器中出現(xiàn)。當(dāng)DMA以寄存器模式工作時(shí),DMA控制器只是簡單地利用寄存器中所存儲(chǔ)的參數(shù)值。在描述符模式中,DMA控制器在存儲(chǔ)器中查找自己的配置參數(shù)。
(1)基于寄存器的DMA
在基于寄存器的DMA內(nèi)部,處理器直接對(duì)DMA控制寄存器進(jìn)行編程,來啟動(dòng)傳輸?;诩拇嫫鞯腄MA提供了最佳的DMA控制器性能,因?yàn)榧拇嫫鞑⒉恍枰粩嗟貜拇鎯?chǔ)器中的描述符上載入數(shù)據(jù),而內(nèi)核也不需要保持描述符?;诩拇嫫鞯腄MA由兩種子模式組成:自動(dòng)緩沖(Autobuffer)模式和停止模式。在自動(dòng)緩沖DMA中,當(dāng)一個(gè)傳輸塊傳輸完畢,控制寄存器就自動(dòng)重新載入其最初的設(shè)定值,同一個(gè)DMA進(jìn)程重新啟動(dòng),開銷為零。如果將一個(gè)自動(dòng)緩沖DMA設(shè)定為從外設(shè)傳輸一定數(shù)量的字到 L1數(shù)據(jù)存儲(chǔ)器的緩沖器上,則DMA控制器將會(huì)在最后一個(gè)字傳輸完成的時(shí)刻就迅速重新載入初始的參數(shù)。這構(gòu)成了一個(gè)“循環(huán)緩沖器”,因?yàn)楫?dāng)一個(gè)量值被寫入 到緩沖器的最后一個(gè)位置上時(shí),下一個(gè)值將被寫入到緩沖器的第一個(gè)位置上。
自動(dòng)緩沖DMA特別適合于對(duì)性能敏感的、存在持續(xù)數(shù)據(jù)流的應(yīng)用。DMA控制器可以在獨(dú)立于處理器其他活動(dòng)的情況下讀入數(shù)據(jù)流,然后在每次傳輸結(jié)束時(shí),向內(nèi)核發(fā)出中斷。
停止模式的工作方式與自動(dòng)緩沖DMA類似,區(qū)別在于各寄存器在DMA結(jié)束后不會(huì)重新載入,因 此整個(gè)DMA傳輸只發(fā)生一次。停止模式對(duì)于基于某種事件的一次性傳輸來說十分有用。例如,非定期地將數(shù)據(jù)塊從一個(gè)位置轉(zhuǎn)移到另一個(gè)位置。當(dāng)你需要對(duì)事件進(jìn) 行同步時(shí),這種模式也非常有用。例如,如果一個(gè)任務(wù)必須在下一次傳輸前完成的話,則停止模式可以確保各事件發(fā)生的先后順序。此外,停止模式對(duì)于緩沖器的初 始化來說非常有用。
(2)描述符模型
基于描述符(descriptor)的DMA要求在存儲(chǔ)器中存入一組參數(shù),以 啟動(dòng)DMA的系列操作。該描述符所包含的參數(shù)與那些通常通過編程寫入DMA控制寄存器組的所有參數(shù)相同。不過,描述符還可以容許多個(gè)DMA操作序列串在一 起。在基于描述符的DMA操作中,我們可以對(duì)一個(gè)DMA通道進(jìn)行編程,在當(dāng)前的操作序列完成后,自動(dòng)設(shè)置并啟動(dòng)另一次DMA傳輸?;诿枋龇姆绞綖楣芾?系統(tǒng)中的DMA傳輸提供了最大的靈活性 。
DMA既可以指內(nèi)存和外設(shè)直接存取數(shù)據(jù)這種內(nèi)存訪問的計(jì)算機(jī)技術(shù),又可以指實(shí)現(xiàn)該技術(shù)的硬件模塊(對(duì)于通用計(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ò)接口 。