计算机组成原理第八章第4讲DMA方式
DMA方式_百度百科

DMA方式_百度百科DMA方式[1]锁定[2]编辑本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!DMA方式,Direct Memory Access,也称为成组数据传送[3]方式,有时也称为直接内存操作。
中文名直接内存操作外文名Direct Memory Access常见芯片Intel 8237ADMA方式工作原理[4]编辑DMA方式原理一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),[5][6]发送DMA请求信号。
外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管它会先向CPU[7]结束后,会按DMA信号的优先级和提出DMA请求的总线控制权的总线请求,CPU收到该信号后,在当前的总线周期先后顺序响应DMA信号。
CPU对某个设备接口响应DMA请求时,会让出总线控制权。
于是在DMA控制器的管理下,外[8]直接进行数据交换,而不需CPU干预。
数据传送[9]完毕后,设备接口会向CPU发送DMA结束信号,交还设和存储器总线控制权。
DMA方式的主要优点是速度快。
由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。
在数据传送过程中,没有保存现场、恢[10]之类的工作。
内存地址[11]修改、传送字个数的计数等等,也不是由软件实现,而是用硬件线路直接实现复现场的。
所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。
DMA方式基本操作实现DMA传送的基本操作如下:1、外设可通过DMA控制器向CPU发出DMA请求;2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;3、由DMA控制器发送存储器地址[12],并决定传送数据块[13]的长度;4、执行DMA传送;5、DMA操作结束,并把总线控制权交还CPU。
DMA方式用途DMA方式主要适用于一些高速的I/O设备[14]。
这些设备传输字节或字的速度非常快。
计算机组成原理第八章第4讲DMA方式

例题:
例3下图中假设有磁盘、磁带、打印机三个设 备同时工作。磁盘以30μs的间隔向控制器发 DMA请求,磁带以45μs的间隔发DMA请求, 打印机以150μs间隔发DMA请求。根据传输速 率,磁盘优先权最高,磁带次之,打印机最 低,图中假设DMA控制器每完成一次DMA传 送所需的时间是5μs。若采用多路型DMA控制 器,请画出DMA控制器服务三个设备的工作 时间图。
优点:总线控制权的转移不需要时间, DMA传送高效
缺点:硬件逻辑实现复杂 适用于:CPU的工作周期比内存存取周期长
很多的情况。
计算机组成原理第八章第4讲DMA方式
8.4.3 基本DMA控制器
1、DMA基本构成 (1)内存地址计数器 用于存放内存中要交换的数
据的地址。在DMA传送前,须通过程序将数据在 内存中的起始位置(首地址)送到内存地址计数器。 而当DMA传送时,每交换一次数据,将地址计数 器加“1”,从而以增量方式给出内存中要交换的 一批数据的地址。
计算机组成原理第八章第4讲DMA方式
思考: 如果有多个设备提出DMA传送请求,该
怎么处置? 来看8.4.4选择型、多路型DMA控制器
计算机组成原理第八章第4讲DMA方式
8.4.4选择型和多路型DMA控制器
1.选择型DMA控制器 选择型DMA控制器在物理上可以连接
多个设备,而在逻辑上只允许连接一个设 备。在某一段时间内只能为一个设备服务。
计算机组成原理第八章第4讲DMA方式
1、DMA基本构成
(3)数据缓冲寄存器 用于暂存每次传送的数据(一个 字)。当输入时,由设备(如磁盘)送往数据缓冲寄 存器,再由缓冲寄存器通过数据总线送到内存。 反之,输出时,由内存通过数据总线送到数据缓 冲寄存器,然后再送到设备。
7.4 DMA方式

