首页 第11章 DMA技术与DMA控制器

第11章 DMA技术与DMA控制器

举报
开通vip

第11章 DMA技术与DMA控制器nullnull第11章 DMA技术与DMA控制器 §11.1 DMA技术概述 §11.2 可编程DMA控制器8237A §11.3 DMA技术在微机系统中的应用 §11.1 DMA技术概述 §11.1 DMA技术概述 1、DMA 传送方式的实现方法: 由专用接口芯片DMA控制器 (称DMAC) 控制传送过程; 当外设需传送数据时,通过 DMAC向CPU发出总线请求; CPU发出总线响应信号,释放总线; DMAC接管总线,控制外设、内存之间直接数据传送。DMA技术概述DMA技术概述2、DMA传送方式的...

第11章 DMA技术与DMA控制器
nullnull第11章 DMA技术与DMA控制器 §11.1 DMA技术概述 §11.2 可编程DMA控制器8237A §11.3 DMA技术在微机系统中的应用 §11.1 DMA技术概述 §11.1 DMA技术概述 1、DMA 传送方式的实现方法: 由专用接口芯片DMA控制器 (称DMAC) 控制传送过程; 当外设需传送数据时,通过 DMAC向CPU发出总线请求; CPU发出总线响应信号,释放总线; DMAC接管总线,控制外设、内存之间直接数据传送。DMA技术概述DMA技术概述2、DMA传送方式的特点 外设和内存之间,直接进行数据传送,不通过CPU, 传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。 电路结构复杂,硬件开销较大 nullDMA 传送过程示意图CPUDMAC内存外设总线 响应总线 请求DREQDACK§11.1.1 DMAC的基本功能 §11.1.1 DMAC的基本功能 接收接口往DMA控制器发出DMA请求信号后,DMA控制器能向CPU发出总线请求信号HOLD(高电平)。 当CPU向DMA发出响应信号HLDA(高电平)以后,DMA能接管对总线的控制,进入DMA方式。 能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。DMAC的基本功能DMAC的基本功能能向存储器或I/O接口发相应的读写控制信号。 能决定传送字节数,并判断DMA传送是否结束。 DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。§11.1.2 DMAC的一般结构 §11.1.2 DMAC的一般结构 图9.1 单通道DMAC的一般结构及其与I/O接口的连接§11.1.3 DMAC的工作方式 §11.1.3 DMAC的工作方式 1、单字节传输方式 :在单字节传输方式下,DMA控制器每次请求总线只传送一个字节数据,传送完后即释放总线控制权。 2、块传输方式(也称组传输方式):块传输方式是指DMA控制器每次请求总线连续传送一个数据块,待整个数据块全部传送完成后再释放总线控制权。DMAC的工作方式DMAC的工作方式3、请求传输方式:此方式与块传输方式基本类似,不同的是每传输完一个字节,DMA控制器都要检测由I/O接口发来的DMA请求信号是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至DMA请求信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。§11.1.4 DMA操作过程 §11.1.4 DMA操作过程 若从外设往内存输入一个数据块(输入过程),在单字节传输方式下,主要工作过程为: ① 从I/O接口向DMA控制器发送DMA请求信号; ② DMA控制器向CPU发总线请求信号,当得到CPU送来的总线允许信号后,DMA控制器获得总线控制权; ③ DMA控制器将其地址寄存器的内容送到地址总线上; ④ DMA控制器往I/O接口发送DMA响应信号,并接着发出I/O接口的读信号,使I/O接口把数据送到数据总线上;DMA操作过程DMA操作过程⑤ DMA控制器发出存储器写信号,使数据传送到由地址总线的地址所指向的内存单元; ⑥ 地址寄存器加1; ⑦ 字节计数器减1; ⑧ 如果字节计数寄存器的值不为零,则返回第①步,否则进入第⑨步; ⑨ DMA控制器释放总线; null图11.2 以DMA方式输出一个字节数据的工作过程 null§11.2 可编程DMA控制器8237A §11.2 可编程DMA控制器8237A §11.2.1 8237A的主要特性 1.具有四个独立的DMA通道,每个通道都具有64K的存贮器寻址能力,即一次传送的最大长度为64K字节。 2.可实现内存与外设之间的高速大批量数据传送 ,也可实现内存两个不同区域之间的高速数据传送。 3.每个通道的DMA请求均可分别允许或禁止,且四个通道的DMA请求的优先权可由软件设置为固定的或旋转的。 8237A的主要特性8237A的主要特性4.具有单字节传送、数据块传送、请求传送和级联传送四种工作方式。 5.可用级联方式扩展DMA通道数目。 6.DMA传送结束信号可由内部计数产生,也可由外部输入提供。 7.单一的+5V电源,40个引脚双列直插式封装。 8.采用5MHz时钟,传送速率可达1.6M字节/秒。 9.8237可以级连,任意扩展通道数。 §11.2.2 8237A的工作原理 §11.2.2 8237A的工作原理 1.8237A的编程结构 编程结构见下页图 内部有大量寄存器,内部寄存器的功能、端口地址等信息 参见表11.1.null图11.3 8237 A的编程结构 null82C37A内部逻辑框图null表11.1 8237A内部寄存器的功能、端口地址等信息 几点说明:几点说明:请求触发器每通道一位,四个通道的请求触发器占用同一个端口地址,实际上构成一个4位的寄存器,屏蔽触发器也是一样。 控制寄存器和状态寄存器共用一个端口地址,一个为只读,一个为只写。 写屏蔽字时有两种方式: 某一通道的屏蔽字,应写到1010端口; 四个通道屏蔽字,则写入1111端口。几点说明:几点说明:各通道的基地址寄存器和当前地址寄存器的端口地址低四位是: 0000 0通道 0010 1通道 0100 2通道 0110 3通道 各通道的基字节数寄存器和当前字节计数器的端口地址低四位是: 0001 0通道 0011 1通道 0101 2通道 0111 3通道 几点说明:几点说明:8237A内有一个先/后触发器,占1位,当其为0时对16位寄存器的低8位进行读/写操作,当其为1时,则对高8位进行读/写操作,且每读或写一次,先/后触发器的状态就自动翻转一次。 8237A复位后,先/后触发器为0 8237A除可用RESET=1信号进行硬件控制的复位外,还可以用主清除命令进行软件控制的复位。软件复位是通过对1101端口进行写操作实现的。 8237A的工作原理8237A的工作原理2.8237A的总线模式 主模式(主动态):在DMA操作其间,8237A就处于主模式,这时它管理系统总线,发出地址和有关控制信号使数据在内存和外设端口之间或内存两个不同区域之间传递。 从模式(被动态):所谓从模式是指在没有进行DMA操作时,8237A象其他接口芯片一样,可被CPU访问。即向其有关内部寄存器写入工作方式控制字,传送地址及字节数等,也可读取其状态信息;null3.8237A的外部引脚 图11.4 8237A的引脚配置 §11.2.3 8237A的编程 §11.2.3 8237A的编程 1.命令字与状态字 模式寄存器 每个通道有一个8位的模式寄存器,用以规定通道的工作模式。但编程写入的模式控制字仍是8位,其最低两位用来指定写入的通道号。 模式字的格式如图11.5所示。 null图11.5 8237A的模式字格式 8237A的编程8237A的编程命令寄存器 命令寄存器是四个通道公用的一个8位寄存器,用以控制整个8237A的操作。即一片8237A只有一个命令寄存器,其内容对四个通道都有效。 命令字的格式如图11.6所示。 null图11.6 8237A的命令字格式 8237A的编程8237A的编程请求寄存器 8237A的每个通道除了可以响应硬件的DMA请求信号DREQ外,当其工作在块传送方式时也可以响应由软件发出的DMA请求。 软件的DMA请求是通过使相应通道的“请求位”置位来实现的,它等效于外部产生一个有效的DREQ信号。 8237A每一个通道有一位“请求位”,四个通道的请求位构成一个4位的请求寄存器。 请求寄存器的命令字(请求命令字)格式如图11.8所示。 null图11.8 8237A的请求寄存器的命令字格式 8237A的编程8237A的编程屏蔽寄存器 8237A每个通道有一位“屏蔽位”,当其通道的“屏蔽位”置1时,则外部对应的DREQ信号被屏蔽,不予响应,从而禁止了该通道的DMA操作。 四个通道的“屏蔽位”构成一个4位的屏蔽寄存器。 有两种屏蔽命令字格式, 单独对某一个通道的屏蔽位进行置位或复位,如图11.9(a)所示; 另一种是可以同时设定四个通道的屏蔽位,也称综合屏蔽命令字,如图11.9(b)所示。 null图11.9 8237A屏蔽字的两种格式 8237A的编程8237A的编程状态寄存器 8237A有一个可由CPU读取的状态寄存器,如图11.10所示。 图11.10 8237A的状态寄存器格式 2.8237A编程步骤:2.8237A编程步骤:8237A的编程通常可按如下步骤进行。 输出主清除命令,使8237A进入初始状态; 将DMA传送的存贮器起始地址写入基地址和当前地址寄存器; 将要传送的字节数写入基字节寄存器和当前字节计数器; 写模式寄存器,规定8237A的工作方式等; 写命令寄存器,规定各通道优先级及DREQ、DACK的有效电平等; 写屏蔽寄存器,规定开放和屏蔽的通道; 写请求寄存器,发DMA请求命令。 8237A的编程8237A的编程3.8237A的编程举例 例:设某8088系统使用一片8237A,现欲将内存地址为8000H开始的100个字节数据以DMA方式输出到某外设,已知8237A的端口地址为20H~2FH,并规定8237A通道1工作在方式2,硬件启动。试编写初始化程序段。 8237A的编程8237A的编程解:根据以上已知条件和要求,初始化程序段为: OUT 2DH,AL ;发主清除命令 MOV AL,89H ; 选通道1,读传送,禁止自 动预置,方式2,地址递增 OUT 2BH,AL MOV AL,80H ;写命令字:普通时序,存储器 到外设传送,固定优先级 OUT 28H,AL ;正常写,DREQ、DACK高电平 有效 MOV AL,00H ;写基地址和当前地址寄存器8237A的编程8237A的编程OUT 22H,AL MOV AL,80H OUT 22H,AL MOV AL,64H ;写基字节寄存器和当前字节计 数器 OUT 23H,AL MOV AL,0 OUT 23H,AL MOV AL,00H ;清除所有通道屏蔽 OUT 2FH,AL §11.2.4 8237A的工作方式 §11.2.4 8237A的工作方式 DMA传送方式 ■ 单字节传送方式 ■ 数据块传送方式 ■请求传送方式 ■级连方式 DMA传送类型 ■ DMA读 ■ DMA写 ■ DMA检验 存储器到存储器的传送方式0 ——请求传送方式方式0 ——请求传送方式DREQ信号有效就连续传送数据 DREQ信号无效,DMA传送被暂时中止,8237A释放总线,CPU可继续操作 DMA通道的地址和字节数的中间值仍被保持 DREQ信号再次有效,DMA传送就继续进行 如果字节数寄存器减到0,或者由外部送来一个有效的信号,将终止计数 特点: DMA操作可由外设利用DREQ信号控制传送的过程方式1——单字节传送方式方式1——单字节传送方式每次DMA传送时仅传送一个字节 传送一个字节之后,字节数寄存器减1,地址寄存器加1或减1,HRQ变为无效 8237A释放系统总线,将控制权还给CPU 特点: 一次传送一个字节,效率略低 DMA传送之间CPU有机会重新获取总线控制权方式2 —— 块传送方式 方式2 —— 块传送方式 由DREQ启动就连续地传送数据,直到字节数寄存器减到0终止计数,或由外部输入有效信号终结DMA传送 DREQ只需维持有效到DACK有效 特点: 一次请求传送一个数据块,效率高 整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等)方式3 ——级联方式方式3 ——级联方式用于通过多个8237A级连以扩展通道 第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上 第二级芯片的优先权等级与所连通道的优先权相对应 第一级只起优先权网络的作用,实际的操作由第二级芯片完成 还可由第二级扩展到第三级等图11.11 8237A的级联 图11.11 8237A的级联 DMA传送类型DMA传送类型DMA读——把数据由存储器传送到外设 由 有效从存储器读出数据,由 有效把这一数据写入外设 DMA写——把外设输入的数据写入存储器 由 有效从外设输入数据,由 有效把这一数据写入存储器。 DMA检验——空操作 8237A不进行任何传送,只产生地址并响应 信号,不产生读写控制信号,用以校验8237的功能是否正常。 存储器到存储器的传送存储器到存储器的传送固定使用通道0和通道1 通道0的地址寄存器存源区地址 通道1的地址寄存器存目的区地址,通道1的字节数寄存器存放传送的字节数 传送由设置通道0的软件请求位启动 每传送一字节需用8个时钟周期 前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器 后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的区§11.3 DMA技术在微机系统中的应用 §11.3 DMA技术在微机系统中的应用 IBM PC/XT机使用一片8237A 通道0:动态存贮器DRAM刷新 通道1:用户使用 通道2:内存与软盘的高速数据交换 通道3:内存与硬盘的高速数据交换 null图11.12 IBM PC/XT系统中的DAM控制逻辑
本文档为【第11章 DMA技术与DMA控制器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_662875
暂无简介~
格式:ppt
大小:568KB
软件:PowerPoint
页数:0
分类:
上传时间:2010-11-03
浏览量:16