DMA技术及DMA控制器.ppt

上传人:s****8 文档编号:67214184 上传时间:2022-12-24 格式:PPT 页数:46 大小:379.50KB
返回 下载 相关 举报
DMA技术及DMA控制器.ppt_第1页
第1页 / 共46页
DMA技术及DMA控制器.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

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

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

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

3、线的控制,进入DMA方式。能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。DMAC的基本功能的基本功能能向存储器或I/O接口发相应的读写控制信号。能决定传送字节数,并判断DMA传送是否结束。DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。11.1.2 DMAC的一般结构的一般结构 图图9 9.1 1 单单通通道道D DM MA AC C的的一一般般结结构构及及其其与与I I/O O接接口口的的连连接接地址总线地址译码器DMADMA控制器控制器计数结束信号(可作为中断请求信号)字节计数寄存器地址寄存器状态寄存器控制寄存器总线回答总

4、线请求控制总线数据总线外设DMA请求DMA响应中断请求数据输出寄存器数据输入寄存器状态寄存器控制寄存器I/O接口控制总线数据总线地址总线11.1.3 DMAC的工作方式的工作方式 1、单字节传输方式单字节传输方式:在单字节传输方式下,DMA控制器每次请求总线只传送一个字节数据,传送完后即释放总线控制权。2、块块传传输输方方式式(也也称称组组传传输输方方式式):块传输方式是指DMA控制器每次请求总线连续传送一个数据块,待整个数据块全部传送完成后再释放总线控制权。n3、请求传输方式:请求传输方式:此方式与块传输方式基本类似,不同的是每传输完一个字节,DMA控制器都要检测由I/O接口发来的DMA请求

5、信号是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至DMA请求信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。11.1.4 DMA操作过程操作过程 (以输入数据块为例)(以输入数据块为例)n若若从从外外设设往往内内存存输输入入一一个个数数据据块块(输输入入过过程程),在在单字节传输方式下,主要工作过程为:单字节传输方式下,主要工作过程为:n 从I/O接口向DMA控制器发送DMA请求信号;n DMA控制器向CPU发总线请求信号,当得到CPU送来的总线允许信号后,DMA控制器获得总线控制权;n DMA控制器将其地址寄存器的内容送到地

6、址总线上;n DMA控制器往I/O接口发送DMA响应信号,并接着发出I/O接口的读信号,使I/O接口把数据送到数据总线上;DMA操作过程操作过程n DMA控制器发出端口读信号和存储器写信号,使数据传送到由地址总线的地址所指向的内存单元;n 地址寄存器加1;n 字节计数器减1;n 如果字节计数寄存器的值不为零,则返回第步,否则进入第步;n DMA控制器释放总线;内存把数据送数据总线内存8086和总线控制逻辑HOLDHLDA发送总线请求控制总线总线允许地址总线数据总线接口 DMA控制器接口准备就绪,发送DMA请求发端口读和内存写信号I/O设备DMA请求得到确认32516489DMA控制器把地址送地

7、址总线撤消总线请求8086收回总线控制权7图图11.2 以以DMA方方式式输输出出一一个个字字节节数数据据的的工工作作过过程程 DMADMA控制器控制器数据数据端口端口状态状态/控制控制端口端口地址寄存器地址寄存器计数器计数器控制控制/状态状态寄存器寄存器C CP PU U存存储储器器HOLDHOLDHLDAHLDA数据缓冲数据缓冲寄存器寄存器DMADMA请求请求触发器触发器输入设备输入设备DMADMA请求请求DMADMA响应响应ReadyReadyDMADMA控制器工作原理图控制器工作原理图1 111.2 可编程可编程DMA控制器控制器8237A n11.2.1 8237A的主要特性的主要特

8、性 n1具有四个独立的DMA通道,每个通道都具有64K的存贮器寻址能力,即一次传送的最大长度为64K字节。n2可实现内存与外设之间的高速大批量数据传送,也可实现内存两个不同区域之间的高速数据传送。n3每个通道的DMA请求均可分别允许或禁止,且四个通道的DMA请求的优先权可由软件设置为固定的或旋转的。8237A的主要特性的主要特性n4具有单字节传送、数据块传送、请求传送和级联传送四种工作方式。n5可用级联方式扩展DMA通道数目。n6DMA传送结束信号可由内部计数产生,也可由外部输入提供。n7单一的+5V电源,40个引脚双列直插式封装。n8采用5MHz时钟,传送速率可达1.6M字节/秒。n9823

