當前位置:首頁 » 存儲配置 » dma存儲

dma存儲

發布時間: 2022-07-31 11:44:55

㈠ dma是什麼

DMA是什麼?
當我們向計算機中加入了一塊新的音效卡或其它適配卡時,安裝程序可能會提醒我們應該選擇一個DMA通道。那DMA是什麼呢?
DMA(Direct Memory Access) ,即直接存儲器存取,是一種快速傳送數據的機制。數據傳遞可以從適配卡到內存,從內存到適配卡或從一段內存到另一段內存。DMA技術的重要性在於,利用它進行數據傳送時不需要CPU的參與。每台電腦主機板上都有DMA控制器,通常計算機對其編程,並用一個適配器上的ROM(如軟盤驅動控制器上的ROM)來儲存程序,這些程序控制DMA傳送數據。一旦控制器初始化完成,數據開始傳送,DMA就可以脫離CPU,獨立完成數據傳送。在DMA傳送開始的短暫時間內,基本上有兩個處理器為它工作,一個執行程序代碼,一個傳送數據。
利用DMA傳送數據的另一個好處是,數據直接在源地址和目的地址之間傳送,不需要中間媒介。如果通過CPU把一個位元組從適配卡傳送至內存,需要兩步操作。首先,CPU把這個位元組從適配卡讀到內部寄存器中,然後再從寄存器傳送到內存的適當地址。DMA控制器將這些操作簡化為一步,它操作匯流排上的控制信號,使寫位元組一次完成。這樣大大提高了計算機運行速度和工作效率。
計算機發展到今天,DMA已不再用於內存到內存的數據傳送,因為CPU速度非常快,做這件事,比用DMA控制還要快,但要在適配卡和內存之間傳送數據,仍然是非DMA莫屬。要從適配卡到內存傳送數據,DMA同時觸發從適配卡讀數據匯流排(即I/O讀操作)和向內存寫數據的匯流排。激活I/O讀操作就是讓適配卡把一個數據單位(通常是一個位元組或一個字)放到PC數據匯流排上,因為此時內存寫匯流排也被激活,數據就被同時從PC匯流排上拷貝到內存中。對於每一次寫操作,DMA控制器都控制地址匯流排,通知應將數據寫到哪段內存中去。
DMA控制數據從內存傳送到適配卡的方法與上面類似。對每一個要傳送的單位數據,DMA控制器激活讀內存和I/O寫操作的匯流排。內存地址被放到地址匯流排上,像從適配卡到內存傳送數據一樣,以數據匯流排為通道,數據從源地址直接傳送到目的地址。
DMA從DMA請求線(DREQ)上接收DMA請求,正像中斷控制器從中斷請求線(IRQ)上接收中斷請求一樣。一個典型的從適配卡到內存的數據傳送是這樣進行的,首先,對DMA控制器編程,寫入數據要到達的內存地址和要傳送的位元組數。適配器可以開始傳送數據時,它將激活DREQ線,與DMA控制器連通。DMA控制器在與CPU取得匯流排控制權後,輸出內存地址,發送控制信號,使得一個位元組或一個字從適配器讀出並寫入相應內存中,然後更新內存地址,指向下一個位元組(或字)要寫入的地址,重復上面的操作,直至數據傳送完畢。對控制器進行不同編程,就可以實現單位元組傳送(即每傳送一個位元組都要求一個DREQ信號)或塊數據傳送(即全部數據傳送只需要一個DREQ信號)。
如果你要往計算機中插一塊適配卡,而且適配卡使用DMA,通常安裝程序會讓你選擇一個DMA通道,設定DIP開關或跳線,來為相應適配器設置DMA通道。盡管從理論上講,只要不是同時使用DREQ線,不同的適配卡可以共享這條線的,但是按常規,我們最好為每個適配卡單獨安排一個DMA通道,這樣就可以保證不會發生DMA沖突。附表是DMA的預設分配情況。
通道 功能 通道 功能
O 空閑 4 用於級聯DMA控制器
1 空閑 5 空閑
2 軟盤 6 空閑
3 空閑 7 空閑
從中可以看出,DMA通道2和4已被佔用,在大多數微機上,通道1、3、5、6和7可由你任意分配。我們平時最好對自己的計算機上DMA通道的分配情況記錄下來,以免我們向計算機增加新硬體時出現兩個適配卡共用一個通道,導致沖突。

㈡ 什麼是DMA

DMA是Digital Media Award的縮寫,也就是亞太地區數碼媒體協會的簡稱。唐旗數碼科技有限公司的CEO Jabez G既是亞太數碼媒體領域十大傑出設計大師之一,也是新媒體的代言人,數碼媒體業的先驅者。在動漫多媒體和品牌傳播設計領域有著豐富的經驗,多次榮獲國際獎項和區域大獎。憑借在多媒體行業的影響地位和良好的教育背景,Jabez G被選為亞太數碼媒體協會的會長。

㈢ DMA是什麼意思

