dma控制器由什么组成.docxVIP

  • 39
  • 0
  • 约2千字
  • 约 5页
  • 2022-03-01 发布于浙江
  • 举报
PAGE PAGE 1 dma控制器由什么组成   DMAC可以在两种模式下运行:无描述符存取模式和描述符存取模式。模式的选取由DCSRx[NODESCFETCH]位打算。同样在同一时间内,不同的通道里可以分别使用这两种模式。通道在转换运行模式之前必需停止数据处理。假如消失错误,则通道停留在停止状态,等待程序处理。   (1)无描述符存取模式   在无描述符存取模式下,DD(AD)Rx被保留。程序不行以向DDADRx中写入数据,并且必需加载DSADRx、DTADRx和DCMDx(寄存器)。当运行位被设置,DMAC立即运行以传输数据。无描述符存取在数据传输的开头时被执行。   一个典型的无描述符存取操作挨次如下。   1)复位后,通道处于未初始化状态。   2)设置DCSR[RUN]位为0,设置DCSR[NODESCFETCH]位为1。   3)程序将源地址写入DSADR寄存器,将目标地址写入DTADR寄存器,将命令写入DCMD寄存器。   4)向DCSR[RUN]位中写入1,然后无描述符存取被执行。   5)通道等待数据传输恳求。   6)通道传输数据,数据量由DCMD[SIZE]和DCMD[LENGTH]较小者打算。   7)在DCMD[LENGTH]被设置为0之前,通道等待下一次数据恳求。   8)DDADR[STOP]被设置为1,通道运行终止。   (2) 有描述符存取模式   在有描述符存取模式下,DMAC的寄存器用内存中的DMA描述符数据填充。多个DMA描述符可以被链成一个链表。这就允许DMA通道在一系列不连续的地址上进行数据传输。一个典型的有描述符存取模式的操作步骤如下。   1)复位后,通道处于未初始化状态。   2)程序将描述符地址(16字节对齐)写入DDADR寄存器。   3)程序向DCSR[RUN]中写入1。   4)DMAC从DDADR(标记)的地址中读取4字长的描述符,其中各字加载状况如下:   · Word [0] -》 DDADRx寄存器;   · Word [1] -》 DSADRx寄存器;   · Word [2] -》 DTADRx寄存器;   · Word [3] -》 DCMDx寄存器。   5)通道等待数据传输恳求。   6)通道传输数据,数据量由DCMD[SIZE]和DCMD[LENGTH]较小者打算。   7)在DCMD[LENGTH]被设置为0之前,通道等待下一次数据恳求。   8)DDADR[STOP]被设置为1,通道运行终止,否则连续运行   DMA掌握器的基本组成   一个DMA掌握器,实际上是采纳DMA方式的外围设备与系统总线之间的接口(电路),这个接口电路是在中断接口的基础上再加DMA机构组成。习惯上将DMA方式的接口电路称为DMA掌握器。   (1)内存地址计数器:用于存放内存中要交换的数据的地址。在 DMA传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当 DMA 传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。   (2)字计数器:用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1”。当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA掌握器向CPU发出中断信号。   (3)数据缓冲寄存器:用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。   (4)“DMA恳求”标志:每当设备预备好一个数据字后给出一个掌握信号,使“DMA   恳求”标志置“1”。该标志置位后向“掌握/状态”规律发出DMA恳求,后者又向CPU发出总线使用权的恳求(HOLD),CPU响应此恳求后发回响应信号HLDA,“掌握/状态”规律接收此信号后发出DMA响应信号,使“DMA 恳求”标志复位,为交换下一个字做好预备。   (5)“掌握/状态”规律:由掌握和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA恳求”信号和CPU响应信号进行协调和同步。   (6)中断机构:当字计数器溢出时,意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。   

文档评论(0)

1亿VIP精品文档

相关文档