dma是什麼意思 什麼是dma

2021-05-21 12:26:12 字數 1110 閱讀 7861

dma的英文拼寫是「direct memory access」,漢語的意思就是直接記憶體訪問,是一種不經過cpu而直接從記憶體了訪問資料的資料交換模式。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控制器將包括一條位址匯流排、一條資料匯流排和控制暫存器。高效率的dma控制器將具有訪問其所需要的任意資源的能力,而無須處理器本身的介入,它必須能產生中斷。最後,它必須能在控制器內部計算出位址。

乙個處理器可以包含多個dma控制器。每個控制器有多個dma通道,以及多條直接與儲存器站(memory bank)和外設連線的匯流排,如圖1所示。在很多高效能處理器中整合了兩種型別的dma控制器。第一類通常稱為「系統dma控制器」,可以實現對任何資源 (外設和儲存器)的訪問,對於這種型別的控制器來說,訊號週期數是以系統時鐘(sclk)來計數的,以adi的blackfin處理器為例,頻率最高可達 133mhz。第二類稱為內部儲存器dma控制器(imdma),專門用於內部儲存器所處位置之間的相互訪問操作。因為訪問都發生在內部(l1-l1、 l1-l2,或者l2-l2),週期數的計數則以核心時鐘(cclk)為基準來進行,該時鐘的速度可以超過600mhz。

每個dma控制器有一組fifo,起到dma子系統和外設或儲存器之間的緩衝器的作用。對於memdma(memory dma)來說,傳輸的源端和目標端都有一組fifo存在。當資源緊張而不能完成資料傳輸的話,則fifo可以提供資料的暫存區,從而提高效能。

因為你通常會在**初始化過程中對dma控制器進行配置,核心就只需要在資料傳輸完成後對中斷做出響應即可。你可以對dma控制進行程式設計,讓其與核心並行地移動資料,而同時讓核心執行其基本的處理任務—那些應該讓它專注完成的工作。

什麼是DFT,DFT是什麼意思

dft 數位電路 fpga asic 設計入門之可測試設計與可測性分析,離散傅利葉變換,dft direct fouriet transformer 可測試性技術 design for testability dft 就是試圖增加電路中訊號的可控制性和可觀測性,以便及時經濟地測試晶元是否存在物理缺陷...

網路收斂是什麼意思 收斂是什麼意思(什麼是收斂性)

收斂是什麼意思 什麼是收斂性 有的茶友品茶時說 這個茶收斂性好。這時就有很多人矇圈了,什麼叫 收斂性 其標準是怎麼定義的?其實 收斂性 這三字用的人多,懂得的人少。下面我們就聊一聊普洱茶的 收斂性 收斂性 跟茶葉的苦 澀有關,它是苦 澀味轉成回甘之間的感知時間的強度。收斂性越強的茶,它的苦味和澀味在...

什麼是SAAS 是什麼 什麼叫 是什麼意思

什麼是saas saas是software as a service 軟體即服務 的簡稱,它是一種通過internet提供軟體的模式,使用者不用再購買軟體,而改用向提供商租用基於web的軟體,來管理企業經營活動,且無需對軟體進行維護,服務提供商會全權管理和維護軟體,對於許多小型企業來說,saas是採...