微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术

上传人:E**** 文档编号:89508207 上传时间:2019-05-26 格式:PPT 页数:59 大小:1.05MB
返回 下载 相关 举报
微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术_第1页
第1页 / 共59页
微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术_第2页
第2页 / 共59页
微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术_第3页
第3页 / 共59页
微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术_第4页
第4页 / 共59页
微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术》由会员分享,可在线阅读,更多相关《微型计算机接口及控制技术 教学课件 ppt 作者 古辉 第4章 DMA技术(59页珍藏版)》请在金锄头文库上搜索。

1、1,第四章 DMA技术,微机接口技术,浙江工业大学信息学院 古辉 ,2,第四章 DMA技术,第四章 DMA技术 4.1 DMA传送的特点 4.2 DMA传送的过程 4.3 DMA传送的方式 4.4 DMA控制器 4.5 DMA系统 4.6 DMA传送的应用,3,4.1 DMA传送的特点,DMA传送方式通常用来高速传送大批量的数据块。如: 硬盘和软盘I/O; 快速通信通道I/O; 多处理机和多程序数据块传送; 在图像处理中,对CRT屏幕送数据; 快速数据采集; DRAM的刷新操作。,4,4.1 DMA传送的特点,DMA(Direct Memory Access)的特点 DMA方式直接完成存储器与

2、I/O之间或存储器与存储器之间的数据传送,以提高数据的吞吐量。 DMA传送期间,DMAC接管了CPU对总线的控制权。 DMA是用硬件控制代替了软件控制。主要用于需要高速大批量数据传送的系统中。 DMA控制器是实现DMA传送的核心器件。 重点应掌握它的工作原理、外部特性以及编程方法。,5,4.2 DMA传送的过程,DMA传送的过程可以分为5个阶段:,6,CPU检测HRQ,HRQ有效且 LOCK无效,CPU交出总线,CPU向DMAC发HLDA,DMAC成为总线主控者,Y,N,4.2 DMA传送的过程,响应阶段,7,4.2 DMA传送的过程,8,4.3 DMA传送的方式,一、DMA操作类型 DMA操

3、作类型可以分为三类: 数据传送:把源地址的数据传送到目的地址去(读/写操作是以存储器而言的)。 DMA读 :存储器 I/O设备 DMA写 : I/O设备存储器 存储单元传送:存储器存储器 数据校验:对数据块内的每个字节进行校验 。 数据检索:对在指定的内存区内查找某个关键字节或某几个关键数据位是否存在,如果查到了,就停止检索。,9,4.3 DMA传送的方式,二、DMA操作方式 DMA操作方式是指进行上述三种DMA操作类型时,每次DMA操作所操作的字节数。 每种DMA操作类型,一般都有3种操作方式: 单字节传送 连续方式 请求方式,10,4.3 DMA传送的方式,1. 单字节传送 单字节方式下,

4、只能一个字节一个字节地传送(或校验或检索),每传送一个字节DMAC必须重新向CPU申请占用总线。,11,4.3 DMA传送的方式,2.连续方式 只要DMA传送一开始,DMAC始终占用总线,直到数据传送结束或校验完毕或检索到“匹配字节”,才把总线控制权还给CPU。,允许 DMA,DMAC发BUS请求,CPU 响应 DMA 放弃 BUS,DMAC控制 传一个字节,块结束否?,放弃总线中断请求,N,Y,Y,N,DMA请求?,DMA请求?,12,4.3 DMA传送的方式,3.请求方式 当外部有DMA请求时DMAC才占用总线;当DMA请求无效,或操作结束,或由外部送来过程结束信号EOP,DMAC都会释放

5、总线,把总线控制权交给CPU。,允许DMA,DMAC发出BUS请求,CPU响应DMA放弃总线,DMAC控制传一个字节,放弃总线中断请求,Y,Y,放弃总线,N,N,Y,DMA请求?,块结束?,DMA请求?,N,13,4.4 DMA控制器,一、DMAC在系统中的两种工作状态 主动工作态 在主动态时,DMAC取代处理器CPU,获得了对系统三总线的控制权,成为系统总线的主控者,向存储器和外设发号施令。 被动工作态 在被动态时,DMAC接受CPU对它的控制和指挥。例如在对DMAC进行初始化编程以及从DMAC读取状态等。,14,4.4 DMA控制器,二、总线控制权在DMAC与CPU之间的转移 两组联络信号

