DMA-控制器介绍课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DMA-控制器介绍课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DMA 控制器 介绍 课件
- 资源描述:
-
1、 2007.8.15一一.基本概念基本概念 1.Direct Memory Access(直接存儲器存取)。这是(直接存儲器存取)。这是指一种高速的数据传输操作,允许在外部设备和存儲器之指一种高速的数据传输操作,允许在外部设备和存儲器之间直接读写数据,既不通过间直接读写数据,既不通过CPU,也不需要,也不需要CPU干预。干预。整整个数据传输操作在一个称为个数据传输操作在一个称为“DMA控制器控制器”的控制下进行的控制下进行的。的。CPU除了在数据传输开始和结束时做一点处理外,在除了在数据传输开始和结束时做一点处理外,在传输过程中传输过程中CPU可以进行其他的工作。这样,在大部分时可以进行其他的
2、工作。这样,在大部分时间里,间里,CPU和输入输出都处于并行操作。因此,使整个计和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。算机系统的效率大大提高。DMA技術中,數據的傳送是在技術中,數據的傳送是在DMA控制器控制器(DMAC)的控的控制下進行的。制下進行的。2.DMAC傳送數據的三個階段:傳送數據的三個階段:a.传送前的预处理传送前的预处理 b.数数据传送据传送 c.传送结束处理传送结束处理 3.DMAC有兩種工作狀態有兩種工作狀態:主動工作狀態(有效周期)主動工作狀態(有效周期)和被動工作狀態(空閑周期)。和被動工作狀態(空閑周期)。4.DMA控制器對總線的占用方式有控
3、制器對總線的占用方式有 a.獨占方式獨占方式 b.周期周期挪用方式。挪用方式。三、基本的三、基本的DMA控制器控制器1DMA控制器的基本组成控制器的基本组成一个一个DMA控制器,实际上是采用控制器,实际上是采用DMA方式的外围设备与系统方式的外围设备与系统总线之间的接口电路,这个接口电路是在中断接口的基础上总线之间的接口电路,这个接口电路是在中断接口的基础上再加再加DMA机构组成习惯上将机构组成习惯上将DMA方式的接口电路称为方式的接口电路称为DMA控制器。下页图示出了一个最简单的控制器。下页图示出了一个最简单的DMA控制器组成控制器组成示意图。示意图。一个最简单的一个最简单的DMA控制器由以
4、下逻辑部件组成:控制器由以下逻辑部件组成:(1)内存地址计数器内存地址计数器 用于存放内存中要交换的数据的地址。在用于存放内存中要交换的数据的地址。在DMA传送前,须通过程序将数据在内存中的起始位置传送前,须通过程序将数据在内存中的起始位置(首地首地址址)送到内存地址计数器。而当送到内存地址计数器。而当DMA传送时,每交换一次数传送时,每交换一次数据,将地址计数器加据,将地址计数器加“1”,从而以增量方式给出内存中要交,从而以增量方式给出内存中要交换的一批数据的地址。换的一批数据的地址。(2)字计数器字计数器 用于记录传送数据块的长度用于记录传送数据块的长度(多少字数多少字数)。其内容也。其内
5、容也是在数据传送之前由程序预置,交换的字数通常以补码形式是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在表示。在DMA传送时,每传送一个字,字计数器就加传送时,每传送一个字,字计数器就加“1”,当计数器溢出即最高位产生进位时,表示这批数据传送完毕,当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起于是引起DMA控制器向控制器向CPU发中断信号。发中断信号。(3)数据缓冲寄存器数据缓冲寄存器 用于暂存每次传送的数据用于暂存每次传送的数据(一个字一个字)。当输。当输入时,由设备入时,由设备(如磁盘如磁盘)送往数据缓冲寄存器,再由缓冲寄送往数据缓冲寄存器,再由缓冲寄存器通过数
6、据总线送到内存。反之,输出时,由内存通过存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。数据总线送到数据缓冲寄存器,然后再送到设备。(4)“DMA请求请求”标志标志 每当设备准备好一个数据字后给出一个每当设备准备好一个数据字后给出一个控制信号,使控制信号,使“DMA请求请求”标志置标志置“1”。该标志置位后。该标志置位后向向“控制控制/状态状态”逻辑发出逻辑发出DMA请求,后者又向请求,后者又向CPU发出发出总线使用权的请求总线使用权的请求(HOLD),CPU响应此请求后发回响应响应此请求后发回响应信号信号HLDA,“控制控制/状态状态”逻辑接收此
7、信号后发出逻辑接收此信号后发出DMA响响应信号,使应信号,使“DMA请求请求”标志复位,为交换下一个字做好标志复位,为交换下一个字做好准备。准备。(5)“控制控制/状态状态”逻辑逻辑 由控制和时序电路以及状态标志等组成,由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型用于修改内存地址计数器和字计数器,指定传送类型(输入输入或输出或输出),并对,并对“DMA请求请求”信号和信号和CPU响应信号进行协响应信号进行协调和同步。调和同步。(6)中断机构中断机构 当字计数器溢出时当字计数器溢出时(為為0時時),意味着一组数据交,意味着一组数据交换完毕,由溢出信号触发中断
8、机构,向换完毕,由溢出信号触发中断机构,向CPU提出中断报告。提出中断报告。这里的中断与上一节介绍的这里的中断与上一节介绍的I/O中断所采用的技术相同,但中断所采用的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一组数据传送结束。因此它们是是为了报告一组数据传送结束。因此它们是I/O系统中不同系统中不同的中断事件。的中断事件。2.DMA数据传送过程数据传送过程 DMA的数据块传送过程可分为三个阶段:传送前预处理;的数据块传送过程可分为三个阶段:传送前预处理;正式传送;传送后处理。正式传送;传送后处理。预处理预处理 由由
9、CPU执行几条输入输出指令,测试设备状态,执行几条输入输出指令,测试设备状态,向向DMA控制器的设备地址寄存器中送入设备号并启动设备,控制器的设备地址寄存器中送入设备号并启动设备,向内存地址计数器中送入起始地址,向字计数器中送入交向内存地址计数器中送入起始地址,向字计数器中送入交换的数据字个数。在这些工作完成后,换的数据字个数。在这些工作完成后,CPU继续执行原来继续执行原来的主程序。的主程序。正式传送正式传送 当外设准备好发送数据当外设准备好发送数据(输入输入)或接受数据或接受数据(输出输出)时,它发出时,它发出DMA请求,由请求,由DMA控制器向控制器向CPU发出总线使发出总线使用权的请求
10、用权的请求(HOLD)。下页图示出了停止。下页图示出了停止CPU访内方式的访内方式的DMA传送数据的流程图。传送数据的流程图。当外围设备发出当外围设备发出DMA请求时,请求时,CPU在本机器周期执行结束在本机器周期执行结束后响应该请求,并使后响应该请求,并使CPU的总线驱动器处于第二态的总线驱动器处于第二态(高阻状高阻状态态)之后,之后,CPU与系统总线相脱离,而与系统总线相脱离,而DMA控制器接管控制器接管数据总线与地址总线的控制,并向内存提供地址数据总线与地址总线的控制,并向内存提供地址 于是,在内存和外围设备之间进行数据交换每交换一个字,于是,在内存和外围设备之间进行数据交换每交换一个字
展开阅读全文