DMA(Direct Memory Access)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来 执行传输的。
DMA既可以指内存和外设直接存取数据这种内存访问的计算机技术,又可以指实现该技术的硬件模块(对于通用计算机PC而言,DMA控制逻辑由CPU和DMA控制接口逻辑芯片共同组成,嵌入式系统的DMA控制器内建在处理器芯片内部,一般称为DMA控制器,DMAC)。
值得注意的是,通常只有数据流量较大(kBps或者更高)的外设才需要支持DMA能力,这些应用方面典型的例子包括视频、音频和网络接口。
dma控制器工作方式
dma控制器工作方式有三种:单字节传输方式,成组块传输方式、请求传输方式三种。
实现DMA传送的基本 *** 作如下:
1、外设可通过DMA控制器向CPU发出DMA请求;
2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;
3、由DMA控制器发送存储器地址,并决定传送数据块的长度;
4、执行DMA传送;
5、DMA *** 作结束,并把总线控制权交还CPU。
DMA控制器基本功能
DMA控制器是内存储器同外设之间进行高速数据传送时的硬件控制电路,是一种实现直接数据传送的专用处理器,它必须能取代在程序控制传送中由CPU和软件所完成的各项功能;它的主要功能是:
(1)DMAC同外设之间有一对联络信号线——外设的DMA请求信号DREQ以及 DMAC向外设发出的DMA响应信号DACK;
(2)DMAC在接收到DREQ后,同CPU之间也有一对联络信号线——DMAC向CPU 发出总线请求信号(HOLD或BUSRQ),CPU在当前总线周期结束后向DMAC发出总线响应信号(HLDA或BUSAK),DMAC接管对总线的控制权,进入DMA *** 作方式;
(3)能发出地址信息,对存储器寻址,并修改地址指针,DMAC内部必须有能自动加1或减1的地址寄存器;
(4)能决定传送的字节数,并能判断DMA传送是否结束。DMA内部必须有能自动减1的字计数寄存器,计数结束产生终止计数信号;
(5)能发出DMA结束信号,释放总线,使CPU恢复总线控制权;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)