数字量输入输出-DMA控制系统.ppt
《数字量输入输出-DMA控制系统.ppt》由会员分享,可在线阅读,更多相关《数字量输入输出-DMA控制系统.ppt(60页珍藏版)》请在三一办公上搜索。
1、直接存储器存取DMA,DMA传输的概念:,外部设备直接与计算机存储器进行传送的I/O方式。读写数据时接管总线,像CPU一样成为总线的主控器件。CPU:接受DMA控制器的请求并交出总线控制权,(Direct Memory Access),DMA控制器的基本功能,DMA控制器的功能,I/O向DMAC DMAC向 CPU响应 DMAC向 发请求 CPU发请求 DMAC请求 I/O发响应,DMA传送结束,DMA传送进行,DMAC发出控制信号,DMAC发出内存地址,DMA工作过程,8237内部结构,8237A有4个独立的DMA通道内部寄存器 基址寄存器(4个)和当前地址寄存器(4个)基字节计数器(4个)
2、和当前字节计数器(4个)临时地址寄存器 状态寄存器 命令寄存器 临时寄存器 模式寄存器(4个)屏蔽寄存器 请求寄存器,8237外部引脚,8237A主从两面性:作为DMAC,8237A是可控制总线的主模块。作为I/O芯片,8237A可被处理器读写。注意8237A主-从地址的变化。,8237A引线说明:DB7-DB0:双向数据总线。8237A为从模块时被处理器编程或读状态,DB7-DB0作为数据线,传输数据或命令字。8237A为主模块时DB7-DB0输出地址A15-A8,在 存储器到存储器传送操作时经DB7-DB0,将存储器数据送8237A暂存器。A3-A0:地址线,从模块时为输入,处理器寻址 8
3、237A;主模块时输出最低4位地址。,A7-A4:地址线,主模块时输出A7-A4。CS:片选,从模块时处理器用来寻址8237A。IOR,IOW:I/O读写控制,双向。8237A在从模块时 为输入,在主模块时为输出。AEN 输出,DMA地址允许信号,高电平有效ADSTB 输出:8位地址选通信号;在主模块时允许外部锁存器锁存8237A的高8位地址。MEMR,MEMW:输出,存储器读写控制,主模块时送存储器。READY:输入,准备就绪,主模块时控制总线周期的长度,与慢速设备同步。,RESET:输入,复位信号,复位时屏蔽寄存器置 1,其它寄存器置0。EOP:双向。输出时,表明内部通道传送结束;输入时,
4、表明外部强迫DMA传送停止。DREQ0-DREQ3:I/O设备DMA请求输入信号。DACK0-DACK3:输出DMA请求的响应。HRQ:8237A向处理器发出的总线请求信号。HLDA:处理器发给8237A的总线请求响应信号。,DMA 时序图(P347图5.64),可作外设片选,交出总线(AB/DB/CB),8237的工作模式,1.单字节传输模式(single transfer mode)2.块传输模式(block transfer mode)3.请求传输模式(demand transfer mode)4.级联模式(cascade mode),1.单字节传输模式(single transfer
5、mode),在单字节传输方式下,DMA控制器每次请求总线只传送一个字节数据,传送完后即释放总线控制权。在此方式下,总线控制权处于CPU与DMA控制器交替控制之中,其间,总线控制权经过多次交换。以从内存输出一个字节数据到外设的DMA传送过程为例,具体说明DMA的操作过程。,(6)内存把数据送数据总线,(7)接口锁存数据,内存,接口,DMA控制器,I/O 设备,8086 和总线控制逻辑,HOLD HLDA,(1)接口准备就绪,发DMA请求,(2)发总线请求,(3)总线允许,(5)DMA请求得到确认,(9)8086收回总线控制权,(8)撤销总线请求,(4)DMA控制器把地址送地址总线,数据总线,控制
6、总线,地址总线,图 11.10 以DMA方式输出一个字节数据的工作过程,若从外设往内存输入一个数据块(输入过程),在单字节传输模式下,其主要工作过程为:(1)I/O接口向DMA控制器发送DMA请求信号;(2)DMA控制器向CPU发总线请求信号,当得到CPU送来的总 线允许信号后,DMA控制器获得总线控制权;(3)DMA控制器将其地址寄存器的内容送到地址总线上;(4)DMA控制器往I/O接口发送DMA响应信号,并接着发出 读I/O接口信号IOR,令I/O接口把数据送到数据总线上;(5)DMA控制器发出存储器写信号MEMW,将数据传送到由地址总线上的地址所指向的内存单元;(6)DMA控制器放弃对总
7、线的控制权;(7)地址寄存器加1;(8)字节计数寄存器减1;(9)如果字节计数寄存器的值不为零,则返回第一步,否则结 束。,8237仅在空闲状态SI(CPU控制总线)时,采样DREQ信号并进行优先级比较,一旦进入DMA过程,8237只在S1S4之间循环,不能再对DREQ信号进行采样或优先级比较,即不会发生DMA嵌套。单字节传输模式的优点是系统总线不至于长时间陷入对某一个DMA通道的服务。PC系列中给用户提供的DMA通道只允许使用单字节传输模式。仍比查询、中断方式快很多,2.块传输模式(block transfer mode),块传输模式是指DMA控制器每次请求总线即连续传送一个数据块,待整个数
8、据块全部传送完成后再释放总线控制权。这种模式传输效率较高。一次所传送数据块的最大长度可达64KB,由于在DMA数据传送期间,CPU须将总线控制权交给DMAC,这相当于断绝了CPU与存储器等外部器件的往来,致使CPU无法获得执行所需的指令和数据,也无法获得外部的中断请求信号,这一方面会影响CPU的工作,同时也将影响整个系统的运转。因此,一次DMA传送的时间不宜过长,以免对整个系统造成不可挽回的影响。,3.请求传输模式(demand transfer mode),和块传输模式相比,仅多了一个功能,即可以通过撤销DREQ信号来打断传输过程。每传输完一个字节,DMA控制器都要检测由I/O接口发来的“D
9、MA请求”信号(DREQ信号)是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至“DMA请求”信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。请求传输模式允许DMA过程在单字节传输模式和块传输模式之间自动切换,增加了灵活性,降低了对I/O设备传输速度的要求:如果I/O设备速度足够快,则进行块传输;如果I/O设备速度较慢,则随时可以等一下。,4.级联模式(cascade mode),在级联方式下,将多个8237级联起来,以扩展DMA通道数。后一级的HRQ和HLDA信号连到前一级的DREQ和DACK上。,在级联方式下,当第二级8237
10、的请求得到响应时,第一级8237仅输出HRQ信号而不能输出地址及控制信号,因为第二级的8237才是真正的主控制器,而第一级的8237仅应起到传递DREQ请求信号及DACK应答信号的作用。,8237的操作类型,在前三种工作方式下,DMA传送有三种类型:DMA读传送、DMA写传送、DMA校验传送 DMA读:是指把数据由存储器传送至I/O接口,操作时先由/MEMR有效从存储器读出数据放 在数据总线上,然 后再由/IOW有效把数据写入I/O接口。DMA写:是指把数据由I/O接口传送至存储器,操作时先由IOR 有效从I/O接口读出数据放在数据总线上,然后再由/MEMW有效把数据写入存储器.DMA校验:也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 输入输出 DMA 控制系统
链接地址:https://www.31ppt.com/p-6295007.html