定义
DMA方式
直接存储器访问方式(Direct Memory Access, DMA)在主存和外设之间建立一条直接数据通路,数据传输过程不经过 CPU,由专门的硬件控制器(DMAC)完成。
与中断的区别
- DMA请求优先级高于中断请求。
- 中断传送需要CPU干预,并且每次都需要保护和恢复现场;DMA除了开始和结尾外不占用CPU。
- 中断请求发生在指令执行完毕时,DMA请求发生在机器周期结束时。
- 中断方式能够处理异常,DMA方式只完成数据传输。
DMA传送方法
CPU停止访问主存法
DMAC控制器获得总线控制权后,就一直占用总线,直到整个数据块传送完成才还给CPU。
存储器分时法
将一个存取周期分为两个周期,一半分给CPU,一半分给DMA。
周期挪用法
当外设发出DMA请求时,DMA挪用CPU的一个存取周期进行数据传送,传松完成后马上将总线控制权还给CPU。如果此时CPU也要访问主存,DMA优先进行。
DMA传送过程
- DMA预处理: