跳转至

DMA控制器

现在的CPU都集成了DMA控制器。早期比如inter cpu就没有集成。

1 DMA过程

如果在存储器和IO设备之间开辟一条数据通道,专门用于数据传输,就可以将处理器从数据搬运中解放出来。这种方式就是DMA(Direct Memory Access,直接存储器访问)方式。DMA方式在存储器和外设之间开辟直接的数据传送通道,数据传送由专门的硬件来控制。控制DMA数据传送的硬件被称为DMA控制器。 使用DMA进行传输的一般过程为: 1. 处理器为DMA请求预先分配一段地址空间。 2. 处理器设置DMA控制器参数。这些参数包括设备标识、数据传送的方向、内存中用于数据传送的源地址或目标地址、传输的字节数量等。 3. DMA控制器进行数据传输。DMA控制器发起对内存和设备的读写操作,控制数据传输。DMA传输相当于用IO设备直接读写内存。 4. DMA控制器向处理器发出一个中断,通知处理器数据传送的结果(成功或者出错以及错误信息)。 5. 处理器完成本次DMA请求,可以开始新的DMA请求。