河南科技大学输入输出系统07目 录CATALOG 输入输出系统概述程序查询方式程序中断方式DMA方式01020304DMA方式博学日新明德笃行u DMA方式的基本概念u DMA的三种工作方式u DMA接口的功能和组成u DMA的工作过程u DMA和中断的比较CPU 主存ACC中断接口DMA 接口I/O设备中断方式数据传送通路输入指令输出指令DMA方式数据传送通路直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。
在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行 。
DMA方式一般用于高速传送成组数据。
DMA控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。
DMA的三种工作方式(1)停止CPU访问内存(2)周期挪用(或周期窃取)(3)DMA 与 CPU 交替访问(1) 停止 CPU 访问主存控制简单CPU 处于不工作状态或保持状态未充分发挥 CPU 对主存的利用率主存工作时间CPU 不执行程序DMA 不工作DMA 不工作DMA 工作 CPU 控制并使用主存DMA 控制并使用主存t(2) 周期挪用(或周期窃取)DMA 访问主存有三种可能: CPU 此时不访存• CPU 正在访存• CPU 与 DMA 同时请求访存此时CPU 将总线控制权让给 DMA主存工作时间CPU控制并使用主存DMA控制并使用主存t博学日新明德笃行(3) DMA 与 CPU 交替访问主存工作时间DMA 控制并使用主存CPU 控制并使用主存tCPU 工作周期C 1 专供 DMA 访存C 2 专供 CPU 访存所有指令执行过程中的一个基准时间不需要 申请建立和归还 总线的使用权(1)向 CPU 申请 DMA 传送(2)处理总线 控制权的转交(3)管理 系统总线、控制 数据传送(4)确定 数据传送的 首地址和长度(5)修正 传送过程中的数据 地址 和 长度(6)DMA 传送结束时,给出操作完成信号预处理:主存起始地址设备地址 传送数据个数启动设备DMA DMADMA数据传送:继续执行主程序同时完成一批数据传送后处理:中断服务程序做 DMA 结束处理CPU允许传送?主存地址送总线数据送I/O 设备(或主存 )修改 主存地址修改 字计数器数据块传送结束?DMA 请求否否是是数据传送数据传送过程(输入)数据传送过程(输出)明德笃行博学日新校验送入主存的数是否正确是否继续用 DMA测试传送过程是否正确,错则转诊断程序由中断服务程序完成博学日新明德笃行(1) 数据传送(2) 响应时间(3) 处理异常情况(4) 中断请求(5) 优先级中断方式DMA 方式程序 硬件指令执行结束 存取周期结束能 不能低 高传送数据 后处理。
计算机组成原理课件第08章

一、接口的功能和组成
1、总线连接方式的I/O接口电路 、总线连接方式的 接口电路 在总线结构的计算机系统中,每一台 I/O设备都是通过I/O接口挂到系统总线上 的。如图示:
数据线: 数据线:传送数据信息 ,其根数一般等于存储 字长的位数或字符的位 数。双向。 设备选择线: 设备选择线:传送设备 码,其根数取决于I/O指 令中设备码的位数。单 向。 命令线: 命令线:传输CPU向设 备发出的各种命令信号 ,其根数与命令信号多 少有关。单向总线。 状态线: 状态线:向主机报告I/O 设备状态的信号线。单 向总线。
CPU在任何瞬间只能接受一个中断源 CPU在任何瞬间只能接受一个中断源 的请求。 的请求。因此,当多个中断源提出中断请 求时,CPU必须对各中断源的请求进行排 队,且只能接受级别最高的中断源的请求 ,不允许级别低的中断源中断正在运行的 中断服务程序。此时,就可用MASK来改 变中断源的优先级别。 另外,CPU总是在统一的时间,即执 CPU总是在统一的时间, 总是在统一的时间 行每一条指令的最后时刻, 行每一条指令的最后时刻,查询所有设备 是否有中断请求。 是否有中断请求。 接口电路中D、INTR、MASK和中断 查询信号的关系如图示:
2、排队器 、 当多个中断源同时向CPU提出请求时,经 排队器的排队,只有优先级高的中断源排上 队,这样就能实现CPU按中断源优先级的高 低响应中断请求。 下图是设在各个接口电路中的排队电路— —链式排队器。
其中首尾相接的虚线部分组成的门电路是排 当各中断源均无中断请求时,各INTRi 为高电 队器的核心,由一个非门和一个与非门构成。 平,其INTP1 '、 INTP2' 、 INTP3 '……均为高电平 中断源优先级最高的是1号中断源。当多个中 。一旦某中断源提出中断请求,就迫使比其优先级 断源提出中断请求时,排队器输出端INTPi, 低的中断源之INTPi '变为低电平,封锁其发中断 只有一个为高电平,表示该中断源排上队。 请求。
计算机组成原理课件(第8章__输入输出系统)

