微机原理 第五章(DMA)_第1页
微机原理 第五章(DMA)_第2页
微机原理 第五章(DMA)_第3页
微机原理 第五章(DMA)_第4页
微机原理 第五章(DMA)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、直接存贮器存取(DMA)技术,DMA传送方式的特点 一. “DMA传送方式“基本概念”直接存储器存取”传送 方式,即 CPU暂时让出总线控制权,由DMAC全权控 制 M与I/O 之间直接进行数据的传送。,示意图如下:,三. 应用: 常用于I/O设备与M之间有大的数据块交换、且有 高的速度要求的场合。如:海量存储器(硬盘)与M之 间的信息交换。,二. 特点:(以硬件控制取代软件控制进行信息传送) DMAC暂时享有总线控制权,行使地址修改、控制数据 传送等功能,数据传送速度主要受M的存取速度限制。,一、主动态:接管并取得总线控制权,取代CPU而成为 系统的主控者。DMAC通过三总线向M或I/O发出

2、地址码 及读/写信号,以控制M和I/O设备之间的数据传送。,DMA传送过程,DMAC在系统中的工作状态有两种工作状态: 主动态(主控器)和被动态(受控器),CPU对DMAC进行初始化操作内容包括: 通道的选择 DMA的操作类型及方式 内存首地址 地址递增/递减 需要传送的字节数,二、被动态:未取得总线控制时,同于其他 I/O设备,受CPU的控制。这时,CPU对DMAC进行初始化操作或从DMAC读取状态信息。,DMA传送过程 1. 在I/O与DMA之间:有请求DREQ和回答DACK 2. 在DMA与CPU之间有请求HRQ和回答HLDA信号。 如下图所示:,3、总线控制权的转移 DMA在主动态时接

3、受CPU对总线的控制权。,DATA,4. DMA传送过程示意图,DMA操作方式 一.DMA操作类型: 1.数据传送 2.数据校验、检索 3.MM之间传送数据 二.DMA传送操作方式 1.单字节方式 2.连续方式 3.请求传送方式 4.级联方式,一、8237的主要性能参数及引脚功能。 1、8237有4个独立的数据传送通道,每个通道64KB 寻址及计数能力,还可通过级联方式进行通道扩充。 2、可接收CPU对其进行的初始化操作,输入命令字和 传送参数,以实现级联和多种模式的操作。可向CPU 提供状态信息。,DMA8237控制器,注意 :: 系统允许多个DREQ信号同时有效,即可以几个 I/O同时提出

4、申请。但同一个时间,只能有一个 DACK信号有效。,3、能接收从外设发来的DMA请求信号,并向CPU发 DREQ总线请求信号, 亦能接收CPU回送的,让出总线控制权的回答HLDA 。 亦能向外设发出其对DMA请求的应答信DACK30。,4、允许I/O设备与M、M与M之间直接传送数据,传 输速率为15MB/S。,访问M的地址码由DMAC通过地址引脚A7A0提供 地址低8位。由DMAC通过DB70及ADSTB提供 地址高8位。,说明:,数据通过DB70传送(对DB70的使用采用了总线 复用与分时使用技术。),如果慢速的I/O设备或与存贮器与M交换数据时要求等 待,则可以从DMAC的READY引脚输

5、入低电平,等待 时间结束,READY引脚变为高电平,表示准备好可以 开始,交换数据。,5、能确定传送数据的字节数,并判断DMA传送是 否结束,并发出MDA操作的结束信号。,若从外部向EOP引脚输入一负脉冲,则迫使 DMA操作中止,结束数据传送各内部R复位。,EOP:DMA操作结束,负脉冲有效,双向,DMA传送时,每传送一个字节,字节计数器自动减“1”,直至为“0”时 输出EOP传送操作终止信号。EOP送 I/O设备。,二、8237内部结构(书P178) 由: 定时与控制逻辑 命令与控制逻辑 优先权控制逻辑 寄存器组 地址/数据,组成,进行初始化及读状态信息涉及的主要R组。,8237有4个独立的

6、通道,每个通道有4个R : 基地址 基字节计数器 当前地址 当前字节计数器,命令R 状态R 屏蔽R 4个通道共用R 请求R 工作方式R 暂存R,通过对这些R的初始化编程,可设定8237的 3种DMA操作类型 3种DMA操作方式 2种工作时序 2种优先权排队 自动预置传送地址和字节数M与M之间的数据传送。,三、 8237的端口寻址及基本操作(见书P188),CPU由8237的 A30 4位地址线输入地 址信息实现对片内的16个端口寻址,1、 工作方式命令字 工作方式R (书P183) 用于设定:DMA的操作类型/方式、地址 加1/减1,自动预置以及选择通道。 2、基地址的设置 基址R,进行DMA

7、传送的存 贮器首地址设定。 由CPU以先低字节后高字节顺序写入。 在进行DMA传送时其值不变,目的是为了在 进行自动予置时,将其重新装入当前地址寄存器。,四、8237的命令及对内部R的编程,3、当前地址设置 当前地址R 4、基字节数的设置 基字节书计数器 5、当前字节数计数值 当前字节数计数器 6、屏蔽字的设置,分(P186) 单个通道屏蔽字 单个通道屏蔽R 4个通道屏蔽字 4个通道屏蔽R 7、请求字 请求R(P186) 仅用与M M的DMA传送方式。,8、命令字 命令R 用于控制DMAC的操作(见书P182) 9、状态字 状态R (见书P187) 用于提供那些通道停止计数,哪些通道有DMA请

