微型计算机接口技术(第二版) 教学课件 ppt 作者 古辉 刘均 雷艳静 第4章 DMA技术

上传人:E**** 文档编号:89184237 上传时间:2019-05-20 格式:PPT 页数:76 大小:2.61MB
返回 下载 相关 举报
微型计算机接口技术(第二版) 教学课件 ppt 作者 古辉 刘均 雷艳静 第4章 DMA技术_第1页
第1页 / 共76页
微型计算机接口技术(第二版) 教学课件 ppt 作者 古辉 刘均 雷艳静 第4章 DMA技术_第2页
第2页 / 共76页
微型计算机接口技术(第二版) 教学课件 ppt 作者 古辉 刘均 雷艳静 第4章 DMA技术_第3页
第3页 / 共76页
微型计算机接口技术(第二版) 教学课件 ppt 作者 古辉 刘均 雷艳静 第4章 DMA技术_第4页
第4页 / 共76页
微型计算机接口技术(第二版) 教学课件 ppt 作者 古辉 刘均 雷艳静 第4章 DMA技术_第5页
第5页 / 共76页
点击查看更多>>
资源描述

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

1、浙江工业大学计算机学院,微机接口技术,1,内容回顾,定时/计数基本概念 定时、计数的基本概念。 微机中的定时:内部定时、外部定时。 定时方法:软件定时、不可编程/可编程硬件定时。 8253/8254定时/计数器 内部结构、引脚定义、端口操作地址。 8253/8254定时/计数器方作方式 6种工作方式。 差异:输出波形、计数触发方式、门控影响。,2,8253/8254编程与应用 写方式字;写初值。 注意区分方式字和初值的端口地址。 PC机的定时/计数器应用 T1:为系统电子时钟提供时间基准。 T2:动态存储器定时刷新控制信号。 T3:扬声器音频发生器。,3,4,第四章 DMA技术,背景:程序控制

2、方式和中断方式都需CPU的干预。对于高速、大批量的数据传输,若由CPU一条一条执行指令来完成数据交换,效率低下。 原理:DMA(Direct Memory Access,直接内存传输)方式下,通过专用接口,让存储器与高速外设之间直接交换数据,而无需CPU的干预;并且内存地址的修改、传送开始和结束控制都由硬件电路实现,大大提高了传输速度。 特点:用硬件控制代替软件控制。实现硬件控制的器件称为DMA控制器(DMAC)。它是DMA传输的核心器件。应用场合:高速、大批量的数据传输。,4.1 DMA 概述,5,DMA控制器2种工作状态 被动工作状态:CPU对DMAC进行控制和指挥。例如:向DMAC写入内

3、存传送区的首地址、传送字节数和控制字。此时,DMAC相当于一个外设接口,称为总线从模块或受控器。 主动工作状态:进行DMA传输时,DMAC取代CPU,获得总线控制权,成为总线的主控者,向存储器和外设发信号。此时,DMAC称为总线主模块或主控器。,6,(1) DMA的传送过程,DMA的传送过程,7,当外设有DMA需求且就绪,向DMAC发请求信号DREQ。,DMAC收到请求后,通过HOLD引脚向CPU发总线请求信号HRQ 。,CPU若允许DMA传输,则释放总线控制权,并发响应信号HLDA 。,DMAC收到HLDA并获得总线控制权后,向外设发应答信号DACK,通知其可以开始进行DMA传输。,DMAC

4、送出地址和控制信号,进行外设与内存间的数据传输。,数据传输结束后,DMAC通过的HOLD引脚发撤销总线请求。CPU收到请求后,使HLDA无效,同时收回总线控制权。,当外设有DMA需求且准备就绪,向DMAC发出DMA请求信号DREQ。 DMAC收到DMA请求后,通过CPU的HOLD引脚向CPU发出总线请求信号HRQ。 CPU收到总线请求后,若允许DMA传输,则会在当前总线周期结束后发出DMA响应信号HLDA。 CPU释放总线控制权(三组总线置高阻态); CPU向DMAC发HLDA信号,通知DMAC,CPU已释放了总线控制权。,8,DMAC获得总线的控制权,向外设发DMAC的应答信号DACK,通知

5、外设可以开始进行DMA传输。 DMAC送出地址和控制信号,进行外设与内存间的数据传输。 数据传输完毕后,DMAC通过CPU的HOLD引脚发出撤销总线请求信号。CPU收到该信号后,使HLDA无效,同时收回对总线的控制权。,9,一次DMA传送只需执行一个DMA周期,其时间相当于一次总线写周期的时间。,单字节传送方式 每传送完一个字节数据,DMA控制器放弃总线控制权。传送下一个字节时,再重新申请使用总线。 特点:DMA控制器不会长时间占用总线。CPU可在每个DMA周期结束后立即控制总线。CPU与DMA控制器轮流控制系统总线,因此不会对系统运行产生较大影响。 缺点:DMA传输效率低。,10,(2) D

