DMA技术与DMA控制器.pptx

上传人:莉*** 文档编号:87184966 上传时间:2023-04-16 格式:PPTX 页数:46 大小:452.06KB
返回 下载 相关 举报
DMA技术与DMA控制器.pptx_第1页
第1页 / 共46页
DMA技术与DMA控制器.pptx_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《DMA技术与DMA控制器.pptx》由会员分享,可在线阅读,更多相关《DMA技术与DMA控制器.pptx(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、DMA技术概述2、DMA传送方式的特点外设和内存之间,直接进行数据传送,不通过CPU,传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。电路结构复杂,硬件开销较大第1页/共46页DMA 传送过程示意图传送过程示意图CPUDMAC内存内存外设外设总线总线响应响应总线总线请求请求DREQDACK第2页/共46页11.1.1 DMAC的基本功能 接收接口往DMA控制器发出DMA请求信号后,DMA控制器能向CPU发出总线请求信号HOLD(高电平)。当CPU向DMA发出响应信号HLDA(高电平)以后,DMA能接管对总线的控制,进入DMA方式。能向地址总线发出内存地址信息,对其进行

2、寻址及修改地址指针。第3页/共46页DMAC的基本功能能向存储器或I/O接口发相应的读写控制信号。能决定传送字节数,并判断DMA传送是否结束。DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。第4页/共46页11.1.2 DMAC的一般结构 图9.1 单通道DMAC的一般结构及其与I/O接口的连接地址总线地址译码器DMA控制器计数结束信号(可作为中断请求信号)字节计数寄存器地址寄存器状态寄存器控制寄存器总线回答总线请求控制总线数据总线外设DMA请求DMA响应中断请求数据输出寄存器数据输入寄存器状态寄存器控制寄存器I/O接口控制总线数据总线地

3、址总线第5页/共46页11.1.3 DMAC的工作方式 1、单字节传输方式:在单字节传输方式下,DMA控制器每次请求总线只传送一个字节数据,传送完后即释放总线控制权。2、块传输方式(也称组传输方式):块传输方式是指DMA控制器每次请求总线连续传送一个数据块,待整个数据块全部传送完成后再释放总线控制权。第6页/共46页DMAC的工作方式3、请求传输方式:此方式与块传输方式基本类似,不同的是每传输完一个字节,DMA控制器都要检测由I/O接口发来的DMA请求信号是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至DMA请求信号再次变为有效,数据块传输则

4、从刚才暂停的那一点继续进行下去。第7页/共46页11.1.4 DMA操作过程 若从外设往内存输入一个数据块(输入过程),在单字节传输方式下,主要工作过程为:从I/O接口向DMA控制器发送DMA请求信号;DMA控制器向CPU发总线请求信号,当得到CPU送来的总线允许信号后,DMA控制器获得总线控制权;DMA控制器将其地址寄存器的内容送到地址总线上;DMA控制器往I/O接口发送DMA响应信号,并接着发出I/O接口的读信号,使I/O接口把数据送到数据总线上;第8页/共46页DMA操作过程 DMA控制器发出存储器写信号,使数据传送到由地址总线的地址所指向的内存单元;地址寄存器加1;字节计数器减1;如果

5、字节计数寄存器的值不为零,则返回第步,否则进入第步;DMA控制器释放总线;第9页/共46页图11.2 以DMA方式输出一个字节数据的工作过程 第10页/共46页DMA控制器数据端口状态/控制端口地址寄存器计数器控制/状态寄存器CPU存储器HOLDHLDA数据缓冲寄存器DMA请求触发器输入设备DMA请求DMA响应ReadyDMADMA控制器工作原理图控制器工作原理图1 1第11页/共46页11.2 可编程DMA控制器8237A 11.2.1 8237A的主要特性 1具有四个独立的DMA通道,每个通道都具有64K的存贮器寻址能力,即一次传送的最大长度为64K字节。2可实现内存与外设之间的高速大批量

6、数据传送,也可实现内存两个不同区域之间的高速数据传送。3每个通道的DMA请求均可分别允许或禁止,且四个通道的DMA请求的优先权可由软件设置为固定的或旋转的。第12页/共46页8237A的主要特性4具有单字节传送、数据块传送、请求传送和级联传送四种工作方式。5可用级联方式扩展DMA通道数目。6DMA传送结束信号可由内部计数产生,也可由外部输入提供。7单一的+5V电源,40个引脚双列直插式封装。8采用5MHz时钟,传送速率可达1.6M字节/秒。98237可以级连,任意扩展通道数。第13页/共46页11.2.2 8237A的工作原理 18237A的编程结构 编程结构见下页图内部有大量寄存器,内部寄存

7、器的功能、端口地址等信息 参见表11.1.第14页/共46页图11.3 8237 A的编程结构 第15页/共46页82C37A内部逻辑框图内部逻辑框图第16页/共46页表表11.1 8237A内部寄存器的功能、端口地址等信息内部寄存器的功能、端口地址等信息 第17页/共46页几点说明:请求触发器每通道一位,四个通道的请求触发器占用同一个端口地址,实际上构成一个4位的寄存器,屏蔽触发器也是一样。控制寄存器和状态寄存器共用一个端口地址,一个为只读,一个为只写。写屏蔽字时有两种方式:某一通道的屏蔽字,应写到1010端口;四个通道屏蔽字,则写入1111端口。第18页/共46页几点说明:各通道的基地址寄

8、存器和当前地址寄存器的端口地址低四位是:0000 0通道0010 1通道0100 2通道0110 3通道各通道的基字节数寄存器和当前字节计数器的端口地址低四位是:0001 0通道0011 1通道0101 2通道0111 3通道 第19页/共46页几点说明:8237A内有一个先/后触发器,占1位,当其为0时对16位寄存器的低8位进行读/写操作,当其为1时,则对高8位进行读/写操作,且每读或写一次,先/后触发器的状态就自动翻转一次。8237A复位后,先/后触发器为08237A除可用RESET=1信号进行硬件控制的复位外,还可以用主清除命令进行软件控制的复位。软件复位是通过对1101端口进行写操作实

9、现的。第20页/共46页8237A的工作原理28237A的总线模式 主模式(主动态):在DMA操作其间,8237A就处于主模式,这时它管理系统总线,发出地址和有关控制信号使数据在内存和外设端口之间或内存两个不同区域之间传递。从模式(被动态):所谓从模式是指在没有进行DMA操作时,8237A象其他接口芯片一样,可被CPU访问。即向其有关内部寄存器写入工作方式控制字,传送地址及字节数等,也可读取其状态信息;第21页/共46页38237A的外部引脚 图图11.4 8237A的的引引脚脚配配置置 第22页/共46页11.2.3 8237A的编程 1命令字与状态字 模式寄存器 每个通道有一个8位的模式寄

10、存器,用以规定通道的工作模式。但编程写入的模式控制字仍是8位,其最低两位用来指定写入的通道号。模式字的格式如图11.5所示。第23页/共46页图图11.5 11.5 8237A8237A的模式字格式的模式字格式 第24页/共46页8237A的编程命令寄存器 命令寄存器是四个通道公用的一个8位寄存器,用以控制整个8237A的操作。即一片8237A只有一个命令寄存器,其内容对四个通道都有效。命令字的格式如图11.6所示。第25页/共46页图图11.6 8237A的命令字格式的命令字格式 第26页/共46页8237A的编程请求寄存器 8237A的每个通道除了可以响应硬件的DMA请求信号DREQ外,当

11、其工作在块传送方式时也可以响应由软件发出的DMA请求。软件的DMA请求是通过使相应通道的“请求位”置位来实现的,它等效于外部产生一个有效的DREQ信号。8237A每一个通道有一位“请求位”,四个通道的请求位构成一个4位的请求寄存器。请求寄存器的命令字(请求命令字)格式如图11.8所示。第27页/共46页图图11.8 11.8 8237A8237A的请求寄存器的命令字格式的请求寄存器的命令字格式 第28页/共46页8237A的编程屏蔽寄存器 8237A每个通道有一位“屏蔽位”,当其通道的“屏蔽位”置1时,则外部对应的DREQ信号被屏蔽,不予响应,从而禁止了该通道的DMA操作。四个通道的“屏蔽位”

12、构成一个4位的屏蔽寄存器。有两种屏蔽命令字格式,单独对某一个通道的屏蔽位进行置位或复位,如图11.9(a)所示;另一种是可以同时设定四个通道的屏蔽位,也称综合屏蔽命令字,如图11.9(b)所示。第29页/共46页图图1 11 1.9 9 8 82 23 37 7A A屏屏蔽蔽字字的的两两种种格格式式(a)单通道屏蔽字格式)单通道屏蔽字格式(b)四通道屏蔽字格式)四通道屏蔽字格式第30页/共46页8237A的编程状态寄存器 8237A有一个可由CPU读取的状态寄存器,如图11.10所示。图图11.10 8237A11.10 8237A的状态寄存器格式的状态寄存器格式 第31页/共46页28237