1、DMA(Direct Memory Access,直接內存存取) 是所有現代電腦的重要特色,它允許不同速度的硬體裝置來溝通,而不需要依賴於CPU的大量中斷負載。否則,CPU需要從來源把每一片段的資料復制到暫存器,然後把它們再次寫回到新的地方。在這個時間中,CPU對於其他的工作來說就無法使用。

2、PIO模式下硬碟和內存之間的數據傳輸是由CPU來控制的;而在DMA模式下,CPU只須向DMA控制器下達指令,讓DMA控制器來處理數的傳送,數據傳送完畢再把信息反饋給CPU,這樣就很大程度上減輕了CPU資源佔有率。

3、DMA模式與PIO模式的區別就在於,DMA模式不過分依賴CPU,可以大大節省系統資源,二者在傳輸速度上的差異並不十分明顯。DMA模式又可以分為Single-Word DMA(單位元組DMA)和Multi-Word DMA(多位元組DMA)兩種,其中所能達到的最大傳輸速率也只有16.6MB/s。

4、一般而言,DMA控制器將包括一條地址匯流排、一條數據匯流排和控制寄存器。高效率的DMA控制器將具有訪問其所需要的任意資源的能力,而無須處理器本身的介入,它必須能產生中斷。最後,它必須能在控制器內部計算出地址。

(3)dma存儲擴展閱讀:

1、DMA 傳輸將數據從一個地址空間復制到另外一個地址空間。當CPU 初始化這個傳輸動作,傳輸動作本身是由 DMA 控制器來實行和完成。

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

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

一個完整的DMA傳輸過程必須經過DMA請求、DMA響應、DMA傳輸、DMA結束4個步驟。

3、每個DMA控制器有一組FIFO,起到DMA子系統和外設或存儲器之間的緩沖器的作用。對於MemDMA(Memory DMA)來說,傳輸的源端和目標端都有一組FIFO存在。當資源緊張而不能完成數據傳輸的話,則FIFO可以提供數據的暫存區,從而提高性能。

㈣ 計算機中常說到的DMA指的是什麼

DMA(DIRECT MEMORY ACCESS)即直接存儲器存取,是指外部設備不通過CPU而直接與系統內存交換數據的介面技術。

要把外設的數據讀入內存或把內存的數據傳送到外設,一般都要通過CPU控制完成,如CPU程序查詢或中斷方式。利用中斷進行數據傳送,可以大大提高CPU的利用率。

但是採用中斷傳送是由CPU通過中斷服務程序來傳送,每次要保護斷點,保護現場需要多條指令,每條指令要有取指和執行時間。為了充分利用CPU的高速性能和實時操作的要求,一般中斷服務程序要求是盡量的簡短,所以當要實現大量數據交換的情況,如從磁碟調入程序或圖形數據,如果採用中斷傳送方式,必然會引起頻繁中斷的情況,需要執行很多與數據傳送無關的中斷指令,所以會大大降低系統的執行效率,無法提高數據傳送速率。對於一個高速I/O設備,以及批量交換數據的情況,只能採用DMA方式,才能解決效率和速度問題。DMA在外設與內存間直接進行數據交換,而不通過CPU,這樣數據傳送的速度就取決於存儲器和外設的工作速度。

㈤ 直接存儲器存取(DMA)方式是__方式


DMA(Direct Memory Access),即直接存儲器存取,是一種快速傳送數據的機制。數據傳遞可以從適配卡到內存,從內存到適配卡或從一段內存到另一段內存。





-------------------------------------------------
DMA方式的數據傳送過程