6、MA的传送方式,11,数据块传输方式 DMA控制器获得总线控制权后,可连续传输多个字节。只有当字节全部传送完毕,或被外部强制停止,它才释放总线控制权。 优点:传输效率高。 缺点:DMA传输期间CPU长时间不能控制总线,若一次传输的数据较多,会对系统产生影响。,12,13,请求传输方式 类似数据块传输方式。不同之处在于:每传输一个字节后,DMA控制器对外设的DMA请求信号DREQ进行测试;若DREQ无效,则停止DMA传输,归还总线控制权。 优点:实现灵活,DMA操作可由外设利用DREQ信号控制发送过程。,14,15,级联传输方式 将多个DMAC连在一起,一个为主,其余为从。从片收到外设的DMA请

7、求后,不是向CPU申请总线,而是向主片申请,再由主片向CPU申请。,16,DMA读:把数据由存储器传送到外设。 DMA写:把外设输入的数据写入存储器。 存储器到存储器:实现内存区域到内存区域的读写。 DMA校验:不进行数据传送,而是对数据块内部的每个字节进行校验。,17,(3) DMA的操作类型,DMA读写操作均是针对存储器而言。,18,内容概要,DMA的传送过程 DMA的传送方式 DMA的操作类型,8237A是一款可编程的通用DMA控制器,可实现内存到外设、外设到内存、内存到内存的高速传输,最高传输速率可达1.6MB/s。 8237A具有4个独立通道,可通过级联方式进行扩充。最多可扩展4个从

8、片,共16个DMA通道。每个通道一次可传输的最大数据块为64KB。,4.2 DMA 控制器 8237A,19,20,(1) 8237A 内部结构,8237A包含4个DMA通道和一个公共控制部分。 每个DMA通道包括: 基本地址寄存器(16位)、当前地址寄存器(16位) 基本字节寄存器(16位) 、当前字节寄存器(16位) 请求寄存器位(1位) 、屏蔽寄存器位(1位) 公共控制部分包括: 控制寄存器(8位) 、状态寄存器(8位)、暂存寄存器(8位) 方式寄存器(8位),21,40引脚DIP封装。 信号分组: 请求与应答信号 被动状态下的信号 主动状态下的信号,22,(2) 8237A 外部引脚,

9、请求与应答信号 DREQ0 DREQ3:DMA通道请求信号。有效电平可高可低,由程序控制。优先级:DREQ0最高,DREQ3最低。 HRQ:8237A向CPU发出的使用总线请求信号,高有效。 HLDA:CPU发给8237A的总线请求应答信号,高有效,表示CPU已让出总线使用权。 DACK0 DACK3:DMA通道应答信号。有效电平可由程序设置。同一时刻,只能有一个DACK信号有效。,23,被动状态下的信号线 A0 A3:地址输入线。用于CPU对8237A进行初始化时访问其内部寄存器使用。4位组合可访16个寄存器。 DB0 DB7:双向数据线。用于CPU向8237A进行初始化时传送命令,或传送接

10、收后传送状态。 CS:片选信号。低有效时,CPU可对8237A进行编程。 IOR:I/O读。CPU读取8237A的内部状态寄存器信息。 IOW:I/O写。CPU向8237A写命令及初始化参数。 CLK:时钟信号输入。 RESET:复位输入。,24,主动状态下的信号线 A0 A7:地址输出线。输出低8位存储器地址。 DB0 DB7:数据线 / 高8位地址线分时复用。 ADSTB:地址选通。DMA传输开始时,ADSTB有效,把DB0 DB7 上输出的高 8 位地址锁存在外部锁存器中。 AEN:地址允许输出信号。有效时将锁存的高8位地址送入系统总线,与DMAC输出的低8位地址组成16位地址。 MEM

11、R:存储器读。有效时从存储器读数据。 MEMW:存储器写。有效时将数据写入存储器。,25,IOR:I/O读。低有效时,在DMAC的控制下,从外设读取数据。 IOW:I/O写。低有效时,在DMAC的控制下,将数据写入外设。 READY:准备就绪。用于控制总线周期长度,与慢速设备同步。在DMA传送期间,若READY信号无效,则插入等待周期。 EOP:过程结束信号,双向。DMA传送结束,DMAC从EOP端输出一个负脉冲,通知外设。若外设通过EOP向DMAC输入一个负脉冲信号,则终结DMA传送。,26,8237A内部共有10种寄存器,可分为2类: 通道专用寄存器(4个) 基本地址寄存器、当前地址寄存器

