1.1 DMA方式的特点
一、DMA和程序中断两种方式的数据通路
二、DMA与主存交换数据的三种方式
1、停止CPU访问主存
- 只要外部设备要和内存进行数据交换,则在数据交换的过程中,从第一个数据开始,cpu就放弃了总线的控制权和内存的访问,总线的控制权和内存访问权交给了DMA接口,从控制上说比较简单,适合大量数据传输。
- 若传输过程中cpu内部指令缓冲器中有指令,或者指令已经被取到了cache,cpu还可以继续工作执行指令,如果没有指令可以执行,cpu就保持状态,所以未发挥cpu对主存的利用率
2、周期挪用(周期窃取)
如果DMA接口准备好了数据传输,那么通过申请建立总线使用权,占用一个或者几个内存访问周期,完成数据传输,在数据传输间隔或者数据准备阶段,DMA接口放弃总线占用和内存使用权
DMA访问主存有三种可能
- cpu此时不访存
- cpu正在访存 cpu继续访问
- cpu与DMA同时请求访存 DMA优先