13、A编程步骤:8237A的编程通常可按如下步骤进行。输出主清除命令,使8237A进入初始状态;将DMA传送的存贮器起始地址写入基地址和当前地址寄存器;将要传送的字节数写入基字节寄存器和当前字节计数器;写模式寄存器,规定8237A的工作方式等;写命令寄存器,规定各通道优先级及DREQ、DACK的有效电平等;写屏蔽寄存器,规定开放和屏蔽的通道;写请求寄存器,发DMA请求命令。第32页/共46页8237A的编程38237A的编程举例 例:设某8088系统使用一片8237A,现欲将内存地址为8000H开始的100个字节数据以DMA方式输出到某外设,已知8237A的端口地址为20H2FH,并规定8237A

14、通道1工作在方式2,硬件启动。试编写初始化程序段。第33页/共46页8237A的编程解:根据以上已知条件和要求,初始化程序段为:OUT 2DH,AL ;发主清除命令MOV AL,89H ;选通道1,读传送,禁止自 动预置,方式2,地址递增OUT 2BH,ALMOV AL,80H ;写命令字:普通时序,存储器到外设传送,固定优先级OUT 28H,AL ;正常写,DREQ、DACK高电平有效MOV AL,00H ;写基地址和当前地址寄存器第34页/共46页8237A的编程OUT 22H,ALMOV AL,80HOUT 22H,ALMOV AL,64H ;写基字节寄存器和当前字节计数器OUT 23H