6、实现总线控制权的转移,15,4.4 DMA控制器,三、DMA控制器8237A-5 8237A-5 基本特点 8237A-5是一个高性能通用可编程的DMAC。 具有个独立的通道,通过级联方式可扩充更多的通道。 每个通道均有64KB寻址与计数能力。 它可实现在外部设备与系统存储器以及系统存储器与存储器之间直接交换信息,其数据传送率可达1.5MB/s。 它提供了多种控制方式和操作类型。 几种典型的DMA控制器见表4.1(P58)。,16,4.4 DMA控制器,18237A-5的外部特性,8237A-外部引脚图,17,8237A-5引脚说明 DREQ0-DREQ3:4个独立通道I/O设备DMA请求输入

7、信号。可以是高或低电平有效,由程序选定。它们的优先级是DREQ0 最高,DREQ3最低。 DACK0-DACK3:输出DMA请求的响应,有效电平可高可低,由编程选定。 8237A-5在同一个时间,只能有一个回答信号DACK有效。 HRQ:8237A向处理器发出的总线请求信号,高电平有效。 HLDA:处理器发给8237A的总线请求响应信号。高电平有效时,表示CPU已让出总线。,4.4 DMA控制器,18,4.4 DMA控制器,IOR,IOW:I/O读写控制,双向。在主动态时,它们是输出,在DMAC控制下,对I/O设备进行读/写。被动态工作时,它们是输入,由CPU向DMAC写命令、初始化参数或读回

8、状态。 MEMR,MEMW:存储器读写信号,单向输出。只有当8237A-5为主态工作时,控制存储器读或写数据。 CS:片选信号,在被动态时CPU用来寻址8237A-5,由地址总线经译码电路产生,低电平有效。 RESET:输入,复位信号,复位时屏蔽寄存器置1,其它寄存器置0。,19,A0A3:地址线,双向三态。被动态时为输入,作为CPU对8237A-5的16个端口内部寄存器与计数器寻址之用。主态时为输出,作为20位存储器地址最低4位。 A4A7:地址线,单向。当8237A-5为主态时输出,作为访问存储器地址的20位中的低8位的高四位。 DB0DB7:双向三态双功能线。被动态时为数据线。主动态时,

9、分时复用作为访问存储器的地址的高8位地址线和数据线。在存储器到存储器传送方式时,作为数据的输入输出端。,4.4 DMA控制器,20,4.4 DMA控制器,ADSTB:地址选通,输出。在主动态时,当DB0DB7作为高8位地址线时,ADSTB是把这8位地址锁存到地址锁存器的输入选通信号。高电平允许输入,低电平锁存。 AEN:地址允许,输出。是高8位地址锁存器输出允许信号。AEN还用来在DMA传送时禁止其他系统总线驱动器占用系统总线。 READY:准备就绪,输入,高电平有效。在主动态时控制总线周期的长度,与慢速设备同步。 EOP:过程结束,双向,输出。输出时,表明内部通道传送结束;输入时,表明外部强

10、迫DMA停止传送。,21,4.4 DMA控制器,28237A-5内部寄存器及编程命令,22,4.4 DMA控制器,图 8237A的内部结构和外部连接,23,4.4 DMA控制器,地址线A0A3确定了8237A-5内部有16个端口可供CPU访问,记作DMA+n;在PC微机中,其占用I/O端口地址为00H-0FH,寄存器口地址分配如下表。,24,各寄存器口地址分配表(续),*为软命令,即对特定的地址进行一次写操作,命令就生效,而与写入的内容无关。,4.4 DMA控制器,25,4.4 DMA控制器,(1)工作方式寄存器(写0BH),26,例1:PC系列软盘读写操作选择DMA通道2,单字节传送,地址增

11、1,不用自动预置,其写/读/校验操作的方式字如下:,写操作 01000110B46H 读操作 01001010B4AH 校验操作 01000010B42H,4.4 DMA控制器,27,4.4 DMA控制器,(2)基地址寄存器(写) 只能写不能读的16位寄存器,存放DMA传送的内存首址,在初始化时由CPU以先低字节后高字节顺序写入。传送过程中其内容不变,作用是在预置时,将它的内容重新装入当前地址寄存器。 (3)当前地址寄存器(可读可写) 可读可写的16位寄存器,存放DMA传送过程中的内存地址,在每次传送后地址自动增(减)1,它的初值与基地址寄存器的内容相同,并且是由CPU同时写入同一端口的。在自

