在DMA初始化階段,DMA是什麼裝置

2025-03-26 23:05:22 字數 5403 閱讀 5944

1樓:網友

direct memory access(儲存器直接訪問)。這是指一種高速的資料傳輸操作,允許在外部裝置和儲存器之間直接讀寫資料,既不通過cpu,也不需要cpu干預。整個資料傳輸操作在乙個稱為"dma控制器"的控制下進行的。

cpu除了在資料傳輸開始和結束時做一點處理外,在傳輸過程中cpu可以進行其他的工作。這樣,在大部分時間裡,cpu和輸入輸出都處於並行操作。因此,使整個計算機系統的效率大大提高。

dma的概念:dma是在專門的硬體( dma)控制下,實現高速外設和主儲存器之間自動成批交換資料儘量減少cpu干預的輸入/輸出操作方胡源慧式。通常有三種方式:

1、停止cpu訪內 2、週期挪用方式 3、dma與cpu交替訪內。

2)dma的組成:

主存位址暫存器。

資料數量計數器。

dma的控制/狀態邏輯。

dma請求觸發器。

資料緩衝暫存器。

中斷機構 3)dma的傳送資料的過程:由三個階段組成。

傳送前的預處理:由cpu完成以下步驟。

向dma卡送入裝置識別訊號,啟動裝置,測試裝置執行狀態,送入記憶體位址初值,傳送資料個數, dma的功能控制訊號。

資料傳送:在dma卡控制下自動完成。

傳送結束處理。

dma 卡上應包括通用介面卡的全部組成部分,並多出如下內容:

主存位址暫存器,傳送字數計數器,dma控制邏輯,dma請求,dma響應,dma工作方式,dma優先順序及排隊邏輯等。

一次完整的dma傳送過程:

dma 預處理,cpu向dma送命令,如dma方式,主存位址,傳送的字數等,之後cpu執行原來的程式。

dma 控制在 i/o 裝置與主存間交換資料:

準備乙個資料, 向cpu發dma請求,取得匯流排控制權,進行資料傳送,修改卡上主存位址,修改字數計數器內且檢褲答查其值是否為零,不為零則繼續傳送,若裂納已為零,則向 cpu發中斷請求。

dma技術的弊端:

因為dma允許外設直接訪問記憶體,從而形成對匯流排的獨佔。

這在即時性強的硬即時系統的嵌入式開發中將會造成中斷延時過長。這在軍事等系統中是不允許的。

dma方式主機與裝置是如何工作的

2樓:

您好,dma(直接記憶體訪問)是一種計算機裝置之間進行資料傳輸的技術。dma主機和裝置之間的資料傳輸,使用了一些專門的硬體裝置,稱為dma控制器。dma控制器耐羨晌是負責管理資料傳輸的,可以通過dma方式在主機派茄和裝置之間直接進行資料傳輸,而無需cpu的干預。

在dma方式下,cpu會發起乙個dma請求,請求dma控制器協助進行資料傳輸。dma控制器會直接訪問系統記憶體,將要傳輸的資料從主機記憶體中讀取並儲存到它自己的緩衝區中。之後,dma控制器將資料傳輸到裝置的緩衝區中,傳輸完成後,dma控制器會向cpu傳送一箇中斷昌鋒請求,通知cpu資料已經傳輸完成。

dma方式的資料傳輸過程不需要cpu的參與,因此可以提高資料傳輸效率,降低cpu的負載。而且,dma方式可以支援高速資料傳輸,適合於需要大量資料傳輸的場合,如音**處理、網路通訊等。

dma方式的工作過程

3樓:網友

實現dma傳送的基本操作如下:

1、外設可通過dma控制器向cpu發出dma請求;

2、cpu響應dma請求,系統轉變為dma工作方式,並把匯流排控制權交給dma控制器;

3、由dma控制器傳送儲存器位址,並決定傳送資料塊的長度;

4、執行dma傳送;

5、dma操作結束,並把匯流排控制權交還cpu。

4樓:網友

(1)外設可通過dma控制器向cpu發出dma請求:

2)cpu響應dma請求,系統轉變為dma工作方式,並把匯流排控制權交給dma控制器;

3)由dma控制器傳送儲存器位址,並決定傳送資料塊的長度;

4)執行dma傳送;

5)dma操作結束,並把匯流排控制權交還cpu。

