第 14 章:DMA 控制器
学习目标
- 理解 DMA 原理
- 实现 DMA 传输
- 减少 CPU 负担
14.1 思考:为什么需要 DMA?
CPU 搬运数据太浪费了!
14.2 DMA 实现
reg [31:0] dma_src, dma_dst, dma_len;
always @(posedge clk) begin
if (dma_start) begin
mem[dma_dst] <= mem[dma_src];
dma_src <= dma_src + 4;
dma_dst <= dma_dst + 4;
end
end
思考:DMA 和 Cache 一致性?