什么设备可以用DMA
A. DMA方式有何特点什么样的I/O设备与主机交换信息时采用DMA方式
DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式。PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。DMA模式与PIO模式的区别就在于,DMA模式不过分依赖CPU,可以大大节省系统资源。
硬盘在交换信息时可以用DMA方式。
==================================
举例:
DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
DMA 传输重要地将一个内存区从一个装置复制到另外一个。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。
举个例子,PC ISA DMA 控制器拥有 8 个 DMA 通道,其中的 7 个通道是可以让 PC 的 CPU 所利用。每一个 DMA 通道有一个 16位元 位址暂存器和一个 16 位元 计数暂存器。要初始化资料传输时,装置驱动程式一起设定 DMA 通道的位址和计数暂存器,以及资料传输的方向,读取或写入。然后指示 DMA 硬件开始这个传输动作。当传输结束的时候,装置就会以中断的方式通知 CPU。
B. 什么是DMA简述CPU采用DMA传送的工作过程。
DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
DMA方式的工作原理:
一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。
实现DMA传送的基本操作如下:
(1)外设可通过DMA控制器向CPU发出DMA请求:
(2)CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;
(3)由DMA控制器发送存储器地址,并决定传送数据块的长度;
(4)执行DMA传送;
(5)DMA操作结束,并把总线控制权交还CPU。
用途:
DMA方式主要适用于一些高速的I/O设备。这些设备传输字节或字的速度非常快。对于这类高速I/O设备,如果用输入输出指令或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也容易造成数据的丢失。而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。
C. 什么叫DMA用什么作用啊
DMA的概念:DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有两种方式:
◎独占总线方式 ◎周期挪用方式
(2)DMA的组成:
◎主存地址寄存器
◎数据数量计数器
◎DMA的控制/状态逻辑 ◎DMA请求触发器
◎数据缓冲寄存器 ◎中断机构
(3)DMA的传送数据的过程:由三个阶段组成
◎传送前的预处理:由CPU完成以下步骤
向DMA卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初值,传送数据个数, DMA的功能控制信号。
◎数据传送:在DMA卡控制下自动完成
◎传送结束处理
DMA 卡上应包括通用接口卡的全部组成部分,并多出如下内容:
主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA工作方式,DMA优先级及排队逻辑等
一次完整的DMA传送过程:
DMA 预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,之后CPU执行原来的程序
DMA 控制在 I/O 设备与主存间交换数据:
准备一个数据, 向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则向 CPU发中断请求.
参考资料:http://www.open.ha.cn/qiu/dag/main5.htm#/qiu/dag/5/5_2/index.htm
D. DMA设备是什么
DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有两种方式:
◎独占总线方式 ◎周期挪用方式
(2)DMA的组成:
◎主存地址寄存器
◎数据数量计数器
◎DMA的控制/状态逻辑
◎DMA请求触发器
◎数据缓冲寄存器
◎中断机构
(3)DMA的传送数据的过程:由三个阶段组成
◎传送前的预处理:由CPU完成以下步骤
向DMA卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初值,传送数据个数, DMA的功能控制信号。
◎数据传送:在DMA卡控制下自动完成
◎传送结束处理
DMA 卡上应包括通用接口卡的全部组成部分,并多出如下内容:
主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA工作方式,DMA优先级及排队逻辑等
一次完整的DMA传送过程:
DMA 预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,之后CPU执行原来的程序
DMA 控制在 I/O 设备与主存间交换数据:
准备一个数据, 向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则向 CPU发中断请求.
E. DMA对哪些类型的操作有用
DMA 特性 DMA 特性描述 DMA 引擎的特性和限制,其中包括: 设备可以访问的地址的限制 最大传送计回数 地址对齐限制 设备驱动程答序必须通过 ddi_dma_attr(9S) 结构向系统通知任何 DMA 引擎限制。此操作可以确保设备的 DMA 引擎可以访问系统分配的 DMA 资源。系统可能对设备特性实施附加限制,但绝不会取消驱动程序实施的任何限制。
F. 现代个人计算机中,哪些设备通常是自带dma控制器的
负责硬盘和光驱等内部存储器和cpu交换数据
G. DMA控制方式的特点,它主要被用在控制什么设备上
特点:允许抄不同速度的硬件装置袭来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
DMA 传输将一个内存区从一个装置复制到另外一个, CPU 初始化这个传输动作,传输动作本身是由 DMA控制器来实行和完成。
设备:外设通过DMA的一种专门接口电路——DMA控制器(DMAC)。
(7)什么设备可以用DMA扩展阅读
DMA传送方式有3种:单元传送方式、块传送方式和on-the-fly传送方式。
在进行DMA传输时,使用的是Full这个接口类型。该接口支持突发方式的读写模式。Lite类型,是不支持突发模式的,一般应用场景在于PS对某些寄存器的配置,传输少量的数据信息。
Stream类型,也是一种大数据量的传输接口,但是它没有相关的读写地址接口,是一种数据流模式的传输方式。在Xilinx的很多IP Core中,都有这个接口的身影。
H. 在网络中DMA方式是什么具体点!
基本信息
DMA方式,Direct Memory Access,也称为成组数据传送方式,有时也称为直接内存操作。
编辑本段工作原理
一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。 实现DMA传送的基本操作如下: (1)外设可通过DMA控制器向CPU发出DMA请求: (2)CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器; (3)由DMA控制器发送存储器地址,并决定传送数据块的长度; (4)执行DMA传送; (5)DMA操作结束,并把总线控制权交还CPU。 用途: DMA方式主要适用于一些高速的I/O设备。这些设备传输字节或字的速度非常快。对于这类高速I/O设备,如果用输入输出指令或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也容易造成数据的丢失。而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。 DMA控制器或接口一般包括四个寄存器: 状态控制寄存器、数据寄存器、地址寄存器和字节计数器。 这些寄存器在信息传送之前需要进行初始化设置。即在输入输出程序中用汇编语言指令对各个寄存器写入初始化控制字。
编辑本段DMA方式特点
DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。 DMA 传输重要地将一个内存区从一个装置复制到另外一个。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。 举个例子,PC ISA DMA 控制器拥有 8 个 DMA 通道,其中的 7 个通道是可以让 PC 的 CPU 所利用。每一个 DMA 通道有一个 16位元 位址暂存器和一个 16 位元 计数暂存器。要初始化资料传输时,装置驱动程式一起设定 DMA 通道的位址和计数暂存器,以及资料传输的方向,读取或写入。然后指示 DMA 硬件开始这个传输动作。当传输结束的时候,装置就会以中断的方式通知 CPU。
编辑本段传送方式
停止CPU访问内存
当外围设备要求传送一批数据时,由DMA控制器发一个停止信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权。DMA控制器获得 总线控制权以后,开始进行数据传送。在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。在这种DMA传送过程 中,CPU基本处于不工作状态或者说保持状态。 优点:控制简单,它适用于数据传输率很高的设备进行成组传送。 缺点:在DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。这是因为,外围设备传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。
周期挪用
当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。 I/O设备要求DMA传送时可能遇到两种情况: (1)此时CPU不需要访内,如CPU正在执行乘法指令。由于乘法指令执行时间较长,此时I/O访内与CPU访内没有冲突,即I/O设备挪用一二个内存周期对CPU执行程序没有任何影响。 (2)I/O设备要求访内时CPU也要求访内,这就产生了访内冲突,在这种情况下I/O设备访内优先,因为I/O访内有时间要求,前一个I/O数据必须在下一个访内请求到来之前存取完毕。显然,在这种情况下I/O 设备挪用一二个内存周期,意味着CPU延缓了对指令的执行,或者更明确地说,在CPU执行访内指令的过程中插入DMA请求,挪用了一二个内存周期。 与停止CPU访内的DMA方法比较,周期挪用的方法既实现了I/O传送,又较好地发挥了内存和CPU的效率,是一种广泛采用的方法。但是I/O设备每一次周期挪用都有申请总线控制权、建立总线控制权和归还总线控制权的过程,所以传送一个字对内存来说要占用一个周期,但对DMA控制器来说一般要2—5个 内存周期(视逻辑线路的延迟而定)。因此,周期挪用的方法适用于I/O设备读写周期大于内存存储周期的情况。
DMA与CPU交替访内
如果CPU的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使DMA传送和CPU同时发挥最高的效率。假设CPU工作周期为 1.2μs,内存存取周期小于0.6μs,那么一个CPU周期可分为C1和C2两个分周期,其中C1供DMA控制器访内,C2专供CPU访内。 这种方式不需要总线使用权的申请、建立和归还过程,总线使用权是通过C1和C2分时进行的。CPU和DMA控制器各自有自己的访内地址寄存器、数据寄存 器和读/写信号等控制寄存器。在C1周期中,如果DMA控制器有访内请求,可将地址、数据等信号送到总线上。在C2周期中,如CPU有访内请求,同样传送 地址、数据等信号。事实上,对于总线,这是用C1,C2控制的一个多路转换器,这种总线控制权的转移几乎不需要什么时间,所以对DMA传送来讲效率是很高的。 这种传送方式又称为“透明的DMA”方式,其来由是这种DMA传送对CPU来说,如同透明的玻璃一般,没有任何感觉或影响。在透明的DMA方式下工作,CPU既不停止主程序的运行,也不进入等待状态,是一种高效率的工作方式。当然,相应的硬件逻辑也就更加复杂。
I. 请教DMA可以进行哪些外设之间的数据传输
DMA是指外部设备不通过CPU而直接与系统内存交换数据的
接口技术
。这是网络找的定义,应该不会进行外设和外设间的传输吧。
J. 什么是DMA传输方式
即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制版器应权立即把总线控制权再交回给CPU。 一个完整的DMA传输过程必须经过下面的4个步骤。 1.DMA请求 CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。 2.DMA响应 DMA控制器对DMA请求判别优选级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。 3.DMA传输 DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。 4.DMA结束 当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。