(截图来自MOOC平台计算机组成原理课程)
一般情况下,存储器与IO设备的数据交互都要通过CPU来进行,而DMA控制器可以实现存储器和IO设备间数据的直接交换。
DMA如果作为主设备,那么就有占用总线的权利,可以直接控制IO设备与内存之间的数据交换。
此时系统中至少存在DMAC和CPU两个主设备,所以需要仲裁器。
将DMAC和IO接口集成,那么IO设备也成为了主设备;
或者DMAC作为桥接器,提供IO总线。
DMA传输有以下4个步骤:
这种工作模式下,DMAC获得总线控制权后,CPU在DMAC交换控制权前无法访问内存。