9、7可以级连,任意扩展通道数。11.2.2 8237A的工作原理的工作原理 n18237A的编程结构的编程结构 n编程结构见下页图n内部有大量寄存器,内部寄存器的功能、端口地址等信息 参见表11.1.图图11.3 8237 A的的编编程程结结构构 82C37A内部逻辑框图内部逻辑框图表表11.1 8237A内部寄存器的功能、端口地址等信息内部寄存器的功能、端口地址等信息 几点几点说明:说明:n请求触发器每通道一位,四个通道的请求触发器占用同一个端口地址,实际上构成一个4位的寄存器,屏蔽触发器也是一样。n控制寄存器和状态寄存器共用一个端口地址,一个为只读,一个为只写。n写屏蔽字时有两种方式:某一通

10、道的屏蔽字,应写到1010端口;四个通道屏蔽字,则写入1111端口。几点说明:几点说明:n各通道的基地址寄存器和当前地址寄存器的端口地址低四位是:0000 0通道0010 1通道0100 2通道0110 3通道n各通道的基字节数寄存器和当前字节计数器的端口地址低四位是:0001 0通道0011 1通道0101 2通道0111 3通道 几点说明:几点说明:n8237A内有一个先先/后后触触发发器器,占1位,当其为0时对16位寄存器的低8位进行读/写操作,当其为1时,则对高8位进行读/写操作,且每读或写一次,先/后触发器的状态就自动翻转一次。8237A复位后,先/后触发器为0n8237A除可用RE

11、SET=1信号进行硬件控制的复位外,还可以用主清除命令进行软件控制的复位。软件复位是通过对1101端端口口进行写操作实现的。8237A的工作原理的工作原理n28237A的总线模式的总线模式 主模式(主动态)主模式(主动态):在DMA操作其间,8237A就处于主模式,这时它管理系统总线,发出地址和有关控制信号使数据在内存和外设端口之间或内存两个不同区域之间传递。从模式(被动态)从模式(被动态):所谓从模式是指在没有进行DMA操作时,8237A象其他接口芯片一样,可被CPU访问。即向其有关内部寄存器写入工作方式控制字,传送地址及字节数等,也可读取其状态信息;n38237A的外的外部引脚部引脚 图图

12、11.4 8237A的的引引脚脚配配置置 11.2.3 8237A的编程的编程 n1命令字与状态字命令字与状态字 n模式寄存器 每个通道有一个8位的模式寄存器,用以规定通道的工作模式。但编程写入的模式控制字仍是8位,其最低两位用来指定写入的通道号。模式字的格式如图11.5所示。图图11.5 11.5 82378237A A的模式字格式的模式字格式 8237A的编程的编程n命令寄存器 命令寄存器是四个通道公用的一个8位寄存器,用以控制整个8237A的操作。即一片8237A只有一个命令寄存器,其内容对四个通道都有效。命令字的格式如图11.6所示。图图11.6 8237A的命令字格式的命令字格式 8

13、237A的编程的编程n请求寄存器 n8237A的每个通道除了可以响应硬件的DMA请求信号DREQ外,当其工作在块传送方式时也可以响应由软件发出的DMA请求。n软件的DMA请求是通过使相应通道的“请求位”置位来实现的,它等效于外部产生一个有效的DREQ信号。n8237A每一个通道有一位“请求位”,四个通道的请求位构成一个4位的请求寄存器。请求寄存器的命令字(请求命令字)格式如图11.8所示。图图11.8 11.8 82378237A A的请求寄存器的命令字格式的请求寄存器的命令字格式 8237A的编程的编程n屏蔽寄存器 n8237A每个通道有一位“屏蔽位”,当其通道的“屏蔽位”置1时,则外部对应

14、的DREQ信号被屏蔽,不予响应,从而禁止了该通道的DMA操作。n四个通道的“屏蔽位”构成一个4位的屏蔽寄存器。n有两种屏蔽命令字格式,n单独对某一个通道的屏蔽位进行置位或复位,如图11.9(a)所示;n另一种是可以同时设定四个通道的屏蔽位,也称综合屏蔽命令字,如图11.9(b)所示。图图1 11 1.9 9 8 82 23 37 7A A屏屏蔽蔽字字的的两两种种格格式式(a)单通道屏蔽字格式单通道屏蔽字格式(b)四通道屏蔽字格式四通道屏蔽字格式8237A的编程的编程n状态寄存器 8237A有一个可由CPU读取的状态寄存器,如图11.10所示。图图11.10 823711.10 8237A A的

