什么是 DMA 方式?它与中断方式的主要区别是什么?
答:DMA 方式即直接存储器访问方式,其实现思想是外设
在硬件支持下直接与内存交换成批数据而需 CPU 干预。在
DMA 控制器中,除了包含状态寄存器和数据寄存器之外,
还包含传送字节计数寄存器、内存寄存器等。在进行数据
存取时,先由 CPU 向控制器发送启动指令,然后在 DMA
控制器的控制下不断挪用 CPU 的工作周期,在设备和内存
之间直接交换数据,直到一批数据全部传送完成时才中断
CPU。批量数据的传送由计数器逐个计数,并由内存地址
寄存器确定所要访问的内存地址。
DMA 方式与中断方式的主要区别如下:
1、 中断方式在每个数据传送完成后中断 CPU,而 DMA
方式则是在所要求传送的一批数据全部传送结束时中
断 CPU;
2、 中断方式的数据传送是在中断处理时由 CPU 控制完成
的,而 DMA 方式则是在 DMA 控制器的控制下完成。
不过,在 DMA 方式中,数据传送的方向、存放数据
的内存始址及传送数据的长度等仍然由 CPU 控制。