DMA方式具有如下特點:
1、 外部設備的輸入輸出請求直接發給主儲存器。
主存儲器既可以被CPU訪問,也可以被外圍設備訪問。因此,在主存儲器中通常要有一個存儲管理部件來為各種訪問主存儲器的申請排隊,一般計算機系統把外圍設備的訪問申請安排在最高優先順序。
2、 不需要做保存現場和恢復現場等工作,從而使DMA方式的工作速度大大加快。
由於在外圍設備與主存儲器之間傳送數據不需要執行程序,因此,也不動用CPU中的數據寄存器和指令計數器等。
3、在DMA控制器中,除了需要設置數據緩沖寄存器、設備狀態寄存器或控制寄存器之外,還要設置主存儲器地址寄存器,設備地址寄存器和數據交換個數計數器。
外圍設備與主存儲器之間的整個數據交換過程全部要在硬體控制下完成。另外,由於外圍設備一般是以位元組為單位傳送的,而主存儲器是以字為單位訪問的,因此,在DMA控制器中還要有從位元組裝配成字和從字拆卸成位元組的硬體。
4、在DMA方式開始之前要對DMA控制器進行初始化,包括向DMA控制器傳送主存緩沖區首地址、設備地址、交換的數據塊的長度等,並啟動設備開始工 作。在DMA方式結束之後,要向CPU申請中斷,在中斷服務程序中對主存儲器中數據緩沖區進行後處理。如果需要繼續傳送數據的話,要再次對DMA控制器進 行初始化。
5、在DMA方式中,CPU不僅能夠與外圍設備並行工作,而且整個數據的傳送過程不需要CPU的干預。如果主存儲器的頻帶寬度足夠的話,外圍設備的工作可以絲毫不影響CPU運行它自身的程序。
DMA方式的工作流程如下:
對於輸入設備:
從輸入介質上讀一個位元組或字到DMA控制器中的數據緩沖寄存器BD中,如果輸入設備是面向字元的,則要把讀入的字元裝配成字。
若一個字還沒有裝配滿,則返回到上面;若校驗出錯,則發中斷申請;若一個字已經裝配滿,則將BD中的數據送入主存數據寄存器。
把主存地址寄存器BA(在DMA控制器中)中的地址送入主存地址寄存器,並且將BA中的地址增值至下一個字地址。
把DMA控制器內的數據交換個數計數器BC中的內容減"1"。
若BC中的內容為"0",則整個DMA數據傳送過程全部結束,否則返回到最上面繼續進行。
對於輸出設備:
把主存地址寄存器BA(在DMA控制器中)中的地址送入主存地址寄存器,並啟動主存儲器,同時將BA中的地址增值至下一個字地址。
將主存儲器數據寄存器中的數據送入DMA控制器的數據緩沖寄存器BD中。如果輸出設備是面向字元的,則要把BD中的數據拆卸字元。
把BD中數據逐個字元(對於面向字元的設備)或整個字寫到輸出介質上。
把DMA控制器內的數據交換個數計數器BC中的內容減"1"。
若BC中的內容為"0",則整個DMA數據傳送過程全部結束,否則返回到最上面繼續進行。
目前使用的DMA方式實際上有如下三種:
1、周期竊取方式
在每一條指令執行結束時,CPU測試有沒有DMA服務申請,如果有,則CPU進入一個DMA周期。在DMA周期中借用CPU完成上面所列出的DMA工作流程。包括數據和主存地址的傳送,交換個數計數器中的內容減"1",主存地址的增值及一些測試判斷等。
採用周期竊取方式時,主存儲器可以不與外圍設備直接相連接,而只與CPU連接,即仍然可以採用如圖4.4那樣的連接方式,因為外圍設備與主存儲器的數據交換與程序控制輸入輸出方式和中斷輸入輸出方式一樣都是要經過CPU的。
周期竊取方式與程序控制輸入輸出方式和中斷輸入輸出方式的不同處主要在:它不需要使用程序來完成數據的輸入或輸出,只是借用了一個CPU的周期來完成DMA流程。因此,其工作速度是很快的。
周期竊取方式的優點是硬體結構很簡單,比較容易實現。缺點是在數據輸入或輸出過程種實際上佔用了CPU的時間。
2、直接存取方式
這是一種真正的DMA方式。DMA控制器的數據傳送申請不是發向CPU,而是直接發往主存儲器。在得到主存儲器的響應之後,整個DMA工作流程全部在DMA控制器中用硬體完成。
直接存取方式的優點與缺點正好與周期竊取方式相反。
目前的多數計算機系統均採用直接存取方式工作。
3、數據塊傳送方式
在設備控制器中設置一個比較大的數據緩沖存儲器,一般要能夠存放下一個數據塊,如在軟磁碟存儲器中通常設置512個位元組的數據緩沖存儲器。與設備介質之間的數據交換在數據緩沖存儲器中進行。設備控制器與主存儲器之間的數據交換以數據塊為單位,並採用程序中斷方式進行。
數據塊傳送方式實際上並不是DMA方式,只是它在每次中斷輸入輸出過程中是以數據塊為單位獲得或發送數據的,這一點與上面兩種DMA方式相同,因此,通常也把這種輸入輸出方式歸入DMA方式。
採用數據塊傳送方式的外圍設備還有行式列印機,激光列印機,卡片閱讀機,部分繪圖儀等。

熱點內容
防火門報配置錯誤是什麼原因 發布:2024-10-05 20:20:47 瀏覽:886
移動寬頻設置路由器怎麼設置密碼 發布:2024-10-05 20:03:30 瀏覽:105
微指令的編譯方法有哪一些 發布:2024-10-05 19:02:10 瀏覽:885
android離線定位 發布:2024-10-05 18:36:40 瀏覽:858
ipad4密碼忘記怎麼辦 發布:2024-10-05 18:36:07 瀏覽:237
黑莓加密天線 發布:2024-10-05 18:30:07 瀏覽:850
編程入行年齡 發布:2024-10-05 18:29:24 瀏覽:539
伺服器地址訪問不到 發布:2024-10-05 18:20:55 瀏覽:691
手機解鎖忘記密碼多少錢 發布:2024-10-05 18:14:25 瀏覽:787
linux亂碼問題 發布:2024-10-05 18:00:25 瀏覽:544