第6章直接存储器存取dma

第6章直接存储器存取dma

ID:19501290

大小:1.60 MB

页数:75页

时间:2018-10-02

第6章直接存储器存取dma_第1页
第6章直接存储器存取dma_第2页
第6章直接存储器存取dma_第3页
第6章直接存储器存取dma_第4页
第6章直接存储器存取dma_第5页
资源描述:

《第6章直接存储器存取dma》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章直接存储器存取DMA6.1DMA的工作原理及工作过程6.2DMA控制器及8237DMA控制器6.38237A的初始化编程6.4DMA的应用举例6.1.1DMA的传送原理DMA方式用硬件实现存储器与存储器之间或存储器与I/O设备之间直接进行高速数据传送,不需要CPU的干预。这种方式通常用来传送数据块。DMA传送包括:RAM→I/O端口的DMA读传送;I/O端口→RAM的DMA写传送;RAM→RAM的存储单元传送。6.1DMA的工作原理及工作过程DMA传送的基本特点是不经过CPU,不破坏CPU内各寄存器的内容,直接实现存储器与I/O设备之间的

2、数据传送。在IBMPC系统中,以DMA方式传送一个字节的时间通常是1个总线周期,即5个时钟周期。CPU内部的指令操作只是暂停这个总线周期,然后继续操作,指令的操作次序不会被破坏。所以DMA传送的方式特别适合用于外部设备与存储器之间高速成批的数据传送。图6-1是实现DMA传送的基本原理图,图中以系统总线为界,左侧位于主机板内,其中有DMA控制器;右侧有存储器(部分存储器在主机板内)、外设和外设接口,它们通过I/O插槽与系统总线相接。图6-1DMA传送的基本原理图6.1.2DMA的工作过程图6-2DMA的传送过程从图中可以看出,系统总线分别受到CPU

3、和DMAC这两个器件的控制,即CPU可以向地址总线、数据总线和控制总线发送信息,DMAC也可以向地址总线、数据总线和控制总线发送信息。但是,在同一时间,系统总线只能受一个器件控制。当CPU控制总线时,DMAC必须与总线脱离;而当DMAC控制总线时,CPU必须与总线脱离。因此,CPU与DMAC之间必须有联络信号。1.DMA的传送过程DMA传送的工作过程如下:(1)I/O端口向DMA控制器发出DMA请求,请求数据传送。(2)DMA控制器在接到I/O端口的DMA请求后,向CPU发出总线请求信号,请求CPU脱离系统总线。(3)CPU在执行完当前指令

4、的当前总线周期后,向DMA控制器发出总线响应信号。(4)CPU随即和系统的控制总线、地址总线及数据总线脱离关系,处于等待状态,由DMA控制器接管这3个总线的控制权。(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传输过程结束

5、后,也可以由来自外部的终止信号迫使传输过程结束。当DMA传送结束后,DMA控制器就将总线请求信号变成无效,并放弃对总线的控制,CPU检测到总线请求信号无效后,也将总线响应信号变成无效,于是,CPU重新控制三总线,继续执行被中断的当前指令的其他总线周期。2.DMA的传送方式DMA用硬件在外设与内存之间直接进行数据交换。通常系统的数据和地址总线以及一些控制信号线(如IO/、RD、WR等)是由CPU管理的,在DMA方式下,就要求CPU让出总线(也就是将这些总线置为高阻状态),而由DMA控制器(DMAC)接管总线。通常,大部分DMA都有三种DMA传送方

6、式。(1)单字节传送方式。每次DMA传送只传送一个字节的数据,传送后释放总线,CPU至少控制一个完整的总线周期,然后测试DMA请求线DREQ,若有效,再进入DMA周期。在这种方式中要注意:①DMA响应信号DACK有效前,DREQ必须保持有效。②若DREQ在传送过程中一直保持有效,则在两次传送之间必须释放总线。(2)成组传送方式。一个DMA请求可以传送一组信息。在DMAC初始化时,由编程决定这一组信息的字节数,只要在DACK有效之前DREQ保持有效即可。一旦DACK有效,不管DREQ是否有效,DMAC一直不放弃总线控制权,直到整个数组传送完

7、。(3)请求传送方式。请求传送方式又称查询传送方式。该方式的传送类似成组传送方式,但每传送一个字节后,DMAC就检测DREQ:若无效,则挂起;若有效,则继续DMA传送,直到外加信号强制DMAC中止操作。3.DMA的特点DMA具有下列特点:(1)它使主存既可被CPU访问,又可被外设直接访问。(2)当传送数据块时,主存地址的确定、传送数据的计数控制等都用硬件电路直接实现。(3)主存中要开设专用缓冲区,及时供给和接收外设的数据。(4)DMA传送速度快,可使CPU和外设并行工作,提高了系统的效率。(5)DMA在开始前和结束后要通过程序和中

8、断方式进行预处理和后处理。6.2DMA控制器及8237DMA控制器6.2.18237A的外部引脚8237A是微机系统中实现DMA功能的大

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。