簡述dma的工作原理,DMA方式的工作原理

2021-03-03 21:51:48 字數 5326 閱讀 5925

1樓:世代榮昌樂太平

dma即直接記憶體訪問模式,簡單來說,匯流排控制權在cpu「手上」,外設無權直接訪問記憶體內,需要cpu參與,容但dma控制器從cpu那「偷出」幾個時鐘來控制匯流排,讓外設可以直接訪問記憶體,這樣外設的讀寫就不需要cpu參與,降低了cpu的佔用率。

什麼是dma?簡述cpu採用dma傳送的工作過程。

2樓:安徽新華電腦專修學院

dma(direct memory access,直接記憶體訪問) 是所有現代電腦的重要特色,它允許不同速度的硬體裝置來溝通,而不需要依賴於 cpu 的大量中斷負載。否則,cpu 需要從**把每一片段的資料複製到暫存器,然後把它們再次寫回到新的地方。在這個時間中,cpu 對於其他的工作來說就無法使用。

dma方式的工作原理:

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

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

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

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

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

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

(4)執行dma傳送;

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

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

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

dma方式的工作原理

3樓:華清遠見

dma 是所有現代電腦的重要特色,他允許不同速度的硬體裝置來溝通,而不需要依於 cpu 的大量 中斷 負載。否則,cpu 需要從** 把每一片段的資料複製到暫存器,然後把他們再次寫回到新的地方。在這個時間中,cpu 對於其他的工作來說就無法使用。

dma 傳輸重要地將乙個記憶體區從乙個裝置複製到另外乙個。當 cpu 初始化這個傳輸動作,傳輸動作本身是由 dma 控制器 來實行和完成。典型的例子就是移動乙個外部記憶體的區塊到晶元內部更快的記憶體去。

像是這樣的操作並沒有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。dma 傳輸對於高效能嵌入式系統演算法和網路是很重要的。

pio模式下硬碟和記憶體之間的資料傳輸是由cpu來控制的;而在dma模式下,cpu只須向dma控制器下達指令,讓dma控制器來處理資料的傳送,資料傳送完畢再把資訊反饋給cpu,這樣就很大程度上減輕了cpu資源占有率。dma模式與pio模式的區別就在於,dma模式不過分依賴cpu,可以大大節省系統資源,二者在傳輸速度上的差異並不十分明顯。dma模式又可以分為single-word dma(單位元組dma)和multi-word dma(多位元組dma)兩種,其中所能達到的最大傳輸速率也只有16.

6mb/s。

dma 傳送方式的優先順序高於程式中斷,兩者的區別主要表現在對cpu的干擾程度不同。程式中斷請求不但使cpu停下來,而且要cpu執行中斷服務程式為中斷請求服務,這個請求包括了對斷點和現場的處理以及cpu與外設的傳送,所以cpu付出了很多的代價;dma請求僅僅使cpu暫停一下,不需要對斷點和現場的處理,並且是由dma控制外設與主存之間的資料傳送,無需cpu的干預,dma只是借用了一點cpu的時間而已。還有乙個區別就是,cpu對這兩個請求的響應時間不同,對程式中斷請求一般都在執行完一條指令的時鐘週期末尾響應,而對dma的請求,由於考慮它的高效性,cpu在每條指令執行的各個階段之中都可以讓給dma使用,是立即響應。

dma主要由硬體來實現,此時高速外設和記憶體之間進行資料交換不通過cpu的控制,而是利用系統匯流排。dma方式是i/o系統與主機交換資料的主要方式之一,另外還有程式查詢方式和中斷方式。

4樓:匿名使用者

乙個裝置介面試圖通過匯流排直接向

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

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

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

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

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

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

(4)執行dma傳送;

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

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

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

5樓:

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

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

dma方式的主要優點是速度快。

由 於cpu根本不參加傳送操作,因此就省去了cpu取指令、取數、送數等操作。在資料傳送過程中,沒有儲存現場、恢復現場之類的工作。記憶體位址修改、傳送字 個數的計數等等,也不是由軟體實現,而是用硬體線路直接實現的。

所以dma方式能滿足高速i/o裝置的要求,也有利於cpu效率的發揮。 實現dma傳送的基本操作如下:

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

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

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

4、執行dma傳送;

5、dma操作結束,並把匯流排控制權交還cpu。 dma方式主要適用於一些高速的i/o裝置。這些裝置傳輸位元組或字的速度非常快。

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

dma控制器或介面一般包括四個暫存器:

1:狀態控制暫存器、

2:資料暫存器、

3:位址暫存器、

4:位元組計數器。

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

dma方式的工作過程

6樓:匿名使用者

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

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

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

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

4、執行dma傳送;

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

擴充套件資料

dma方式下,為了控制外設和主存直接交換資料,需要有專門的資料傳送控制電路,通常把這樣的控制邏輯稱為dma控制器。整個過程分以下三個階段:

(1)dma控制器初始化

首先,對dma控制器和裝置介面中的引數暫存器進行初始化,以設定主存首位址、傳送資料個數、傳送方向(讀出/寫入)、裝置位址(如磁頭號、磁軌號、起始扇區號)等,這些初始化工作由cpu執行指令完成。初始化工作的最後是向外設介面傳送啟動讀或寫的命令。

(2)dma傳送

外設介面接受到cpu送來的啟動命令後,就開始控制裝置進行讀或寫操作,當外設準備好資料以後,外設介面就會向dma控制器傳送相應的「dma請求」訊號。

dma控制器接受到該訊號後,就會向cpu傳送「匯流排請求」訊號,要求cpu釋放匯流排,請求由dma控制器控制匯流排以進行外設和主存之間的資料交換。cpu總是在乙個匯流排事務結束後讓出匯流排。

dma控制器每傳送乙個資料,就使資料個數計數器減1。當該計數器為0時,表示傳送過程結束。此結束訊號被送到外設介面,引起外設介面向cpu傳送乙個「dma傳送結束」中斷請求。

(3)dma結束處理。當cpu接收到「dam傳送結束」中斷請求後,就調出相應的中斷服務程式進行dma結束處理。

7樓:匿名使用者

(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裝置直接和儲存器進行成批資料的快速傳送。

dma控制器或介面一般包括四個暫存器:狀態控制暫存器、資料暫存器、位址暫存器和位元組計數器。

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

噴油器的工作原理?簡述!簡述!簡述

化秋柏合湛 噴油器接受ecu送來的噴油脈衝訊號,精確的控制燃油噴射量。噴油器是一種加工精度非常高的精密器件,要求其動態流量範圍大,抗堵塞和抗汙染能力強以及霧化效能好。工作原理 柴油機噴油系統將燃油霧化,並分佈在燃燒室內與空氣混合的部件。它主要由噴油嘴和噴油器體組成,它在缸蓋上的安裝位置與角度取決於燃...

windowsp可以裝3dma2019的軟體嗎

windows xp 可以裝3dmax 2012的軟體的解答如下 windows xp系統是32位系統,而3d max2012版本有32位的版本,因此windows xp可以安裝使用3d max2012。推薦配置 32位版 英特爾奔騰4或更高版本,amdathlon 64或更高版本,或amdopte...

簡述液壓傳動的工作原理

工作原理 電動機帶動液壓幫浦從油箱吸油,液壓幫浦把電動機的機械能轉換為液體的壓力能。液壓介質通過管道經節流閥和換向和閥進入液壓缸左腔,推動活塞帶動工作台右移,液壓缸右腔排出的液壓介質經換向閥流回油箱。換向閥換向之後液壓介質進入液壓缸右腔,使活塞左移,推動工作台反向移動。改變節流閥的開口可調節液壓缸的...