DMA(直接内存访问)是什么?
DMA(直接内存访问)详解
DMA(Direct Memory Access,直接内存访问) 是一种允许外设或协处理器绕过CPU直接与内存交换数据的技术,大幅减少CPU在数据传输中的开销,提升系统整体性能。以下是其核心要点:
📌 DMA的核心作用
- 解放CPU:
- CPU只需初始化DMA传输,无需参与每个字节的搬运(例如:硬盘读取数据到内存时,CPU可继续执行其他任务)。
- 提高吞吐量:
- 避免CPU频繁中断,适合高速数据传输(如视频采集、网络包处理)。
- 降低功耗:
- CPU无需保持高频率运行,节省能耗(对移动设备尤为重要)。
⚙️ DMA的工作原理
1. 基本流程
- CPU配置DMA控制器:
- 设置源地址(如外设寄存器)、目标地址(如内存)、传输长度。
- DMA发起请求:
- 外设(如磁盘、网卡)准备好数据后,向DMA控制器发送请求(DREQ)。
- 总线仲裁:
- DMA控制器向CPU申请总线控制权(通过HOLDHLDA信号)。
- 数据传输:
- DMA控制器直接操作总线,完成外设↔内存的数据搬运。
- 传输完成中断:
- DMA通知CPU(通过中断),CPU处理后续逻辑。