12、动预置时,EOP信号使其内容重新置为基地址值。,28,4.4 DMA控制器,(4)基字节数计数器(写) 只能写不能读的16位计数器,存放在初始化时由CPU写入的DMA传送的总字节数。传送过程中内容不变,当自动预置时,将它的内容重新装入当前字节数计数器。应注意,减1计数是从0开始,所以若传送N字节,则写字节总数应为N-1。 (5)当前字节计数器(可读可写) 可读可写的16位计数器,它的初值与基字节数计数器的内容相同,并且是由CPU同时写入同一端口的。计时到便产生EOP。自动预置时,EOP信号使当前字节数计数器的内容重新预置为基计数值。,29,4.4 DMA控制器,(6)屏蔽寄存器(写) 屏蔽寄存

13、器用来禁止或允许通道的DMA请求。屏蔽命令有两种格式 单个通道屏蔽寄存器(写0AH),30,4.4 DMA控制器,4个通道屏蔽寄存器(写0FH),31,例2:为了在每次软盘读写操作时,进行DMA初始化,都必须开放通道2,以便响应软盘的DMA请求,可采用下述两种方法之一来实现。,使用单个通道屏蔽寄存器。 MOV AL,00000010B ;最低3位=010,开放通道2 OUT OAH,AL ;写单个通道屏蔽寄存器 使用4个通道屏蔽寄存器。 MOV AL,000010l1B ;最低4位=1011,开放通道2 OUT OFH,AL ;写四个通道屏蔽寄存器,4.4 DMA控制器,32,4.4 DMA控

14、制器,(7)软件请求DMA寄存器(写09H) 用于软件启动DMA请求,如存储器到存储器传送就是利用软件DREQ来启动的。 这种请求方式必须是块字节传输方式,传送结束EOP信号自动清除相应的请求位。例如请求使用通道1进行DMA传送,向请求寄存器写入代码05H即可。,33,4.4 DMA控制器,(8)命令寄存器(写08H) 控制DMAC的操作。,34,4.4 DMA控制器,例3:PC微机中的8237A-5,按如下要求工作:禁止存储器到存储器传送,正常时序,滞后写入,固定优先级,允许8237A-5工作,DREQ信号高电平有效,DACK信号低电平有效,命令字为00000000B=00H。 将命令写入命

15、令口的程序段为: MOV AL,00H ;命令字 OUT 08H,AL ;写入命令寄存器,35,4.4 DMA控制器,(9)暂存寄存器 在存储器对存储器传送时,暂时保存从源地址读出的数据。RESET信号和总清除命令可清除暂存寄存器的内容。 存储器到存储器传送时要用到两个通道: 通道0的地址寄存器编程为源地址; 通道1的地址寄存器编程为目的地址。 每传送一个字节需要8个时钟周期: 4个时钟周期,从通道0读出源数据送入暂存寄存器; 另4个时钟周期,通过通道1将暂存寄存器中的源数据写入目的区。,36,4.4 DMA控制器,(10)状态寄存器(读08H) D0D3位表示4个通道中哪些通道已到计数终止或

16、出现外加EOP信号。D4D7位表示4个通道中哪些通道有DMA请求还未处理。,37,4.4 DMA控制器,(11)软命令 8237A-5有3条特殊的“软命令”。只要对特定的地址进行一次写操作,命令就生效,而与写入的具体数据无关。它们是: 清先后触发器命令(写0CH)。将使装入顺序为先LSB后MSB。例如: MOV AL,0AAH ;AL为任意值0AAH OUT 0CH,AL ;写入先/后触发器端口,38,4.4 DMA控制器,总清除命令(写0DH)。与RESET作用相同,执行该命令会使“命令”、“状态”、“请求”、“暂存”寄存器 “先后触发器”清除,屏蔽寄存器置位,屏蔽所有外部的DMA请求,系统进入空闲状态 。程序段为: MOV AL,0BBH ;AL为任意值0BBH OUT ODH,AL ;执行总清命令 清屏蔽寄存器命令(写0EH)。该

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号