网络热词 > 直接存储器存取

直接存储器存取

直接存储器存取(Direct Memory Access)方式,即DMA方式,也称为成组数据传送方式。

一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。外设通过DMA的一种专门接口电路——DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。

实现DMA传送的基本操作如下:

(1)外设可通过DMA控制器向CPU发出DMA请求:

(2)CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;

(3)由DMA控制器发送存储器地址,并决定传送数据块的长度;

(4)执行DMA传送;

(5)DMA操作结束,并把总线控制权交还CPU。

DMA请求信号可能会打断一条指令的执行,使它暂时停止执行,数据传送完毕后才恢复该指令的执行。

DMA方式主要适用于一些高速的I/O设备。这些设备传输字节或字的速度非常快。对于这类高速I/O设备,如果用输入输出指令或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也容易造成数据的丢失。而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。

DMA控制器或接口一般包括四个寄存器:

状态控制寄存器数据寄存器地址寄存器和字节计数器。

这些寄存器在信息传送之前需要进行初始化设置。即在输入输出程序中用汇编语言指令对各个寄存器写入初始化控制字。

All rights reserved Powered by 网络热词 87994.com

copyright ©right 2010-2020。
网络热词内容来自网络,如有侵犯请联系客服。zhit325@126.com