Zynq-7000系列DMA控制器框圖簡介
掃描二維碼
隨時隨地手機看文章
傳送門:Zynq-7000系列DMA控制器簡介 ,本文將詳細介紹DMA控制器內(nèi)部結(jié)構(gòu),指令操作等等。
框圖
DMA 控制器的框圖如圖所示。
DMA 指令執(zhí)行引擎
DMAC 包含一個指令處理塊,使其能夠處理控制 DMA 傳輸?shù)某绦虼a。DMAC 為每個線程維護一個單獨的狀態(tài)機。
-
通道仲裁
- 為活動 DMA 通道提供服務(wù)的循環(huán)方案
- 在為下一個 DMA 通道提供服務(wù)之前為 DMA 管理器提供服務(wù)
- 不支持更改仲裁過程
-
渠道優(yōu)先級
- 以相同的優(yōu)先級響應(yīng)所有活動的 DMA 通道
- 不支持更改 DMA 通道相對于任何其他 DMA 通道的優(yōu)先級
指令緩存
控制器將指令臨時存儲在緩存中,當線程從地址請求指令時,緩存執(zhí)行查找。如果發(fā)生高速緩存命中,則高速緩存立即提供數(shù)據(jù),否則當控制器使用 AXI 接口從系統(tǒng)內(nèi)存執(zhí)行高速緩存行填充時,線程將停止;如果指令大于四個字節(jié),或跨越高速緩存行的末尾,則它執(zhí)行多次高速緩存訪問以獲取指令。
注意:
當緩存行填充正在進行時,控制器允許其他線程訪問緩存,但如果發(fā)生另一個緩存未命中,管道將停止,直到第一個行填充完成。
填充操作的指令緩存延遲取決于寫入 DMA 引擎指令的系統(tǒng)內(nèi)存的讀取延遲, DMAC 的性能高度依賴于 64 位 AXI 主接口(CPU_2x 時鐘)的帶寬。
讀/寫指令隊列
當通道線程執(zhí)行加載或存儲指令時,控制器將指令添加到相關(guān)的讀取隊列或?qū)懭腙犃?,?AXI 互連上發(fā)出事務(wù)之前,控制器將這些隊列用作指令存儲緩沖區(qū)。
多通道數(shù)據(jù)FIFO
DMAC 使用多通道先進先出 (MFIFO) 數(shù)據(jù)緩沖區(qū)來存儲它在 DMA 傳輸期間讀取或?qū)懭氲臄?shù)據(jù)。
用于指令獲取和 DMA 傳輸?shù)?AXI 主接口
程序代碼存儲在控制器使用 64 位 AXI 主接口訪問的系統(tǒng)內(nèi)存區(qū)域中, AXI 主接口還使 DMA 能夠?qū)?shù)據(jù)從源 AXI 從設(shè)備傳輸?shù)侥繕?AXI 從設(shè)備。
用于寄存器訪問的 APB 從接口
控制器響應(yīng)軟件使用的兩個地址范圍,通過 32 位 APB 從接口讀寫控制和狀態(tài)寄存器。
-
非安全寄存器訪問
-
安全寄存器訪問
中斷接口
中斷接口可實現(xiàn)與中斷控制器的有效事件通信。
PL 外設(shè) DMA 請求接口
PL 外設(shè)請求接口支持連接駐留在 PL 中的具有 DMA 功能的外設(shè)。每個 PL 外設(shè)請求接口彼此異步并且與 DMA 本身異步。
重置初始化接口
該接口使軟件能夠在 DMAC 從復位退出時初始化它的操作狀態(tài)。





