1)接受外设发出的DMA请求(外设传送一个字的请求),并向CPU发出总线请求。
2)CPU响应此总线请求,发出总线响应信号,接管总线控制权,进入DMA操作周期。
3)确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数。
4)规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作。
5)向CPU报告DMA操作的结束。
主存和DMA控制器之间有一条数据通路,因此主存和I/O设备之间交换信息时,不通过CPU。但当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下3种方法使用主存。
主存和DMA接口之间有一条直接数据通路。
由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行工作。
DMA方式具有下列特点:
① 它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。
② 在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
③ 主存中要开辟专用缓冲区,及时供给和接收外设的数据。
④ DMA传送速度快,CPU和外设并行工作,提高了系统效率。
⑤ DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。