日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

dma技術(shù)的工作原理分析

出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2017-12-08 14:04:15

  DMA技術(shù)是Direct Memory Access的縮寫。其意思是“存儲(chǔ)器直接訪問(wèn)”。它是指一種高速的數(shù)據(jù)傳輸操作,允許在外部設(shè)備和存儲(chǔ)器之間直接讀寫數(shù)據(jù),既不通過(guò)CPU,也不需要CPU干預(yù)。

  DMA是指外部設(shè)備不通過(guò)CPU而直接與系統(tǒng)內(nèi)存交換數(shù)據(jù)的接口技術(shù)。要把外設(shè)的數(shù)據(jù)讀入內(nèi)存或把內(nèi)存的數(shù)據(jù)傳送到外設(shè),一般都要通過(guò)CPU控制完成,如CPU程序查詢或中斷方式。利用中斷進(jìn)行數(shù)據(jù)傳送,可以大大提高CPU的利用率。 但是采用中斷傳送有它的缺點(diǎn),對(duì)于一個(gè)高速I/O設(shè)備,以及批量交換數(shù)據(jù)的情況,只能采用DMA方式,才能解決效率和速度問(wèn)題。DMA在外設(shè)與內(nèi)存間直接進(jìn)行數(shù)據(jù)交換,而不通過(guò)CPU,這樣數(shù)據(jù)傳送的速度就取決于存儲(chǔ)器和外設(shè)的工作速度。

  整個(gè)數(shù)據(jù)傳輸操作在一個(gè)稱為“DMA控制器”的控制下進(jìn)行的。CPU除了在數(shù)據(jù)傳輸開始和結(jié)束時(shí)作一點(diǎn)處理外,在傳輸過(guò)程中CPU可以進(jìn)行其它的工作。這樣,在大部分時(shí)間里,CPU和輸入輸出都處在并行操作。因此,使整個(gè)計(jì)算機(jī)系統(tǒng)的效率大大提高。

  DMA原理

  DMA原理:DMA(Direct Memory Access,直接內(nèi)存存?。?是所有現(xiàn)代電腦的重要特色,它允許不同速度的硬件裝置來(lái)溝通,而不需要依于 CPU 的大量 中斷 負(fù)載。否則,CPU 需要從 來(lái)源 把每一片段的資料復(fù)制到 暫存器,然后把他們?cè)俅螌懟氐叫碌牡胤健T谶@個(gè)時(shí)間中,CPU 對(duì)于其他的工作來(lái)說(shuō)就無(wú)法使用。 DMA 傳輸將數(shù)據(jù)從一個(gè)地址空間復(fù)制到另外一個(gè)地址空間。當(dāng) CPU 初始化這個(gè)傳輸動(dòng)作,傳輸動(dòng)作本身是由 DMA 控制器 來(lái)實(shí)行和完成。典型的例子就是移動(dòng)一個(gè)外部?jī)?nèi)存的區(qū)塊到芯片內(nèi)部更快的內(nèi)存區(qū)。像是這樣的操作并沒(méi)有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。DMA 傳輸對(duì)于高效能 嵌入式系統(tǒng) 算法和網(wǎng)絡(luò)是很重要的。

  在實(shí)現(xiàn)DMA傳輸時(shí),是由DMA控制器直接掌管總線,因此,存在著一個(gè)總線控制權(quán)轉(zhuǎn)移問(wèn)題。即DMA傳輸前,CPU要把總線控制權(quán)交給DMA控制器,而在結(jié)束DMA傳輸后,DMA控制器應(yīng)立即把總線控制權(quán)再交回給CPU。 一個(gè)完整的DMA傳輸過(guò)程必須經(jīng)過(guò)下面的4個(gè)步驟。

  dma技術(shù)的工作原理分析

  一、DMA傳輸過(guò)程


1.DMA請(qǐng)求

  CPU對(duì)DMA控制器初始化,并向I/O接口發(fā)出操作命令,I/O接口提出DMA請(qǐng)求。
