DMA 控制器介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.选择型DMA控制器
下页图是选择型DMA控制器的逻辑框图,它在物理上可以 连接多个设备,而在逻辑上只允许接—个设备.换句话说, 在某一段时间内只能为一个设备服务.
选择型DMA控制器工作原理与前面的简单DMA控制器基本 相同.除了前面讲到的基本逻辑部件外,还有一个设备号 寄存器.数据传送是以数据块为单位进行的,在每个数据 块传送之前的预置阶段,除了用程序中I/O指令给出数据块 的传送个数、起始地址、操作命令外,还要给出所选择的 设备号.从预置开始,一直到这个数据块传送结束,DMA 控制器只为所选设备服务.下—次预置再根据I/O指令指出 的设备号,为另—选择的设备服务.
工作。这些工作包括校验送入内存的数据是否正确;决定
继续用DMA方式传送下去,还是结束传送;测试在传送过
• 基本DMA控制器与系统的连接方式:
• (1)公用的DMA请求方式;(2)独立的DMA请求方式,
.
8
四、选择型和多路型DMA控制器
前面介绍的是最简单的DMA控制器,一个控制器只控制一 个I/O设备.实际中经常采用的是选择型DMA控制器和多 路型DMA控制器,它们已经被做成集成电路片子.
2.DMA DMA的数据块传送过程可分为三个阶段:传送前预处理;
预处理 由CPU执行几条输入输出指令,测试设备状态, 向DMA控制器的设备地址寄存器中送入设备号并启动设备, 向内存地址计数器中送入起始地址,向字计数器中送入交 换的数据字个数。在这些工作完成后,CPU继续执行原来
正式传送 当外设准备好发送数据(输入)或接受数据(输出) 时,它发出DMA请求,由DMA控制器向CPU发出总线使 用权的请求(HOLD)。下页图示出了停止CPU访内方式的 DMA传送数据的流程图。
DMA技術中,數據的傳送是在DMA控制器(DMAC)的控 制下進行的。
2.DMAC傳送數據的三個階段:a.传送前的预处理 b.数 据传送 c.传送结束处理
3.DMAC有兩種工作狀態:主動工作狀態(有效周期)和 被動工作狀態(空閑周期)。
4.DMA控制器對總線的占用方式有 a.獨占方式 b.周期 挪用方式。
(1)内存地址计数器 用于存放内存中要交换的数据的地址。在 DMA传送前,须通过程序将数据在内存中的起始位置(首地 址)送到内存地址计数器。而当DMA传送时,每交换一次数 据,将地址计数器加“1”,从而以增量方式给出内存中要交
(2)字计数器 用于记录传送数据块的长度(多少字数)。其内容也 是在数据传送之前由程序预置,交换的字数通常以补码形式
.
9
.
10
显然,选择型DMA控制器相当于一个逻辑开关,根据 I/O指令来控制此开关与某个设备连接.
选择型DMA控制器只增加少量硬件达到了为多个外围 设备服务的目的,它特别适合数据传输串很高以至接 近内存存取速度的设备.在很快地传送完一个数据块 后,控制器又可为其他设备服务.
2.多路型DMA控制器
(5)“控制/状态”逻辑 由控制和时序电路以及状态标志等组成, 用于修改内存地址计数器和字计数器,指定传送类型(输入 或输出),并对“DMA请求”信号和CPU响应信号进行协
(6)中断机构 当字计数器溢出时(為0時),意味着一组数据交 换完毕,由溢出信号触发中断机构,向CPU提出中断报告。 这里的中断与上一节介绍的I/O中断所采用的技术相同,但 中断的目的不同,前面是为了数据的输入或输出,而这里 是为了报告一组数据传送结. 束。因此它们是I/O系统中不同5
(4)“DMA请求”标志 每当设备准备好一个数据字后给出一个 控制信号,使“DMA请求” 标志置“1”。该标志置位后 向“控制/状态”逻辑发出DMA请求,后者又向CPU发出 总线使用权的请求(HOLD),CPU响应此请求后发回响应 信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响 应信号,使“DMA请求”标志复位,为交换下一个字做好
当外围设备发出DMA请求时,CPU在本机器周期执行结束 后响应该请求,并使CPU的总线驱动器处于第二态(高阻状 态).之后,CPU与系统总线相脱离,而DMA控制器接管 数据总线与地址总线的控制,并向内存提供地址.
.
6
.
7
于是,在内存和外围设备之间进行数据交换.每交换一个字, 则地址计数器和字计数器加“l”,当计数值到达零时, DMA操作结束,DMA控制器向CPU提出中断报告 。
DMA Trainning
2007.8.15
.
1
一.基本概念
1.Direct Memory Access(直接存儲器存取)。这是 指一种高速的数据传输操作,允许在外部设备和存儲器之 间直接读写数据,既不通过CPU,也不需要CPU干预。整 个数据传输操作在一个称为“DMA控制器”的控制下进行 的。CPU除了在数据传输开始和结束时做一点处理外,在 传输过程中CPU可以进行其他的工作。这样,在大部分时 间里,CPU和输入输出都处于并行操作。因此,使整个计 算机系统的效率大大提高。
• DMA的数据传送是以数据块为基本单位进行的,因此,每 次DMA控制器占用总线后,无论是数据输入操作,还是输 出操作,都是通过循环来实现的。当进行输入操作时,外 围设备的数据(一次一个字或一个字节)传向内存;当进行输

后处理 一旦DMA的中断请求得到响应,CPU停止主程
序的执行,转去执行中断服务程序做一些DMA的结束处理
三、基本的DMA控制器
1.DMA控制器的基本组成
一个DMA控制器,实际上是采用DMA方式的外围设备与系统总 线之间的接口电路,这个接口电路是在中断接口的基础上再 加DMA机构组成.习惯上将DMA方式的接口电路称为DMA 控制器。下页图示出了一个最简单的DMA控制器组成示意图。
一个最简单的DMA控制器由以下逻辑部件组成:
表示。在DMA传送时,每传送一个字,字计数器就加“1” , 当计数器溢出即最高位产生进位时,表示这批数据传送完毕,
于是引起DMA控制器向CPU
.
3
.
4
(3)数据缓冲寄存器 用于暂存每次传送的数据(一个字)。当输 入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄 存器通过数据总线送到内存。反之,输出时,由内存通过
相关文档
最新文档