欢迎来到天天文库
浏览记录
ID:48225605
大小:138.00 KB
页数:37页
时间:2020-01-18
《微机原理 第五章(DMA).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、直接存贮器存取(DMA)技术DMA传送方式的特点一.“DMA传送方式“基本概念——”直接存储器存取”传送方式,即CPU暂时让出总线控制权,由DMAC全权控制M与I/O之间直接进行数据的传送。示意图如下:ABCBDMACCPURAMI/O设备I/O接口CPU暂时将总线控制权让给DMAC将原编制的由CPU以查询/中断I/O方式进行M和I/O之间交换数据的软件用一专门的硬件取代,即DMAC三.应用:常用于I/O设备与M之间有大的数据块交换、且有高的速度要求的场合。如:海量存储器(硬盘)与M之间的信息交换。二.特点:(以硬件控制取代软件控制进行
2、信息传送)DMAC暂时享有总线控制权,行使地址修改、控制数据传送等功能,数据传送速度主要受M的存取速度限制。一、主动态:接管并取得总线控制权,取代CPU而成为系统的主控者。DMAC通过三总线向M或I/O发出地址码及读/写信号,以控制M和I/O设备之间的数据传送。DMA传送过程DMAC在系统中的工作状态有两种工作状态:主动态(主控器)和被动态(受控器)“写入”—有CPU向M中写入的含义,但是是I/O向其写入:DMA写操作:—MI/O—写操作DMAC发控制信号MEMW信号MDMAC发控制信号IOR信号I/OData实现MDataDMAC的读
3、/写操作Data实现MI/OData“读出”—有从M中读出的含义,但是是I/O向其读入:DMA读操作:—MI/O—读操作DMAC发控制信号MEMRMDMAC发控制信号IOWI/OCPU对DMAC进行初始化操作内容包括:通道的选择DMA的操作类型及方式内存首地址地址递增/递减需要传送的字节数二、被动态:未取得总线控制时,同于其他I/O设备,受CPU的控制。这时,CPU对DMAC进行初始化操作或从DMAC读取状态信息。DMA传送过程1.在I/O与DMA之间:有请求DREQ和回答DACK2.在DMA与CPU之间有请求HRQ和回答HLDA信号。
4、如下图所示:I/ODMACCPU请求DREQ①请求HRQ②回答DACK④回答HLDA③HOLD转移过程:让出:I/O外设DMACCPUDMACI/O设备DREQHRQHLDADACK收回:数据传送结束,DMAC发出过程终止信号EOP,HRQ失效,CPU重新获得总线控制权。MI/ODATA传送:DMAC向I/O设备发读/写信号DMAC向M发地址信号和读/写信号3、总线控制权的转移——DMA在主动态时接受CPU对总线的控制权。DATA4.DMA传送过程示意图I/ODMACPUI/ORAMDMADREQHRQHLDADACKR/W由被动态进入
5、主动态(总裁)经总线裁决后认可,进入总线保持状态,CPU失去总线控制权经判优及屏蔽处理后MEMR/MEMWDMA操作方式一.DMA操作类型:1.数据传送2.数据校验、检索3.MM之间传送数据二.DMA传送操作方式1.单字节方式2.连续方式3.请求传送方式4.级联方式一、8237的主要性能参数及引脚功能。1、8237有4个独立的数据传送通道,每个通道64KB寻址及计数能力,还可通过级联方式进行通道扩充。2、可接收CPU对其进行的初始化操作,输入命令字和传送参数,以实现级联和多种模式的操作。可向CPU提供状态信息。DMA8237控制器命
6、令字状态字此时,CPU通过DB7~0DMACCPU输出IOR/IOWDMAC,对其进行读/写操作注意::系统允许多个DREQ信号同时有效,即可以几个I/O同时提出申请。但同一个时间,只能有一个DACK信号有效。3、能接收从外设发来的DMA请求信号,并向CPU发DREQ总线请求信号,亦能接收CPU回送的,让出总线控制权的回答HLDA。亦能向外设发出其对DMA请求的应答信DACK3~0。4、允许I/O设备与M、M与M之间直接传送数据,传输速率为1·5MB/S。MEMRMEMWM(主)M(辅)MEMR、IOWDMA读操作MEMR、IORDMA
7、写操作MI/O在进行数据传送时:①MEMRMEMWIORIOW为输出为输出表明此时是由DMAC控制对M或I/O设备进行读或写操作。②访问M的地址码由DMAC通过地址引脚A7~A0提供地址低8位。由DMAC通过DB7~0及ADSTB提供地址高8位。说明:在初始化时,IORIOW为输入。③数据通过DB7~0传送(对DB7~0的使用采用了总线复用与分时使用技术。)④如果慢速的I/O设备或与存贮器与M交换数据时要求等待,则可以从DMAC的READY引脚输入低电平,等待时间结束,READY引脚变为高电平,表示准备好可以开始,交换数据。5、能确定传
8、送数据的字节数,并判断DMA传送是否结束,并发出MDA操作的结束信号。若从外部向EOP引脚输入一负脉冲,则迫使DMA操作中止,结束数据传送各内部R复位。EOP:DMA操作结束,负脉冲有效,双向DMA传送时,
此文档下载收益归作者所有