2.DMA響應(yīng)

  DMA控制器對(duì)DMA請(qǐng)求判別優(yōu)先級(jí)及屏蔽,向總線裁決邏輯提出總線請(qǐng)求。當(dāng)CPU執(zhí)行完當(dāng)前總線周期即可釋放總線控制權(quán)。此時(shí),總線裁決邏輯輸出總線應(yīng)答,表示DMA已經(jīng)響應(yīng),通過(guò)DMA控制器通知I/O接口開始DMA傳輸。

  3.DMA傳輸

  DMA控制器獲得總線控制權(quán)后,CPU即刻掛起或只執(zhí)行內(nèi)部操作,由DMA控制器輸出讀寫命令,直接控制RAM與I/O接口進(jìn)行DMA傳輸。 在DMA控制器的控制下,在存儲(chǔ)器和外部設(shè)備之間直接進(jìn)行數(shù)據(jù)傳送,在傳送過(guò)程中不需要中央處理器的參與。開始時(shí)需提供要傳送的數(shù)據(jù)的起始位置和數(shù)據(jù)長(zhǎng)度。

  4.DMA結(jié)束

  當(dāng)完成規(guī)定的成批數(shù)據(jù)傳送后,DMA控制器即釋放總線控制權(quán),并向I/O接口發(fā)出結(jié)束信號(hào)。當(dāng)I/O接口收到結(jié)束信號(hào)后,一方面停 止I/O設(shè)備的工作,另一方面向CPU提出中斷請(qǐng)求,使CPU從不介入的狀態(tài)解脫,并執(zhí)行一段檢查本次DMA傳輸操作正確性的代碼。,帶著本次操作結(jié)果及狀態(tài)繼續(xù)執(zhí)行原來(lái)的程序。

  由此可見(jiàn),DMA傳輸方式無(wú)需CPU直接控制傳輸,也沒(méi)有中斷處理方式那樣保留現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)的過(guò)程,通過(guò)硬件為RAM與I/O設(shè)備開辟一條直接傳送數(shù)據(jù)的通路,使CPU的效率大為提高。

  二、DMA傳送方式 DMA技術(shù)的出現(xiàn),


