问题:
试说明在DMA方式时内存往外设传输数据的过程。
答案:
当一个接口中有数据要输出时,就往DMA控制器发一个DMA请求,DMA控制器接到请求以后,便往控制总线上发一个总线请求,如果CPU允许让出总线,则发一个总线允许信号,DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号,并发一个I/O写信号和一个内存读信号,接口接到DMA回答信号以后,数据送到数据总线上,并撤除DMA请求信号,I/O外设在接收到数据以后,一般往DMA控制器回送一个准备好信号,于是DMA控制器的地址寄存器内容加1或减1,记数器的值减1,而且,撤除总线请求信号,这样,就完成了对一个数据的DMA输出传输,下一次当接口中又准备好数据时,便可以进行一次新的传输。当计数器的值减为0时,DMA传输过程便结束,此时,DMA控制器往接口发一个记数结束信号,以表示DMA传输结束。