8、求。 10、暂存器,用于在MM传送中,暂时保存从源M读 出的数据。 11、软命令 对特定的地址进行一次写操作,命令就生 效。先/后触发器命令。主清除命令 清屏蔽R命令,五、8237的工作时序(书P190) DMA的空间周期SI DMA的过度周期S0 DMA有效周期S1S4,2.内部逻辑结构 其引脚信号的功能,它们分为以下几类: (1)I/O设备的请求信号DREQ03,由I/O向DMA发出, DREQ0优先级最高。,(2)DMA回答I/O的信号 DACK03,由DMA回答I/O (3)总线请求和应答HRQ和HLDA,(4) , , 地址线 A0A7 双向数据线DB07,既是数据线,又是16位地址

9、线 的高8位。 二、8237A内部寄存器及编程(15个寄存器) 1.内部寄存器: (1)通道寄存器 读通道当前地址寄存器 读通道当前字节计数器 写通道基地址与当前地址寄存 写通道基字节计数器与当前字节计数器,(2)共用寄存器: 工作方式寄存器 命令寄存器 状态寄存器 屏蔽寄存器 (3)寄存器功能(3:3:3:2:2:1:1)通过编程可 完成。 3种基本传送方式 2种工作时序 3种DMA传送类型 2种优先级排队 传送地址和字节数 1种RAM-RAM之间传送,1、工作方式寄存器(DMA+11) 功能:用于控制DMA传送的操作方式,传送类型以及自动预置。 格式:,注意: 单一方式:通道启动一次,只传

10、送一个数据,传送完就 释放 系统总线交还CPU,并且: 当前地址寄存器+1(-1) 当前字节计数器+1(-1) 成组传送:启动一次可把整个数据块传送完,并且,当 前字节计数器减到0,产生EOP信号,释放 总线。,请求传送:与成组传送类似,其不同点在于每传送一个 字节之后,要检测(询问)DREQ是否有效, 若无效,则“挂起”但不释放总线,若有效,继 续传送直至字节计数器为0。,存贮器-存贮器:为数据块传送而设置,这种传送在通道 0 与1之间传送。 通道0 (源) 通道1(目的),例:PC系列软盘R/W操作选择DMA通道2,单字节传送, 地址增1,不用自动预置,其R/W操作方式字为: I/O RA

11、M 读盘(DMA写)=0 1 0 0 0 1 1 0 46H RAM I/O 写盘(DMA读)=0 1 0 0 1 0 1 0 4AH 因此,从软盘上读一个扇区的数据存放到内存区方式字 为46H,写一个扇区的数据到软盘为4AH。,2. 基值地址寄存器(DMA+1,+2,+4,+6) 16位 存放DMA传送的内存首址,在初始化时由CPU写入,传送中基值地址不变,只写不读。 3. 当前地址寄存器(DMA+0,+2,+4,+6) 16位 存放DMA传送地程中的内存地址 初值与基值地址相同,每次传送自动加1(减1),可读可写。 4. 基值字节计数器(DMA+1,+1,+3,+5,+7) 16位 存放D

12、MA传送的总字节数,在初始化时由CPU写入,传送中,基值字节计数器不变,只写不读。 5. 当前字节计数器(DMA+1,+1,+3,+5,+7) 16位 存放DMA传送过程中没有传送完的节数,每传送一个字节后减1,减为0时,产生EOP,表示传送完毕。,(1)单一屏蔽寄存器(DMA+1) 每次只能屏蔽一个通道 格式:,6. 屏蔽寄存器(DMA+10,+15) 用来禁止或允许通道的DMA请求。 有二种格式:,通道3,通道2,通道1,通道0,=0屏蔽 =1不屏蔽,(2)4位屏蔽寄存器(DMA+15) 可同时屏蔽4个通道(但对由软件设定的DMA 请求位不能屏蔽) 。 格式:,未用,例:开放通道2,作为响

13、应软的DMA请求。 使用单一屏蔽 MOV AL,00000010B OUT DMA+10,AL 或 使用4位屏蔽 MOV AL,00001011B OUT DMA+15,AL,通道选择 00=0通道 01=1通道 10=2通道 11=3通道,格式:,7. 请求寄存器(DMA+9) DMA请求寄存器就是用于由软件启动DMA请求, 如:RAMRAM,这种软件请求DMA传输必须是 成组传输方式。,未用,请求位 1=有请求 0=无请求,8. 命令寄存器(DMA+8) 用来控制8237A的操作,由CPU写入,由CPU写入,由 RESET清除,只写不读。 格式: D0 RAM RAM,=0 禁止 =1允许,请求服务,过程结束,有尚未处理的DMA请求,写1,已接收到终止计数信号,写1,格式:,9. 状态寄存器(DMA+8) 功能:提供哪些通道已到终止计数、哪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论