1、一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。
(资料图片)
2、外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。
3、CPU对某个设备接口响应DMA请求时,会让出总线控制权。
4、于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。
5、数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。
6、DMA方式的主要优点是速度快。
7、由 于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。
8、在数据传送过程中,没有保存现场、恢复现场之类的工作。
9、内存地址修改、传送字 个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。
10、所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。
11、 实现DMA传送的基本操作如下:外设可通过DMA控制器向CPU发出DMA请求;2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;3、由DMA控制器发送存储器地址,并决定传送数据块的长度;4、执行DMA传送;5、DMA操作结束,并把总线控制权交还CPU。
12、 DMA方式主要适用于一些高速的I/O设备。
13、这些设备传输字节或字的速度非常快。
14、对于这类高速I/O设备,如果用输入输出指令或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也容易造成数据的丢失。
15、而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。
16、DMA控制器或接口一般包括四个寄存器:1:状态控制寄存器、2:数据寄存器、3:地址寄存器、4:字节计数器。
17、这些寄存器在信息传送之前需要进行初始化设置。
18、即在输入输出程序中用汇编语言指令对各个寄存器写入初始化控制字。
相信通过dma方式这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。
本文由用户上传,如有侵权请联系删除!