15、状态寄存器格式的状态寄存器格式 28237A编程步骤:编程步骤:n8237A的编程通常可按如下步骤进行。的编程通常可按如下步骤进行。n输出主清除命令,使8237A进入初始状态;n将DMA传送的存贮器起始地址写入基地址和当前地址寄存器;n将要传送的字节数写入基字节寄存器和当前字节计数器;n写模式寄存器,规定8237A的工作方式等;n写命令寄存器,规定各通道优先级及DREQ、DACK的有效电平等;n写屏蔽寄存器,规定开放和屏蔽的通道;n写请求寄存器,发DMA请求命令。8237A的编程的编程n38237A的编程举例的编程举例 n例:设某8088系统使用一片8237A,现欲将内存地址为8000H开始的

16、100个字节数据以DMA方式输出到某外设,已知8237A的端口地址为20H2FH,并规定8237A通道1工作在方式2,硬件启动。试编写初始化程序段。8237A的编程的编程n解解:根根据据以以上上已已知知条条件件和和要要求求,初初始始化化程程序段为:序段为:OUT 2DH,AL ;发主清除命令MOV AL,89H ;选通道1,读传送,禁止自 动预置,方式2,地址递增OUT 2BH,ALMOV AL,80H ;写命令字:普通时序,存储器到外设传送,固定优先级OUT 28H,AL ;正常写,DREQ、DACK高电平有效MOV AL,00H ;写基地址和当前地址寄存器8237A的编程的编程OUT 22

17、H,ALMOV AL,80HOUT 22H,ALMOV AL,64H ;写基字节寄存器和当前字节计数器OUT 23H,ALMOV AL,0OUT 23H,ALMOV AL,00H ;清除所有通道屏蔽OUT 2FH,AL 11.2.4 8237A的工作方式的工作方式 nDMA传送方式传送方式 单字节传送方式 数据块传送方式请求传送方式 级连方式nDMA传送类型传送类型 DMA读 DMA写 DMA检验n存储器到存储器的传送存储器到存储器的传送1.方式方式0 请求传送方式请求传送方式nDREQ信号有效就连续传送数据nDREQ信号无效,DMA传送被暂时中止,8237A释放总线,CPU可继续操作nDMA

18、通道的地址和字节数的中间值仍被保持nDREQ信号再次有效,DMA传送就继续进行n如果字节数寄存器减到0,或者由外部送来一个有效的信号,将终止计数n特点:特点:nDMA操作可由外设利用DREQ信号控制传送的过程2.方式方式1单字节传送方式单字节传送方式n每次DMA传送时仅传送一个字节n传送一个字节之后,字节数寄存器减1,地址寄存器加1或减1,HRQ变为无效n8237A释放系统总线,将控制权还给CPUn特点:n一次传送一个字节,效率略低nDMA传送之间CPU有机会重新获取总线控制权3.方式方式2 块传送方式块传送方式 n由DREQ启动就连续地传送数据,直到字节数寄存器减到0终止计数,或由外部输入有

19、效信号终结DMA传送nDREQ只需维持有效到DACK有效n特点:特点:n一次请求传送一个数据块,效率高n整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等)4.方式方式3 级联方式级联方式n用于通过多个8237A级连以扩展通道n第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上n第二级芯片的优先权等级与所连通道的优先权相对应n第一级只起优先权网络的作用,实际的操作由第二级芯片完成n还可由第二级扩展到第三级等图图11.11 8237A的级联的级联.8237HLDAHRQHLDAHRQ8237第二级第一级DACK3DREQ3DACK0DREQ0HL

20、DAHRQHLDAHOLD微处理器|DMA传送类型传送类型nDMA读读把数据由存储器传送到外设把数据由存储器传送到外设n由 有效从存储器读出数据,由 有效把这一数据写入外设nDMA写写把外设输入的数据写入存储器把外设输入的数据写入存储器n由 有效从外设输入数据,由 有效把这一数据写入存储器。nDMA检验检验空操作空操作n8237A不进行任何传送,只产生地址并响应 信号,不产生读写控制信号,用以校验8237的功能是否正常。存储器到存储器的传送存储器到存储器的传送n固定使用通道固定使用通道0和通道和通道1n通道通道0的地址寄存器存源区地址的地址寄存器存源区地址n通道通道1的地址寄存器存目的区地址,

21、的地址寄存器存目的区地址,通道通道1的字节数寄的字节数寄存器存放传送的字节数存器存放传送的字节数n传送由设置通道传送由设置通道0的软件请求位启动的软件请求位启动n每传送一字节需用每传送一字节需用8个时钟周期个时钟周期n前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器n后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的区11.3 DMA技术在微机系统中的应用技术在微机系统中的应用 nIBM PC/XT机使用一片机使用一片8237An通道0:动态存贮器DRAM刷新n通道1:用户使用n通道2:内存与软盘的高速数据交换n通道3:内存与硬盘的高速数据交换图图11.12 IBM PC/XT系统中的系统中的DAM控制逻辑控制逻辑

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档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