第11章DMA控制器.ppt.ppt
文本预览下载声明
第11章 DMA控制器 教学重点 8237A的工作方式 8237A寄存器组的作用 8237A寄存器组的编程 DMA传送方式 希望克服程序控制传送的不足: 外设→CPU→存储器 外设←CPU←存储器 直接存储器存取DMA: 外设→存储器 外设←存储器 CPU释放总线,由DMA控制器管理 11.2 DMA控制器8237A 每个8237A芯片有4个DMA通道,就是有4个DMA控制器 每个DMA通道具有不同的优先权 每个DMA通道可以分别允许和禁止 每个DMA通道有4种工作方式 一次传送的最大长度可达64KB 多个8237A芯片可以级连,扩展通道数 11.2.1 8237A的内部结构和引脚 内部结构和外部引脚都相对比较复杂 应用观点,内部主要由两类寄存器组成 通道寄存器 控制和状态寄存器 1. 请求与响应信号 DREQ0~DREQ3:DMA通道请求。当外设需要请求DMA服务时,将DREQ信号置成有效电平,并要保持到产生响应信号。 HRQ:总线请求。8237A输出有效的HRQ高电平,向CPU申请使用系统总线。 HLDA:总线响应。8237A接受来自CPU的响应信号HLDA,取得了总线的控制权。 DACK0~DACK3:DMA通道响应。8237A使请求服务的通道产生相应的DMA响应信号。 2. DMA传送控制信号 A0~A7:地址线。输出低8位存储器地址。 DB0~DB7:数据线。输出高8位存储器地址;存贮器与存贮器的传送期间,用于数据传送。 ADSTB:地址选通。DMA传送开始时,输出高有效,把在DB0~DB7上输出的高8位地址锁存在外部锁存器中。 AEN:地址允许。输出高有效,将锁存的高8位地址送入系统总线,与芯片此时输出的低8位地址组成16位存储器地址。 2. DMA传送控制信号(续) MEMR#:存储器读。有效将数据从存储器读出 MEMW#:存储器写。有效将数据写入存储器 IOR#:I/O读。有效将数据从外设读出 IOW#:I/O。有效将数据写入外设 READY:准备好。DMA传送的S3下降沿检测到为低时,插入等待状态Sw,直到READY为高才进入第4个时钟周期S4。 EOP#:过程结束。DMA传送过程结束,输出一个低有效脉冲。外部输入低脉冲信号,则终结DMA传送。 3. 处理器接口信号 DB0~DB7:数据线。用于8237A与微处理器进行数据交换。 A0~A3:地址线。用以选择芯片内部寄存器。 CS#:片选。低有效时,微处理器与8237A通过数据线通信,主要完成对8237A的编程。 IOR#:I/O读。读取8237A内部寄存器。 IOW#:I/O写。写入8237A内部寄存器。 CLK:时钟。控制芯片内部操作和数据传输。 RESET:复位。使8237A处于初始状态。 8237A的两种工作状态 8237A具有两种工作状态 空闲周期: 作为接口电路,受CPU控制的工作状态 有效周期: 作为DMAC控制DMA传送的工作状态 8237A引脚的两种作用 11.2.2 8237A的工作时序·空闲周期 8237A的任一通道都没有DMA请求时 8237A由微处理器控制作为一个接口芯片 CPU可对8237A编程,或从8237A读取状态 8237A采样CS#选片信号,该信号有效,CPU就要对8237A进行读/写操作 8237A还采样通道的请求输入信号DREQ,该信号有效,就进入有效周期 11.2.2 8237A的工作时序·有效周期 8237A采样到外设有DMA请求,就脱离空闲周期进入有效周期 8237A作为系统的主控芯片,控制DMA传送操作 DMA传送借用系统总线完成,其控制信号以及工作时序类似CPU总线周期 DMA传送时序 S1状态——输出16位存储器地址 AEN输出高电平,表示DMA传送 S2状态——输出DMA响应信号和控制信号 DMA读:MEMR#和IOW#有效 DMA写:IOR#和MEMW#有效 S3和Sw状态——检测数据传送是否能够完成,决定是否插入等待状态Sw S4状态——完成数据传送 11.2.3 8237A的工作方式 DMA传送方式 · 单字节传送方式 · 数据块传送方式 · 请求传送方式 · 级连方式 DMA传送类型 · DMA读 · DMA写 · DMA检验 存储器到存储器的传送 1. DMA传送-(1)单字节方式 每次DMA传送时仅传送一个字节 传送一个字节之后,字节数寄存器减1,地址寄存器加1或减1,HRQ变为无效 8237A释放系统总线,将控制权还给CPU 若传送后使字节数从0减到FFFFH,则终结DMA传送或重新初始化 特点: 一次传送一个字节,效率略低 DMA传送之间CPU有机会重新获取总线控制权 1. DMA传送-(2)数据块方式 由DREQ启动就连续地传送数据,直到字节数寄存器从0
显示全部