工作原理:乙個裝置介面試圖通過匯流排直接向另乙個裝置傳送資料(一般是大批量的資料),它會先向cpu傳送dma請求訊號。外設通過dma的一種專門介面電路――dma控制器(dmac),向cpu提出接管匯流排控制權的匯流排請求,cpu收到該訊號後,在當前的匯流排週期結束後,會按dma訊號的優先順序和提出dma請求的先後順序響應dma訊號。cpu對某個裝置介面響應dma請求時,會讓出匯流排控制權。

於是在dma控制器的管理下,外設和儲存器直接進行資料交換,而不需cpu干預。資料傳送完畢後,裝置介面會向cpu傳送dma結束訊號,交還匯流排控制權。

用途:dma方式主要適用於一些高速的i/o裝置。這些裝置傳輸位元組或字的速度非常快。

對於這類高速i/o裝置,如果用輸入輸出指令或採用中斷的方法來傳輸位元組資訊,會大量佔用cpu的時間,同時也容易造成資料的丟失。而dma方式能使i/o裝置直接和儲存器進行成批資料的快速傳送。

這些暫存器在資訊傳送之前需要進行初始化設定。即在輸入輸出程式中用組合語言指令對各個暫存器寫入初始化控制字。

5樓:流年

預處理階段。

測試裝置狀態;向dma控制器的裝置位址暫存器中送入裝置號,並啟動裝置;向主存位址計數器中送入欲交換資料的主存起始位址;向字計數器中送入欲交換的資料個數 。

外部裝置準備好傳送的資料(輸入)或上次接收的資料已處理完畢(輸出)時,將通知dma控制器發出dma請求,申請主存匯流排。

資料傳送。輸入操作。

首先從外部裝置讀入乙個字(設每字16位)到dma資料緩衝暫存器iodr中(如果裝置是面向位元組的,一次讀入乙個位元組,需要將兩個位元組裝配成乙個字)。

外部裝置發選通脈衝,使dma控制器中的dma請求標誌觸發器置「1」。

dma控制器向cpu發出匯流排請求訊號(hold)。

cpu在完成了現行機器週期後,即響應dma請求,發出匯流排允許訊號(hlda),並由dma控制器發出dma響應訊號,使dma請求標記觸發器復位。此時,由dma控制器接管系統匯流排。

將dma控制器中主存位址暫存器中的主存位址送位址匯流排,.將dma資料緩衝暫存器中的內容送資料匯流排。

在讀/寫控制訊號線上發出寫命令。

判斷字計數器的值是否為「0」。若不為「0」,說明資料塊沒有傳送完畢,返回⑤,傳送下乙個資料;若為「0」,說明資料塊已經傳送完畢,則向cpu申請中斷處理。

輸出操作。.當dma資料緩衝暫存器已將輸出資料送至i/o裝置後,表示資料緩衝暫存器為「空」;

外部裝置發選通脈衝,使dma控制器中的dma請求標誌觸發器置「1」;

dma控制器向cpu發出匯流排請求訊號(hold);

cpu在完成了現行機器週期後,即響應dma請求,發出匯流排允許訊號(hlda),並由dma控制器發出dma響應訊號,使dma請求標記觸發器復位。此時,由dma控制器接管系統匯流排;

將dma控制器中主存位址暫存器中的主存位址送位址匯流排,在讀/寫控制訊號線上發出讀命令;

主存將相應位址單元的內容通過資料匯流排讀入到dma資料緩衝暫存器中;

將dma資料緩衝暫存器的內容送到輸出裝置;

判斷字計數器的值是否為「0」。若不為「0」,說明資料塊沒有傳送完畢,返回到⑤,傳送下乙個資料;若為「0」,說明資料塊已經傳送完畢,則向cpu申請中斷處理。

傳送後處理。

校驗送入主存的資料是否正確。

決定是否繼續用dma傳送其他資料塊。

測試在傳送過程中是否發生錯誤。

dma方式是在什麼之間建立

6樓:網友

dma的英文拼寫是「直接記憶體訪問」,中文意思是直接記憶體訪問。它是一種不經過cpu直接從記憶體中訪問資料的資料交換模式。pio模式下硬碟與記憶體之間的春梁察資料傳輸由cpu控制;在dma模式下,cpu只需要給dma控制器下達指令,讓dma控制器處理資料的傳輸,然後在資料傳輸完成後將資訊反饋給cpu,大大減少了cpu資源佔用。

dma模式和pio模式的區別在於dma模式不太依賴cpu,可以大大節省系統資源,兩者在傳輸速度上的差別也不是很明顯。dma模式可分為單字dma(單位元組dma)和多字dma(多位元組dma),其中最大傳輸速率僅為 mb/s..