15、,ALMOV AL,0OUT 23H,ALMOV AL,00H ;清除所有通道屏蔽OUT 2FH,AL 第35页/共46页11.2.4 8237A的工作方式 DMA传送方式 单字节传送方式 数据块传送方式请求传送方式 级连方式DMA传送类型 DMA读 DMA写 DMA检验存储器到存储器的传送第36页/共46页1.方式0 请求传送方式DREQ信号有效就连续传送数据DREQ信号无效,DMA传送被暂时中止,8237A释放总线,CPU可继续操作DMA通道的地址和字节数的中间值仍被保持DREQ信号再次有效,DMA传送就继续进行如果字节数寄存器减到0,或者由外部送来一个有效的信号,将终止计数特点:DMA操

16、作可由外设利用DREQ信号控制传送的过程第37页/共46页2.方式1单字节传送方式每次DMA传送时仅传送一个字节传送一个字节之后,字节数寄存器减1,地址寄存器加1或减1,HRQ变为无效8237A释放系统总线,将控制权还给CPU特点:一次传送一个字节,效率略低DMA传送之间CPU有机会重新获取总线控制权第38页/共46页3.方式2 块传送方式 由DREQ启动就连续地传送数据,直到字节数寄存器减到0终止计数,或由外部输入有效信号终结DMA传送DREQ只需维持有效到DACK有效特点:一次请求传送一个数据块,效率高整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等)第3

17、9页/共46页4.方式3 级联方式用于通过多个8237A级连以扩展通道第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上第二级芯片的优先权等级与所连通道的优先权相对应第一级只起优先权网络的作用,实际的操作由第二级芯片完成还可由第二级扩展到第三级等第40页/共46页图11.11 8237A的级联.8237HLDAHRQHLDAHRQ8237第二级第一级DACK3DREQ3DACK0DREQ0HLDAHRQHLDAHOLD微处理器|第41页/共46页DMA传送类型DMA读把数据由存储器传送到外设由 有效从存储器读出数据,由 有效把这一数据写入外设DMA写把外设输入的数据写入存储器

18、由 有效从外设输入数据,由 有效把这一数据写入存储器。DMA检验空操作8237A不进行任何传送,只产生地址并响应 信号,不产生读写控制信号,用以校验8237的功能是否正常。第42页/共46页存储器到存储器的传送固定使用通道0和通道1通道0的地址寄存器存源区地址通道1的地址寄存器存目的区地址,通道1的字节数寄存器存放传送的字节数传送由设置通道0的软件请求位启动每传送一字节需用8个时钟周期前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的区第43页/共46页11.3 DMA技术在微机系统中的应用 IBM PC/XT机使用一片8237A通道0:动态存贮器DRAM刷新通道1:用户使用通道2:内存与软盘的高速数据交换通道3:内存与硬盘的高速数据交换第44页/共46页图图11.12 IBM PC/XT系统中的系统中的DAM控制逻辑控制逻辑 第45页/共46页感谢您的欣赏!第46页/共46页

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

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com