2、程序查询方式的数据传送过程 具体步骤: ①向外设发出命令字,请求数据传送; ②从外设状态字寄存器读入状态字; ③检查状态字中的各种约定标志,看数据交换是否 可以进行。 ④若外设就绪,则进行数据传送,否则,重复②、 ③两步,一直到该设备准备好交换数据,发出就 绪信号“READY”为止。 ⑤在数据传送的同时,CPU将I/O接口中的状态标志 复位
4.外围处理机方式 外围处理机(PPU)方式是通道方式的进一步发 展.由于PPU基本上独立于主机工作,它的结 构更接近一般处理机,甚至就是一般的微小型 计算机.在一些系统中,设置了多台PPU,分 别承担I/O控制、通信、维护诊断等任 务.从某种意义上说,这种系统已变成分布式 的多机系统
8.2 程序查询方式
2.程序中断方式
中断是外围设备用来“主动”通知 CPU ,准 备送出输入数据或接收输出数据的一种方 法.通常,当一个中断发生时, CPU 暂停它 的现行程序,而转向中断处理程序,从而可 以输入或输出一个数据.当中断处理完毕后, CPU 又返回到它原来的任务,并从它停止的 地方开始执行程序.这种方式和我们前述例 子的第二种方法相类似.可以看出,它节省 了 CPU宝贵的时间,是管理 I / O 操作的一个 比较有效的方法。中断方式一般适用于随机 出现的服务,并且一旦提出要求,应立即进 行.同程序查询方式相比,硬件结构相对复 杂一些,服务开销时间较大
8.3 程序中断方式
8.2.1 中断的基本概念 采用程序查询方式,当外设速度较低 时,CPU大量的时间用于无效的查 询.不能处理其他事务,也不能对其他 突发事件及时作出反应。如何使CPU既 能对突发事件作出及时响应,避免无效 的查询以提高效率呢?
dma方式的定义 -回复

dma方式的定义 -回复DMA(Direct Memory Access)是一种计算机系统中用于数据传输的技术。
它允许外设设备直接与主存储器进行数据交换,而无需通过中央处理器的参与。
这种方式大大提高了数据传输的效率和系统的性能,被广泛应用于各种计算机系统和设备中。
首先,我们需要了解D MA的基本工作原理。
在传统的计算机系统中,当外设设备需要将数据传输到内存中,或者将内存中的数据传输给外设设备时,通常需要通过CPU来进行数据交换。
CPU将负责控制和处理数据传输的全部过程,这就需要大量的CPU时间和资源。
而DMA 则可以直接将数据传输到内存中,或者从内存中读取数据,从而绕过CPU,提高数据传输的速度和效率。
DMA方式的数据传输分为三个主要步骤:初始化,执行和结束。
首先是初始化阶段。
在这个阶段,CPU与DMA 控制器进行通信,告知它们要进行的数据传输任务的相关信息。
这包括传输的数据大小、传输的方向、数据的起始地址等。
DMA控制器根据这些信息来配置自身的工作模式和参数。
接下来是执行阶段。
在这个阶段,DMA控制器独立地执行数据传输任务,不需要CPU的干预。
它通过控制总线的方式与外设设备和内存进行数据交换。
当数据传输开始时,DMA控制器根据初始化阶段的参数,向外设设备发送读取/写入的命令,并从外设设备读取或写入数据。
然后,DMA控制器将数据直接传输到内存中的指定位置,或从内存中读取数据,并将其传输到外设设备。
这个过程不需要CPU进行任何的干预,CPU可以继续处理其他任务。
最后是结束阶段。
在数据传输完成后,DMA 控制器会向CPU发送一个中断信号,通知其数据传输已经完成。
CPU可以根据需要进行进一步的处理,比如检查传输是否成功,处理接收到的数据等。
然后,CPU可以重新配置DMA控制器,为下一次数据传输做准备。
DMA方式的优势在于减少了CPU的负担,提高了数据传输的效率和系统的性能。
它特别适用于需要大量数据传输的应用场景,比如存储器、网络接口卡和硬盘等设备的数据传输。
DMA方式和通道方式

• 都能在I/O设备和主存之间建立数据直传通路; •DMA只能实现固定的数据传送控制,而通道有自己的指令和 程序,具有更强的独立处理数据输入和输出的能力。 •DMA只能控制一台或少数几台同类设备,而一个通道可以同 时控制多台同类或不同类设备。 •通道是在一定的硬件基础上利用软件手段实现对I/O的控制和 传送。
磁盘中断 处理程序
IRET
CPU
CPU访问内存
DMA请求 当前内存周期结束 CPU访问内存
DMA请求
数据寄存器满 DMA应答
数据寄存器满
当前内存周期结束 DMA应答
CPU访问内存
DMA接口
磁
柱面符合? N
盘
寻
扇区符合? N
址
读盘
DMA访问内存 读盘
DMA访问内存
中断应答 一条指令执行结束
中断请求 中断向量
一批数据读写完毕
四、DMA过程
DMA接口组成
3. 结束处理
•数据块传送完毕后,发中断请求信号,CPU进行中断处理。 (重新初始化或中止DMA操作)
12
五、DMA方式特点 (与中断方式对比)
1. DMA方式的并行性比中断方式更高; • 仅初始化和结束处理需CPU干预
2. DMA传送无需程序切换、程序控制; 3. DMA方式主要是靠硬件来实现数据传送; 4. CPU响应DMA请求在CPU周期结束后,而响应中断是在
▪ 接口接到应答信号后,接管总线使用权,将接口中主存地址送 地址总线,将存储器读写信号送控制总线,完成一次数据传送。 ▪每次DMA传送后,接口中主存地址自增(或自减), 数据块长度减1 ▪完成一次传送后,清除DMA请求信号,准备好下一批时,再发 DMA请求信号。重复直至传送结束。
计算机组成原理dma

