dma操控器是什么
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康复总线操控权;