dma傳輸方式的優先順序高於程式中斷,兩者的區別主要表現在對cpu的干擾程度不同。中斷請求不僅停止cpu,還要求cpu執行中斷服務程式來服務中斷請求。這個要求包括斷點和場景的處理以及cpu和外設之間的傳輸,所以cpu付出了很大的代價。

dma請求只是暫停cpu,不需要處理斷點和場景。而且dma控制外設和主存之渣粗間的資料傳輸,不需要cpu干預,dma只是借用一點點cpu時間。另乙個區別是cpu對這兩個請求的響應時間不同。

一般來說,中斷請求在一條指令執行後的時鐘週期結束時響應,而dma請求由於效率高,可以在每條指令執扒茄行的每個階段被cpu使用,屬於即時響應。

簡述dma方式

7樓:網友

dma原理:dma(direct memory access,直接記憶體存取) 是所有現代電腦的重要特色,他允許不同速度的硬體裝置來溝通,而不需要依於 cpu 的大量 中斷 負載。否則,cpu 需要從 ** 把每一片段的資料複製到 暫存器,然後把他們再次寫回到新的地方。

在這個時間中,cpu 對於其他的工作來說就無法使用。 dma 傳輸將資料從乙個位址空間複製到另外乙個位址空間。當 cpu 初始化這個傳輸動作,傳輸動作本身是由 dma 控制器 來實行和完成。

典型的例子就是移動乙個外部記憶體的區塊到晶元內部更快的記憶體區。像是這樣的操作並沒有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。dma 傳輸對於高效能 嵌入式系統 演算法和網路是很重要的。

在實現dma傳輸時,是由dma控制器直接掌管匯流排,因此,存在著乙個匯流排控制權轉移問題。即dma傳輸前,cpu要把匯流排控制權交給dma控制器,而在結束dma傳輸後,dma控制器應立即把匯流排控制權再交回給cpu。

乙個完整的dma傳輸過程必須經過下面的4個步驟。

請求cpu對dma控制器初始化,並向i/o介面發出操作命令,i/o介面提出dma請求。

響應dma控制器對dma請求判別優先順序及遮蔽,向匯流排裁決邏輯提出匯流排請求。當cpu執行完當前匯流排週期即可釋放匯流排控制權。此時,匯流排裁決邏輯輸出匯流排應答,表示dma已經響應,通過dma控制器通知i/o介面開始dma傳輸。

傳輸dma控制器獲得匯流排控制權後,cpu即刻掛起或只執行內部操作,由dma控制器輸出讀寫命令,直接控制ram與i/o介面進行dma傳輸。

在dma控制器的控制下,在儲存器和外部裝置之間直接進行資料傳送,在傳送過程中不需要**處理器的參與。開始時需提供要傳送的資料的起始位置和資料長度。

結束當完成規定的成批資料傳送後,dma控制器即釋放匯流排控制權,並向i/o介面發出結束訊號。當i/o介面收到結束訊號後,一方面停 止i/o裝置的工作,另一方面向cpu提出中斷請求,使cpu從不介入的狀態解脫,並執行一段檢查本次dma傳輸操作正確性的**。最後,帶著本次操作結果及狀態繼續執行原來的程式。

由此可見,dma傳輸方式無需cpu直接控制傳輸,也沒有中斷處理方式那樣保留現場和恢復現場的過程,通過硬體為ram與i/o裝置開闢一條直接傳送資料的通路,使cpu的效率大為提高。

在使用photoshop cc時彈出初始化adobe hel

我也遇到過,點確認都沒辦法。直接工作管理員關閉,然後再次開啟ps的時候文件會恢復的。軟體問題,重啟軟體,關閉,重新啟動下軟體吧 不要關!切換到其他視窗,等個十來分鐘再回來,就可以點確定取消該視窗了。以前我也是直接強退,無意間發現了這個bug ps cc 總彈出 初始化adobe help程式時出錯....

DSP和DMA是什麼意思?

digital signal processing 數碼訊號處理。dma是一項初才開始廣泛採用的新的ata ide介面協議,所以又稱ultra dma採用匯流排主控方式,在硬碟上有dma直接記憶體訪問控制器。由於在資料傳輸過程中不需cpu的干預,因而節約了寶貴的cpu資源,使得cpu可以騰出大量的時間處...

windows通訊埠初始化失敗是什麼原因

1 這個問題,一些不知道是否經歷的人,說是因為防毒軟體在防毒時,將 winsock 專案修改了,所造成的。2 有人說是360在防禦時修改了winsock專案,並且360也提供了修復軟體。但是對於提出是360所導致的我不認同。因為出現這個問題的同時360本身也無法使用了。3 是使用無線上網時,連入了不...