【摘要】:DMA方式的操作步骤如下:①外设准备就绪时,向DMAC发DMA请求,DMAC接到此信号后,向CPU发DMA请求。DMA的工作流程图如图8-2所示。DMA传送控制方式,解决了在内存的不同区域之间,或者内存与外设之间大量数据的快速传送问题,代价是需要增加专门的硬件控制电路,称为DMAC,其复杂程度与CPU相当。但是,DMA传送必须由程序或中断方式提供协助,DMA传送的初始化或结束处理是由程序或中断服务完成的。图8-2 DMA的工作流程图
DMA方式的操作步骤如下:
①外设准备就绪时,向DMAC发DMA请求,DMAC接到此信号后,向CPU发DMA请求。
②CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA信号作为响应,同时,放弃对总线的控制。
③DMAC取得总线控制权后,往地址总线发送地址信号,每传送一个字节,就会自动修改地址寄存器的内容,以指向下一个要传送的字节。
④每传送一个字节,字节计数器的值减1,当减到0时,DMA过程结束。
⑤DMAC向CPU发结束信号,将总线控制权交回CPU。(www.xing528.com)
DMA的工作流程图如图8-2所示。
DMA传送控制方式,解决了在内存的不同区域之间,或者内存与外设之间大量数据的快速传送问题,代价是需要增加专门的硬件控制电路,称为DMAC,其复杂程度与CPU相当。
归纳起来,DMA数据传送与程序控制数据传送相比较,首先是传送途径不同:程序控制数据传送必须经过CPU(其中某个寄存器),而DMA传送不经过CPU。其次,程序控制数据传送涉及的源地址、目的地址是由CPU提供的,地址的修改和传送数据块长度的控制也由CPU完成,数据传送所需要的控制信号也由CPU发出,但在DMA传送中,这一切都由DMAC提供、发出和完成。这就是说,本来该由程序完成的数据传送,在DMA传送时由硬件取代了。因而不仅减轻了CPU的负担,而且可以使数据传输速率大大提高。但是,DMA传送必须由程序或中断方式提供协助,DMA传送的初始化或结束处理是由程序或中断服务完成的。
图8-2 DMA的工作流程图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。