DMA

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DMA技术的作用
DMA(Driect Memory Access)技术是一种代替微处理器完成存储器与外部设备或存储器之间大量数据传送的方法,也称直接存储器存取方法。

DMA的主要优点是当需要把一个外设的大量数据送到指定内存时,它可以自动完成传送任务。

在DMA技术中,数据的传送是在DMA控制器(简称DMAC)下进行的。

在DMA数据传送过程中,DMA控制器接管了微处理器的地址总线、数据总线和控制总线。

DMA控制器
1.DMAC的基本功能:实现DMA操作主要靠DMA控制器,其结构相当复杂。

在DMA操作期间,CPU 停止了工作,而由DMAC代替CPU进行工作,因此它必须具备CPU的寻址及数据传送能力,这主要包括如下几点:
(1)DMA控制器必须提供地址码以指明I/O设备变换数据的存储器起始地址;
(2)DMA控制器必须提供读/写脉冲,以规定数据在存储器与I/O设备之间的传输方向
(3)DMA控制器必须修改内存地址指针并计算传送的字节数,以判断什么时候传送结束。

DMAC的基本构成
一个DMAC至少必须包括如图所示的基本电路:地址寄存器、字节计数器、操作方式寄存器
DMAC必须有下列引出线:
(1)地址总线(A0~A15 )
(2)数据总线(D0~D7)
(3)四个控制数据传送方式的信号:存储器读信号MEMR、存储器写信号MEMW、I/O设备读信号IORC、I/O设备写信号IOWC。

(4)DMAC与I/O设备之间的联络信号:DMA请求信号DRQ(输入)、 DMA响应信号DACK(输出)
(5)DMAC与CPU之间的联络信号:总线请求HRQ(输出)、总线响应信号HLDA(输入)
DMA的操作过程
DMAC与CPU及存储器、I/O的连接方框图如图所示。

在进行DMA操作之前应先对DMAC编程。

例如,确定传送数据的存储器的起始地址,要传送的字节数,以及传送方式等。

DMA操作的基本过程。

(1)I/O设备向DMAC发出请求信号DRQ;
(2)DMAC向CPU发出总线请求信号HRQ=1;
(3)CPU向DMAC发出总线响应信号HLDA=1,此时,DMAC获取了总线控制权;
(4)DMAC向I/O设备发出DMA响应信号DACK,表示DMAC已控制了总线,允许I/O设备与存储器交换数据;
(5)DMAC按地址寄存器的内容发出16位地址信号作为存储地址的选择,同时地址寄存器的内容加1(或减1,由编程定);
(6)DMAC发出IORC信号到I/O设备,将I/O设备数据读入总线,同时发出MEMW信号,将数据总线的数据写入由地址总线选中的内存单元;
(7)字节计数器减1;
(8)重复5.、6.、7.步骤,直至字节计数器减到0为止,数据块的DMA方式传送工作宣告完成。

这时,DMAC的HRQ降为低电平(HRO=0),总线控制权交给CPU。

相关文档
最新文档