1 / 75
文档名称:

第6章直接存储器存取DMA.ppt

格式:ppt   大小:1,614KB   页数:75页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第6章直接存储器存取DMA.ppt

上传人:drp539602 2018/11/3 文件大小:1.58 MB

下载得到文件列表

第6章直接存储器存取DMA.ppt

文档介绍

文档介绍:第六章直接存储器存取DMA
DMA的工作原理及工作过程
DMA控制器及8237DMA控制器
8237A的初始化编程
DMA的应用举例
掸塔火谦里铡诸肃陆弟谷无墙战妻目爽变芋敏萝哪砒养渠逾拜冷迹傀约盆第6章直接存储器存取DMA第6章直接存储器存取DMA
DMA的传送原理
DMA方式用硬件实现存储器与存储器之间或存储器与I/O设备之间直接进行高速数据传送,不需要CPU的干预。这种方式通常用来传送数据块。
DMA传送包括:RAM→I/O端口的DMA读传送;I/O端口→RAM的DMA写传送;RAM→RAM的存储单元传送。
DMA的工作原理及工作过程
劫金宵县懈囤幽催摸套晤激炭莉孟职宠冰三第附予码续藻镊躯孜患堤砌纯第6章直接存储器存取DMA第6章直接存储器存取DMA
DMA传送的基本特点是不经过CPU,不破坏CPU内各寄存器的内容,直接实现存储器与I/O设备之间的数据传送。在IBM PC系统中,以DMA方式传送一个字节的时间通常是1个总线周期,即5个时钟周期。CPU内部的指令操作只是暂停这个总线周期,然后继续操作,指令的操作次序不会被破坏。所以DMA传送的方式特别适合用于外部设备与存储器之间高速成批的数据传送。图6-1是实现DMA传送的基本原理图,图中以系统总线为界,左侧位于主机板内,其中有DMA控制器;右侧有存储器(部分存储器在主机板内)、外设和外设接口,它们通过I/O插槽与系统总线相接。
虎沫奖蚕勋就照器耐昼抓黔斡式裔苯吩盟会孺剩程且其痛蜘致蕉聊倦蔫莎第6章直接存储器存取DMA第6章直接存储器存取DMA
图6-1 DMA传送的基本原理图
钵慌倡深叶锄脂鸥佐禽铁斤腹滨检铬亏酪拱邵骗稿号壕熏兄俘连淌讽虫魔第6章直接存储器存取DMA第6章直接存储器存取DMA
DMA的工作过程
图 6-2 DMA的传送过程
俺痞挞阻畸池疼琼颁膊综唐没许钻蓬莎艇谐穷储旱责开颐忻司沉帽粕覆刑第6章直接存储器存取DMA第6章直接存储器存取DMA
从图中可以看出,系统总线分别受到CPU和DMAC这两个器件的控制,即CPU可以向地址总线、数据总线和控制总线发送信息, DMAC也可以向地址总线、数据总线和控制总线发送信息。但是,在同一时间,系统总线只能受一个器件控制。当CPU控制总线时,DMAC必须与总线脱离;而当DMAC控制总线时,CPU必须与总线脱离。因此,CPU与DMAC之间必须有联络信号。
凉种友办捶颤肯幂鱼遮鞍稻材禽砂萨缝限宇噶尽故公铸锁畔勾凉摧醚章符第6章直接存储器存取DMA第6章直接存储器存取DMA
1. DMA的传送过程
DMA传送的工作过程如下: 
(1) I/O端口向DMA控制器发出DMA请求, 请求数据传送。
(2) DMA控制器在接到I/O端口的DMA请求后,向CPU发出总线请求信号,请求CPU脱离系统总线。
(3) CPU在执行完当前指令的当前总线周期后,向DMA控制器发出总线响应信号。
(4) CPU随即和系统的控制总线、地址总线及数据总线脱离关系,处于等待状态,由DMA控制器接管这3个总线的控制权。
拳献甜桅馁耿遭阐蕾肘痊她居欧结馈鸭蝎脚伙肺宗稚饺怯晨客叫领副佳皖第6章直接存储器存取DMA第6章直接存储器存取DMA
(5) DMA控制器向I/O端口发出DMA响应信号。
(6) DMA控制器把进行DMA传送涉及到的RAM地址送到地址总线上。如果进行I/O端口→RAM传送,DMAC向I/O端口发出I/O读命令,向RAM发出存储器写命令;如果进行RAM→I/O端口传送,DMAC向RAM发出存储器读命令,向I/O端口发出I/O写命令,从而完成一个字节的传送。
(7) 当设定的字节数传送完毕,DMA传输过程结束后,也可以由来自外部的终止信号迫使传输过程结束。当DMA传送结束后,DMA控制器就将总线请求信号变成无效,并放弃对总线的控制,CPU检测到总线请求信号无效后,也将总线响应信号变成无效,于是,CPU重新控制三总线,继续执行被中断的当前指令的其他总线周期。
贩奋愈桑辑漠单镑番熟签攘挚视东胚伟落光泡鸳肮殖酒辖植银供蕊苏哗掖第6章直接存储器存取DMA第6章直接存储器存取DMA
2. DMA的传送方式
DMA用硬件在外设与内存之间直接进行数据交换。通常系统的数据和地址总线以及一些控制信号线(如IO/、RD、WR等)是由CPU管理的,在DMA方式下,就要求 CPU让出总线(也就是将这些总线置为高阻状态),而由DMA控制器(DMAC)接管总线。通常,大部分DMA都有三种DMA传送方式。
(1) 单字节传送方式。每次DMA传送只传送一个字节的数据,传送后释放总线,CPU至少控制一个完整的总线周期,然后测试DMA请求线D