12、 基本字节寄存器、当前字节寄存器 通道公用寄存器(6个) 方式寄存器 命令寄存器 状态寄存器,27,(3) 8237A 内部寄存器的功能,屏蔽寄存器 请求寄存器 暂存寄存器,1. 基本地址寄存器(16位,只写) 用来存放DMA传送的内存起始地址。初始化时由程序写入,先低字节,后高字节。 在整个数据块的DMA传输过程中,其值保持不变。 自动预置时,将它的值重新装入当前地址寄存器。 2. 当前地址寄存器(16位,可读可写) 用来存放DMA传送的当前内存地址,每次DMA传输后,其值自动加1或减1。 初值与基址寄存器相同,由CPU一并写入。 自动预置时,数据块传输结束后,自动恢复为初值。,28,通道专

13、用寄存器,3. 基本字节寄存器(16位,只写) 又称基本字节计数器。用来存放DMA传送的总字节数。若传送N个字节,则要写入N-1。 其值在初始化时由程序写入,先低字节,后高字节。在整个数据块的DMA传输过程中,其值保持不变。 自动预置时,将它的值重新装入当前字节寄存器。 4. 当前字节寄存器(16位,可读可写) 用来存放DMA传送过程中未传完的字节数,其初值与基本字节寄存器相同,由CPU一并写入。 每传送一个字节,其值自动减1。减为-1时,数据块传送结束,EOP信号有效。 自动预置时,数据块传输结束后,自动恢复为初值。,29,1. 工作方式寄存器(8位,只写) 用于设置DMA的操作类型、操作方

14、式、地址改变方式、自动预置以及通道选择。,30,通道公用寄存器,【例4-1】 PC系列软盘读写操作选择DMA通道2,单字节传送,地址增1,不用自动预置。试给出写操作、读操作、校验操作的方式字。 解: 写操作:0100 0110 = 46H。 读操作:0100 1010 = 4AH。 校验操作:0100 0010 = 42H。,31,2. 命令寄存器(8位,只写) 用于控制8237A的操作,只能写,不能读。,32,D5:滞后写和扩展写 D5 = 0 为滞后写,表示写脉冲滞后读脉冲一个时钟。 D5 = 1 为扩展写,表示读、写脉冲同时产生。 扩展写增加了写命令宽度。压缩时序下 (D3=1) 该位无

15、意义。 D4:优先级 D4 = 0 为固定优先权, DREQ0 最高,DREQ3 最低。 D4 = 1 为循环优先权,刚服务过的通道优先权变为最低。 D3 :时序类型 D3 = 0为普通时序,传输一个字节需3个时钟周期。 D3 = 1为压缩时序。对于高速外设,可将时序压缩到2个周期。,33,D2:启动与停止8237A工作 D2 = 0 启动; D2 = 0 停止。一般为0,即启动工作。 该位设置影响所有通道。 D1 和 D0:控制内存到内存的传输。 仅当 D0 = 1 (允许MM传输) 时 D1 才有意义。 实现MM传输,需先把源区数据送入8237A的暂存寄存器,然后再送到目的区。即:每次MM

16、传输需2个DMA周期。 一般用通道0的地址寄存器存放源地址,用通道1的地址寄存器和字节计数器存放目的地址和字节数。 传输时,目的地址可自动加/减1,而源地址可通过设置D1=1使其保持不变,这样可使同一数据传输到整个目标内存区域。,34,【例4-2】 PC机中的8237A 按如下要求工作:禁止存储器到存储器传送,采用正常时序,滞后写入,固定优先级,允许8237A工作,DREQ信号高电平有效,而DACK信号低电平有效。已知写命令寄存器对应的地址为08H,请给出写命令的程序段。 解: 命令字:00000000H 写命令字代码段: MOV AL, 00H OUT 08H, AL,35,3. 状态寄存器(8位) 用于存放8237A的状态信息,只读不写。 低4位表示哪些通道传输结束;高4位表示哪些通道当前有DMA请求。,36,4. 屏蔽寄存器(8位) 用来禁止或允许各通道的DMA请求。只写不读。有单通道屏蔽和4通道屏蔽两种格式。 单通道屏蔽:每次只屏蔽一个通道。,37,4通道屏蔽:可同时屏蔽4个通道的DMA请求(相互独立)。 若低4位全为1,则屏蔽所有的

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

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

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