版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、【W(wǎng)ord版本下載可任意編輯】 dma技術(shù)的工作原理分析 DMA技術(shù)是Direct Memory Access的縮寫。其意思是“存儲器直接訪問”。它是指一種高速的數(shù)據(jù)傳輸操作,允許在外部設(shè)備和存儲器之間直接讀寫數(shù)據(jù),既不通過CPU,也不需要CPU干預(yù)。 DMA是指外部設(shè)備不通過CPU而直接與系統(tǒng)內(nèi)存交換數(shù)據(jù)的接口技術(shù)。要把外設(shè)的數(shù)據(jù)讀入內(nèi)存或把內(nèi)存的數(shù)據(jù)傳送到外設(shè),一般都要通過CPU控制完成,如CPU程序查詢或中斷方式。利用中斷開展數(shù)據(jù)傳送,可以大大提高CPU的利用率。 但是采用中斷傳送有它的缺點,對于一個高速I/O設(shè)備,以及批量交換數(shù)據(jù)的情況,只能采用DMA方式,才能解決效率和速度問題。DM
2、A在外設(shè)與內(nèi)存間直接開展數(shù)據(jù)交換,而不通過CPU,這樣數(shù)據(jù)傳送的速度就取決于存儲器和外設(shè)的工作速度。 整個數(shù)據(jù)傳輸操作在一個稱為“DMA控制器”的控制下開展的。CPU除了在數(shù)據(jù)傳輸開始和結(jié)束時作一點處理外,在傳輸過程中CPU可以開展其它的工作。這樣,在大部分時間里,CPU和輸入輸出都處在并行操作。因此,使整個計算機系統(tǒng)的效率大大提高。 DMA原理 DMA原理:DMA(Direct Memory Access,直接內(nèi)存存?。?是所有現(xiàn)代電腦的重要特色,它允許不同速度的硬件裝置來溝通,而不需要依于 CPU 的大量 中斷 負載。否則,CPU 需要從 把每一片段的資料復(fù)制到 暫存器,然后把他們再次寫回
3、到新的地方。在這個時間中,CPU 對于其他的工作來說就無法使用。 DMA 傳輸將數(shù)據(jù)從一個地址空間復(fù)制到另外一個地址空間。當(dāng) CPU 初始化這個傳輸動作,傳輸動作本身是由 DMA 控制器 來實行和完成。典型的例子就是移動一個外部內(nèi)存的區(qū)塊到芯片內(nèi)部更快的內(nèi)存區(qū)。像是這樣的操作并沒有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。DMA 傳輸對于高效能 嵌入式系統(tǒng) 算法和網(wǎng)絡(luò)是很重要的。 在實現(xiàn)DMA傳輸時,是由DMA控制器直接掌管總線,因此,存在著一個總線控制權(quán)轉(zhuǎn)移問題。即DMA傳輸前,CPU要把總線控制權(quán)交給DMA控制器,而在結(jié)束DMA傳輸后,DMA控制器應(yīng)立即把總線控制權(quán)再交回給CP
4、U。 一個完整的DMA傳輸過程必須經(jīng)過下面的4個步驟。 一、DMA傳輸過程 1.DMA請求 CPU對DMA控制器初始化,并向I/O接口發(fā)出操作命令,I/O接口提出DMA請求。 2.DMA響應(yīng) DMA控制器對DMA請求判別優(yōu)先級及屏蔽,向總線裁決邏輯提出總線請求。當(dāng)CPU執(zhí)行完當(dāng)前總線周期即可釋放總線控制權(quán)。此時,總線裁決邏輯輸出總線應(yīng)答,表示DMA已經(jīng)響應(yīng),通過DMA控制器通知I/O接口開始DMA傳輸。 3.DMA傳輸 DMA控制器獲得總線控制權(quán)后,CPU即刻掛起或只執(zhí)行內(nèi)部操作,由DMA控制器輸出讀寫命令,直接控制RAM與I/O接口開展DMA傳輸。 在DMA控制器的控制下,在存儲器和外部設(shè)備
5、之間直接開展數(shù)據(jù)傳送,在傳送過程中不需要中央處理器的參與。開始時需提供要傳送的數(shù)據(jù)的起始位置和數(shù)據(jù)長度。 4.DMA結(jié)束 當(dāng)完成規(guī)定的成批數(shù)據(jù)傳送后,DMA控制器即釋放總線控制權(quán),并向I/O接口發(fā)出結(jié)束信號。當(dāng)I/O接口收到結(jié)束信號后,一方面停 止I/O設(shè)備的工作,另一方面向CPU提出中斷請求,使CPU從不介入的狀態(tài)解脫,并執(zhí)行一段檢查本次DMA傳輸操作正確性的代碼。,帶著本次操作結(jié)果及狀態(tài)繼續(xù)執(zhí)行原來的程序。 由此可見,DMA傳輸方式無需CPU直接控制傳輸,也沒有中斷處理方式那樣保存現(xiàn)場和恢復(fù)現(xiàn)場的過程,通過硬件為RAM與I/O設(shè)備開辟一條直接傳送數(shù)據(jù)的通路,使CPU的效率大為提高。 二、D
6、MA傳送方式 DMA技術(shù)的出現(xiàn), 使得外圍設(shè)備可以通過DMA控制器直接訪問內(nèi)存,與此同時,CPU可以繼續(xù)執(zhí)行程序.那么DMA控制器與CPU怎樣分時使用內(nèi)存呢?通常采用以下三種方法: (1)停止CPU訪內(nèi); (2)周期挪用; (3)DMA與CPU交替訪內(nèi)存. 1.停止CPU訪問內(nèi)存 當(dāng)外圍設(shè)備要求傳送一批數(shù)據(jù)時,由DMA控制器發(fā)一個停止信號給CPU,要求CPU放棄對地址總線、數(shù)據(jù)總線和有關(guān)控制總線的使用權(quán).DMA控制器獲得總線控制權(quán)以后,開始開展數(shù)據(jù)傳送.在一批數(shù)據(jù)傳送完畢后,DMA控制器通知CPU可以使用內(nèi)存,并把總線控制權(quán)交還給CPU.圖8.16(a)是這種傳送方式的時間圖.很顯然,在這種D
7、MA傳送過程中,CPU基本處于不工作狀態(tài)或者說保持狀態(tài)。 優(yōu)點: 控制簡單,它適用于數(shù)據(jù)傳輸率很高的設(shè)備開展成組傳送。 缺點: 在DMA控制器訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮,相當(dāng)一部分內(nèi)存工作周期是空閑的。這是因為,外圍設(shè)備傳送兩個數(shù)據(jù)之間的間隔一般總是大于內(nèi)存存儲周期,即使高速I/O設(shè)備也是如此。例如,軟盤讀出一個8位二進制數(shù)大約需要32us,而半導(dǎo)體內(nèi)存的存儲周期小于0.5us,因此許多空閑的存儲周期不能被CPU利用. 2.周期挪用: 當(dāng)I/O設(shè)備沒有DMA請求時,CPU按程序要求訪問內(nèi)存;一旦I/O設(shè)備有DMA請求,則由I/O設(shè)備挪用一個或幾個內(nèi)存周期。 這種傳送方式的時間圖如下: I
8、/O設(shè)備要求DMA傳送時可能遇到兩種情況: (1) 此時CPU不需要訪內(nèi),如CPU正在執(zhí)行乘法指令。由于乘法指令執(zhí)行時間較長,此時I/O訪內(nèi)與CPU訪內(nèi)沒有沖突,即I/O設(shè)備挪用一二個內(nèi)存周期對CPU執(zhí)行程序沒有任何影響。 (2) I/O設(shè)備要求訪內(nèi)時CPU也要求訪內(nèi),這就產(chǎn)生了訪內(nèi)沖突,在這種情況下I/O設(shè)備訪內(nèi)優(yōu)先,因為I/O訪內(nèi)有時間要求,前一個I/O數(shù)據(jù)必須在下一個訪內(nèi)請求到來之前存取完畢。顯然,在這種情況下I/O 設(shè)備挪用一二個內(nèi)存周期,意味著CPU延緩了對指令的執(zhí)行,或者更明確地說,在CPU執(zhí)行訪內(nèi)指令的過程中插入DMA請求,挪用了一二個內(nèi)存周期。 與停止CPU訪內(nèi)的DMA方法比較
9、,周期挪用的方法既實現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率,是一種廣泛采用的方法。但是I/O設(shè)備每周期挪用都有申請總線控制權(quán)、建立線控制權(quán)和歸還總線控制權(quán)的過程,所以傳送一個字對內(nèi)存來說要占用一個周期,但對DMA控制器來說一般要25個內(nèi)存周期(視邏輯線路的延遲而定)。因此,周期挪用的方法適用于I/O設(shè)備讀寫周期大于內(nèi)存存儲周期的情況。 3.DMA與CPU交替訪內(nèi) 如果CPU的工作周期比內(nèi)存存取周期長很多,此時采用交替訪內(nèi)的方法可以使DMA傳送和CPU同時發(fā)揮的效率。假設(shè)CPU工作周期為 1.2s,內(nèi)存存取周期小于0.6s,那么一個CPU周期可分為C1和C2兩個分周期,其中C1供DMA
10、控制器訪內(nèi),C2專供CPU訪內(nèi)。 這種傳送方式的時間圖如下: 下頁圖是DMA與CPU交替訪內(nèi)的詳細時間圖.假設(shè)CPU工作周期為1.2us,內(nèi)存存取周期小于0.6us,那么一個CPU周期可分為C1和C2兩個分周期,其中C1專供DMA控制器訪內(nèi),C2專供CPU訪內(nèi). 這種方式不需要總線使用權(quán)的申請、建立和歸還過程,總線使用權(quán)是通過C1和C2分時制的。CPU和DMA控制器各自有自己的訪內(nèi)地址存放器、數(shù)據(jù)存放器和讀/寫信號等控制存放器。在C1周期中,如果DMA控制器有訪內(nèi)請求,可將地址、數(shù)據(jù)等信號送到總線上。在C2周期中,如CPU有訪內(nèi)請求,同樣傳送地址、數(shù)據(jù)等信號。事實上,對于總線,這是用C1,C2控制的一個多路轉(zhuǎn)換器,這種總
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年陜西省新安中心醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年泉州工程職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年防城港市婦幼保健院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年河北軟件職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2024年長治市商業(yè)醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年江西農(nóng)業(yè)工程職業(yè)學(xué)院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年江蘇商貿(mào)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 二零二五年度鐵路旅客運輸安全管理合同
- 2024年昆明鐵道職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- (高清版)DB2203∕T 4-2023 政務(wù)服務(wù)禮儀規(guī)范
- (規(guī)劃設(shè)計)家具產(chǎn)業(yè)園項目可行性研究報告
- 2025康復(fù)科年度工作計劃
- 拼圖行業(yè)未來五年前景展望
- 廣西玉林市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版質(zhì)量測試(上學(xué)期)試卷及答案
- 醫(yī)院醫(yī)??乒ぷ骺偨Y(jié)
- 2024-2025學(xué)年譯林版八年級英語上學(xué)期重點詞匯短語句子歸納【考點清單】
- 廣東省六校聯(lián)考2024-2025學(xué)年高二上學(xué)期12月月考英語試題
- 養(yǎng)老護理員技能培訓(xùn)的標(biāo)準(zhǔn)化實施方案
- 2024年企業(yè)采購部年終總結(jié)及今后計劃(3篇)
- 2024中國誠通控股集團限公司總部招聘11人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025初級會計理論考試100題及解析
評論
0/150
提交評論