DMA 一、DMA簡介 DMA是一種記憶體存取技術,允許某些電腦內部的硬體子系統可以獨立的直接讀寫內存,而不需要CPU介入處理,從而不需要CPU的大量中斷負載,否則,CPU需要從來源把每一片段的資料複製到暫存器,然後在把他們再寫回新的地方,在這個時間裡,CPU就無法執行其他的任務。 DMA是一種快速資料傳送方式,通常用來傳送資料量較多的資料塊。使用DMA時,CPU向DMA控制器發送一個記憶體傳輸請求,這樣當DMA控制器在傳輸的時候,CPU執行其他的操作,傳輸完成時DMA以中斷的方式通知CPU。 DMA的傳輸過程為: 1.為了配置用DMA傳輸資料到記憶體,處理器(Cortex-A9)發出指令。 2.DMA控制器把資料從週邊傳送到記憶體或從記憶體傳送到記憶體,因此較少CPU處理的交易量。 3.輸出傳輸完成後,向CPU發出中斷通知DMA傳輸可以關閉。 為了發起傳輸事務,DMA控制器必須得到以下資訊: (1)、來源位址-資料被讀出的位址 (2)、目的地址-資料被寫入的位址 (3)、傳輸長度-應傳輸的位元組數