欢迎来到天天文库
浏览记录
ID:48410584
大小:563.00 KB
页数:36页
时间:2020-01-19
《7 微机接口DMA控制器.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、©北京工业大学计算机学院®1第十二章DMA控制器8237A©北京工业大学计算机学院®2本章主要内容8237A的组成和工作原理8237A的内部结构8237A的引脚功能8237A的内部寄存器8237A的时序外设和内存间的DMA数据传送时序空闲周期、有效周期和扩展写周期8237A的编程和应用举例PC/XT机中的DMA控制逻辑8237A的一般编程方法PC/XT机中的DMA控制器的使用©北京工业大学计算机学院®3DMA的基本概念DMA(DriectMemoryAccess)技术是一种代替微处理器完成存储器与
2、外部设备或存储器之间大量数据传送的方法,也称直接存储器存取方法。DMA的主要优点是当需要把一个外设的大量数据送到指定内存时,它可以自动完成传送任务,也就是说外设发出一个DMA请求,则DMA电路暂停CPU的操作,并控制外设与内存之间进行一次传输,然后再让CPU继续执行程序,这样就使CPU节省了大量对外设的查询时间,从而提高了系统的整体性能。利用DMA方式传送数据,传送过程完全由硬件控制,这种硬件电路称为DMA控制器。©北京工业大学计算机学院®4DMA的基本概念DMA控制器的基本功能:向CPU提出DM
3、A请求,加到CPU的HOLD引脚上。CPU在允许状态下响应DMA请求,让出总线,DMA控制器获得对总线的控制权。在DMA期间,DMA控制器提供读/写存储器或I/O设备的各种控制信号。确定数据传输的起始地址和数据的长度,每传送一字节,自动修改地址,是地址增1或减1,数据长度减1数据传送完毕,能发出结束DMA传送的信号,将总线控制权交还给CPU。©北京工业大学计算机学院®5实现DMA操作主要靠DMA控制器,其结构相当复杂。在DMA操作期间,CPU停止了工作,而由DMAC代替CPU进行工作,因此它必须具
4、备CPU的寻址及数据传送能力,这主要包括如下几点:(1)DMA控制器必须提供地址码以指明I/O设备变换数据的存储器起始地址;(2)DMA控制器必须提供读/写脉冲,以规定数据在存储器与I/O设备之间的传输方向;(3)DMA控制器必须修改内存地址指针并计算传送的字节数,以判断什么时候传送结束。DMA的基本概念©北京工业大学计算机学院®612.18237A的组成和工作原理8237A的特点8237A内部有4个独立的通道每个通道具有64K地址和字节计数能力具有4种传送方式:字节传送、数据块传送、请求传送和级
5、联传送方式(可扩大通道数)对每个通道的DMA请求可以允许和禁止。4个通道有不同的优先级,可以固定,可以循环。DMA完成后会产生过程结束信号EOP,同时结束DMA传送,还可以从外界输入EOP信号,中止DMA传送。©北京工业大学计算机学院®712.18237A的组成和工作原理8237ADMA控制器的两种工作状态:主态和从态DMA控制器未取得总线控制权,CPU对DMA控制器进行编程,以确定通道的选择、数据传送的方式和类型、内存单元起始地址,地址递增或递减、传送的总字节数的设置及读取DMA控制器的状态。D
6、MA控制器和其他I/O芯片一样称为从态方式。DMA控制器取得总线控制权后,系统完全在他的控制下,使I/O设备和存储器之间或者存储器和存储器之间进行直接的数据传送。称为主态方式。©北京工业大学计算机学院®8一、8237A的内部结构8237A内部结构如图12.1所示,主要有5部分组成:时序与控制逻辑:8237A处于从态时,该部分电路接收系统送来的时钟、复位、片选和读/写控制等信号,A0~A3有16个I/O地址。主态时则向系统发出相应的控制信号。优先级编码电路:根据CPU对8237A初始化时的命令,对同
7、时提出DMA请求的多个通道进行排队判优,以决定哪一个通道的优先级最高。优先级管理有两种方式:固定优先级和循环优先级一旦某个优先级高的设备在服务时,其他通道的请求都被禁止,直到服务结束时为止©北京工业大学计算机学院®9一、8237A的内部结构数据和地址缓冲器组8237A的A7~A4,A3~A0为地址线;DB0~DB7在从态时传输数据信息,主态时传送地址/数据信息,这些数据、地址线都与三态缓冲器相连,可接管和释放总线。命令控制逻辑在从态时接收CPU送来的寄存器选择信号,选择8237A内部相应的寄存器;
8、主态时,对方式字的最低量为进行编码,以确定DMA的操作类型。A3~A0与IOR和IOW配合可组成各种操作命令。©北京工业大学计算机学院®10一、8237A的内部结构内部寄存器组每个通道都有一个16位的基地址寄存器、基字计数器、当前地址寄存器、当前字计数器;4个通道,每个通道由一个6位工作方式;还有一个命令寄存器、屏蔽寄存器、请求寄存器、状态寄存器和暂存寄存器上述寄存器可进行编程设置字数暂存器和地址暂存器不可编程©北京工业大学计算机学院®11©北京工业大学计算机学院®12二、8237
此文档下载收益归作者所有