使得外圍設(shè)備可以通過(guò)DMA控制器直接訪問(wèn)內(nèi)存,與此同時(shí),CPU可以繼續(xù)執(zhí)行程序.那么DMA控制器與CPU怎樣分時(shí)使用內(nèi)存呢?通常采用以下三種方法:

 ?。?)停止CPU訪內(nèi);

 ?。?)周期挪用;

 ?。?)DMA與CPU交替訪內(nèi)存.

  1.停止CPU訪問(wèn)內(nèi)存

  當(dāng)外圍設(shè)備要求傳送一批數(shù)據(jù)時(shí),由DMA控制器發(fā)一個(gè)停止信號(hào)給CPU,要求CPU放棄對(duì)地址總線、數(shù)據(jù)總線和有關(guān)控制總線的使用權(quán).DMA控制器獲得總線控制權(quán)以后,開始進(jìn)行數(shù)據(jù)傳送.在一批數(shù)據(jù)傳送完畢后,DMA控制器通知CPU可以使用內(nèi)存,并把總線控制權(quán)交還給CPU.圖8.16(a)是這種傳送方式的時(shí)間圖.很顯然,在這種DMA傳送過(guò)程中,CPU基本處于不工作狀態(tài)或者說(shuō)保持狀態(tài)。

  dma技術(shù)的工作原理分析

  優(yōu)點(diǎn): 控制簡(jiǎn)單,它適用于數(shù)據(jù)傳輸率很高的設(shè)備進(jìn)行成組傳送。

  缺點(diǎn): 在DMA控制器訪內(nèi)階段,內(nèi)存的效能沒(méi)有充分發(fā)揮,相當(dāng)一部分內(nèi)存工作周期是空閑的。這是因?yàn)?,外圍設(shè)備傳送兩個(gè)數(shù)據(jù)之間的間隔一般總是大于內(nèi)存存儲(chǔ)周期,即使高速I/O設(shè)備也是如此。例如,軟盤讀出一個(gè)8位二進(jìn)制數(shù)大約需要32us,而半導(dǎo)體內(nèi)存的存儲(chǔ)周期小于0.5us,因此許多空閑的存儲(chǔ)周期不能被CPU利用.

  2.周期挪用: 當(dāng)I/O設(shè)備沒(méi)有DMA請(qǐng)求時(shí),CPU按程序要求訪問(wèn)內(nèi)存;一旦I/O設(shè)備有DMA請(qǐng)求,則由I/O設(shè)備挪用一個(gè)或幾個(gè)內(nèi)存周期。

  這種傳送方式的時(shí)間圖如下:

  dma技術(shù)的工作原理分析

  I/O設(shè)備要求DMA傳送時(shí)可能遇到兩種情況:

  (1) 此時(shí)CPU不需要訪內(nèi),如CPU正在執(zhí)行乘法指令。由于乘法指令執(zhí)行時(shí)間較長(zhǎng),此時(shí)I/O訪內(nèi)與CPU訪內(nèi)沒(méi)有沖突,即I/O設(shè)備挪用一二個(gè)內(nèi)存周期對(duì)CPU執(zhí)行程序沒(méi)有任何影響。

 ?。?) I/O設(shè)備要求訪內(nèi)時(shí)CPU也要求訪內(nèi),這就產(chǎn)生了訪內(nèi)沖突,在這種情況下I/O設(shè)備訪內(nèi)優(yōu)先,因?yàn)镮/O訪內(nèi)有時(shí)間要求,前一個(gè)I/O數(shù)據(jù)必須在下一個(gè)訪內(nèi)請(qǐng)求到來(lái)之前存取完畢。顯然,在這種情況下I/O 設(shè)備挪用一二個(gè)內(nèi)存周期,意味著CPU延緩了對(duì)指令的執(zhí)行,或者更明確地說(shuō),在CPU執(zhí)行訪內(nèi)指令的過(guò)程中插入DMA請(qǐng)求,挪用了一二個(gè)內(nèi)存周期。 與停止CPU訪內(nèi)的DMA方法比較,周期挪用的方法既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率,是一種廣泛采用的方法。但是I/O設(shè)備每周期挪用都有申請(qǐng)總線控制權(quán)、建立線控制權(quán)和歸還總線控制權(quán)的過(guò)程,所以傳送一個(gè)字對(duì)內(nèi)存來(lái)說(shuō)要占用一個(gè)周期,但對(duì)DMA控制器來(lái)說(shuō)一般要2—5個(gè)內(nèi)存周期(視邏輯線路的延遲而定)。因此,周期挪用的方法適用于I/O設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周期的情況。

  3.DMA與CPU交替訪內(nèi) 如果CPU的工作周期比內(nèi)存存取周期長(zhǎng)很多,此時(shí)采用交替訪內(nèi)的方法可以使DMA傳送和CPU同時(shí)發(fā)揮的效率。假設(shè)CPU工作周期為 1.2μs,內(nèi)存存取周期小于0.6μs,那么一個(gè)CPU周期可分為C1和C2兩個(gè)分周期,其中C1供DMA控制器訪內(nèi),C2專供CPU訪內(nèi)。

  這種傳送方式的時(shí)間圖如下:

  dma技術(shù)的工作原理分析

  下頁(yè)圖是DMA與CPU交替訪內(nèi)的詳細(xì)時(shí)間圖.假設(shè)CPU工作周期為1.2us,內(nèi)存存取周期小于0.6us,那么一個(gè)CPU周期可分為C1和C2兩個(gè)分周期,其中C1專供DMA控制器訪內(nèi),C2專供CPU訪內(nèi).

  這種方式不需要總線使用權(quán)的申請(qǐng)、建立和歸還過(guò)程,總線使用權(quán)是通過(guò)C1和C2分時(shí)制的。CPU和DMA控制器各自有自己的訪內(nèi)地址寄存器、數(shù)據(jù)寄存器和讀/寫信號(hào)等控制寄存器。在C1周期中,如果DMA控制器有訪內(nèi)請(qǐng)求,可將地址、數(shù)據(jù)等信號(hào)送到總線上。在C2周期中,如CPU有訪內(nèi)請(qǐng)求,同樣傳送地址、數(shù)據(jù)等信號(hào)。事實(shí)上,對(duì)于總線,這是用C1,C2控制的一個(gè)多路轉(zhuǎn)換器,這種總線控制權(quán)的轉(zhuǎn)移幾乎不需要什么時(shí)間,所以對(duì)DMA傳送來(lái)講效率是很高的。

  這種傳送方式又稱為“透明的DMA”方式,其來(lái)由是這種DMA傳送對(duì)CPU來(lái)說(shuō),如同透明的玻璃一般,沒(méi)有任何感覺(jué)或影響。在透明的DMA方式下工作,CPU既不停止主程序的運(yùn)行,也不進(jìn)入等待狀態(tài),是一種高效率的工作方式。當(dāng)然,相應(yīng)的硬件邏輯也就更加復(fù)雜。

  dma技術(shù)的工作原理分析

關(guān)鍵詞:dma,存儲(chǔ)器,控制器

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!