计算机组成原理dmaDMA(Direct Memory Access,直接内存访问)是计算机组成中的一种技术,通过它,外部设备可以直接与主存进行数据传输,而无需经过中央处理器(CPU)的介入。
DMA技术的引入大大提高了计算机系统的性能和效率。
在传统的I/O数据传输方式中,CPU需要负责控制数据的传输过程,即CPU从外部设备读取或写入数据,并将数据转移到主存中。
这种方式会占用CPU的大量时间和资源,限制了计算机系统的整体性能。
而引入DMA技术后,外设可以直接将数据传输到主存中,或从主存中读取数据,而无需CPU的直接参与。
DMA技术的基本原理是,通过在计算机系统中添加一个DMA控制器,它可以独立地控制数据的传输过程。
当外设需要进行数据传输时,它会向DMA控制器发送请求,并提供存储器地址、传输数据大小等信息。
DMA控制器接收到请求后,会与主存进行通信,直接将数据传输到指定的存储器地址中。
通过使用DMA技术,可以显著减少CPU的负载,提高数据传输的速度和效率。
DMA技术在许多应用中都得到了广泛的应用,例如网络通信、磁盘读写、音视频处理等领域。
除了提高性能和效率之外,DMA技术还有其他一些优点。
首先,它可以提高系统的可靠性和稳定性,因为数据传输过程中不需要CPU的介入,减少了出错的可能性。
其次,DMA技术可以节省CPU的能耗,因为数据传输过程中CPU可以进入低功耗状态。
最后,DMA技术可以提供更好的实时性能,特别是在需要快速响应的应用中。
然而,DMA技术也存在一些限制和挑战。
首先,由于DMA控制器需要占用一定的系统资源,因此系统中只能同时支持有限数量的DMA传输。
其次,DMA传输需要与主存进行通信,可能会引起总线竞争和冲突,需要进行合理的调度和管理。
此外,由于DMA传输是由硬件直接控制的,因此对于某些特定应用,可能需要额外的软件支持来进行配置和管理。
总的来说,DMA技术是计算机系统中重要的组成部分,通过它可以提高系统的性能和效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.4.1DMA方式的一般概念
DMA基本操作:
? (1)从外围设备发出 DMA请求; ? (2)CPU响应请求,把 CPU工作改成DMA操作
方式, DMA控制器从 CPU接管总线的控制; ? (3)由DMA控制器对内存寻址,即决定数据传送
的内存单元地址及数据传送个数的计数,并执 行数据传送的操作; ? (4)向CPU报告DMA操作的结束。
8.4.2 DMA传送方式
? CPU和DMA控制器各自有自己的访内地址 寄存器、数据寄存器和读/写信号等控制寄 存器。在C1周期中,如果DMAБайду номын сангаас制器有访 内请求,可将地址、数据等信号送到总线 上。在C2周期中,如CPU有访内请求,同 样传送 地址、数据等信号。
8.4.2 DMA传送方式
? 优点:总线控制权的转移不需要时间, DMA传送高效
8.4.2 DMA传送方式
? 优点: 控制流程简单。 ? 缺点 : 在DMA控制器 I/O访内阶段,内存的
效能没有充分发挥,相当一部分内存工作 周期是空闲的。 ? 仅适用于:数据传输率很高的设备进行成 组传送
8.4.2 DMA传送方式
? 2、周期挪用方式
? DMA控制器与主存储器之间传送一个数据, 占用一个内存周期,即CPU暂停访存工作 一个周期,然后继续执行程序。
? 优点:完全硬件实现,速度快。有利于发挥 CPU的效率。
8.4.1DMA方式的一般概念
? 过程描述:
? 由DMA控制器给出当前正在传送的数据的主存地址, 并统计传送数据的个数以确定一组数据的传送是否 已结束。在主存中要开辟连续地址的专用缓冲器, 用来提供或接收传送的数据。在数据传送前和结束 后要通过程序或中断方式对缓冲器和DMA控制器进 行预处理和后处理。
8.4.2 DMA传送方式
? 优点:既实现了I/O传送,又较好地发挥了 内存和CPU的效率
? 缺点:每次传送都要申请总线控制权,建 立总线控制权,归还总线控制权。
? 适用于:I/O设备读写周期大于内存存储周 期的情况
8.4.2 DMA传送方式
? 停止CPU访存和周期挪用的区别
? 前者:外设需传送一批数据到内存时, DMA独 占总线、内存等资源,一直到该任务完成
? 缺点:硬件逻辑实现复杂 ? 适用于:CPU的工作周期比内存存取周期
长很多的情况。
8.4.3 基本DMA控制器
1、DMA基本构成 (1)内存地址计数器 用于存放内存中要交换的数
据的地址。在 DMA传送前,须通过程序将数据在 内存中的起始位置 (首地址)送到内存地址计数器。 而当DMA传送时,每交换一次数据,将地址计数 器加“ 1”,从而以增量方式给出内存中要交换的 一批数据的地址。
DMA方式
8.4 DMA方式
8.4.1 DMA方式的一般概念 8.4.2 DMA传送方式 8.4.3 DMA传送一个数据的过程
8.4.1DMA方式的一般概念
? 直接存储器访问( Direct Memory Access ) DMA方式是为了在主存储器与 I/O设备间高速 交换批量数据而设置的。
? 基本思想是:通过 硬件控制实现主存与I/O设 备间的直接数据传送,在传送过程中无需 CPU 的干预。数据传送是在 DMA控制器控制下进行 的,
1、DMA基本构成
(2)字计数器 用于记录传送数据块的长度(多 少字数)。其内容也是在数据传送之前由程 序预置,交换的字数通常以补码形式表示。 在DMA传送时,每传送一个字,字计数器 就加“1”,当计数器溢出即最高位产生进 位时,表示这批数据传送完毕,于是引起 DMA控制器向CPU发中断信号。
1、DMA基本构成
? 后者:当外设信息被读取后要写入内存时,才 申请总线、访存权限,完成写入,而后释放, 等到下批数据被读出时,又再申请权限、资源, 写入内存。
8.4.2 DMA传送方式
? 3、DMA和CPU交替访问内存工作方式 ? 如果CPU的工作周期比内存存取周期长 很多,可以采用该种方法 ? 指令周期包含若干CPU周期,CPU周期 中访内周期只占整个周期一部分(eg.C1), 另外一部分时间(eg.C2)可交由DMA访内, 此时DMA与CPU并行工作。 ? 不需要总线控制权的申请、建立与归还。 通过C1、C2分时控制,总线控制权的转 移速度快,DMA效率高。
8.4.2 DMA传送方式
I/O设备要求DMA传送时可能遇到两种情况:
? (1) CPU不需要访内,如 CPU正在执行乘法指令。 由于乘法指令执行时间较长,此时 I/O访内与CPU 访内没有冲突,即 I/O设备挪用一二个内存周期对 CPU执行程序没有任何影响。
? (2)CPU也要求访内时,这就产生了访内冲突,在 这种情况下 I/O设备访内优先,因为 I/O访内有时间 要求,前一个 I/O数据必须在下一个访内请求到来 之前存取完毕。显然,在这种情况下 I/O 设备挪用 一二个内存周期,意味着 CPU延缓了对指令的执 行,或者更明确地说,在 CPU执行访内指令的过 程中插入 DMA请求,挪用了一二个内存周期。
? 思考: ? DMA正在完成I/O操作时,CPU在干什么?
? 二者同时有访存需求,怎么办?
8.4.2 DMA传送方式
1、停止CPU访问内存。
? 主机响应DMA请求后,让出存储总线,直到一组数 据传送完毕后,DMA控制器才把总线控制权交还给 CPU。
? 采用这种工作方式的I/O设备,在其接口中一般设 置有小容量存储器,I/O设备先与小容量存储器交 换数据,然后由小容量存储器与主机交换数据,这 样可减少DMA传送占用存储总线的时间,也即减少 了CPU暂停工作的时间。
(3)数据缓冲寄存器 用于暂存每次传送的数据 (一个 字)。当输入时,由设备 (如磁盘)送往数据缓冲寄 存器,再由缓冲寄存器通过数据总线送到内存。 反之,输出时,由内存通过数据总线送到数据缓 冲寄存器,然后再送到设备。
1、DMA基本构成
(4)“DMA请求”标志 每当设备准备好一个数据字后 给出一个控制信号,使“ DMA请求” 标志置“1”。 该标志置位后向“控制 /状态”逻辑发出 DMA请求, 后者又向CPU发出总线使用权的请求 (HOLD), CPU响应此请求后发回响应信号 HLDA,“控制/ 状态”逻辑接收此信号后发出 DMA响应信号,使 “DMA请求”标志复位,为交换下一个字做好准 备。