定义


DMA方式

直接存储器访问方式(Direct Memory Access, DMA)在主存和外设之间建立一条直接数据通路,数据传输过程不经过 CPU,由专门的硬件控制器(DMAC)完成。

与中断的区别


  1. DMA请求优先级高于中断请求。
  2. 中断传送需要CPU干预,并且每次都需要保护和恢复现场;DMA除了开始和结尾外不占用CPU。
  3. 中断请求发生在指令执行完毕时,DMA请求发生在机器周期结束时。
  4. 中断方式能够处理异常,DMA方式只完成数据传输。

DMA传送方法


CPU停止访问主存法

DMAC控制器获得总线控制权后,就一直占用总线,直到整个数据块传送完成才还给CPU。

存储器分时法

将一个存取周期分为两个周期,一半分给CPU,一半分给DMA。

周期挪用法

当外设发出DMA请求时,DMA挪用CPU的一个存取周期进行数据传送,传松完成后马上将总线控制权还给CPU。如果此时CPU也要访问主存,DMA优先进行。

DMA传送过程


  1. DMA预处理