返回
首页>资讯

DMA传输数据的速度由什么决定

时间: 2023-04-11 21:32:32

DMA传输数据的速度由什么决定

DMA是一种无需CPU的参加就可以让外设与系统内存之间进行双向数据传输的硬件机制。它可以使系统CPU从实际的数据传输过程中摆脱出来,大大提高系统的吞吐率,并且在传输期间,CPU还可以并发执行其他任务。DMA一般采用串口传输数据,其传输速度的影响因素很多,例如:

1、传输的距离;

2、硬件的性能;

3、传输的协议等等。

有关微机原理的几道判断题与选择题,希望大家可以为我解惑

1. cpu传送数据给D/A转换器,一般采用_____传送方式。
A.中断 B.查询 C.DMA D.无条件
DMA方式啦。
2. 指令ADD BX,DATA[BX+SI]操作数是在_____中。
A 操作码 B 堆栈段 C 代码段 D 寄存器bx
这个我都没见过这种指令啊,又不象伪指令又不象间接寻址的
3 指令 XOR BX,[BX+SI]的操作码是在______中。
没有悬念的是ds段BX+SI内容之和的所指的内存单元中
1 cpu与A/D转换器进行接口,采用中断方式进行接口比采用无条件传送方式接口工作效率高
无条件的是没有查询步骤直接传送。中段更智能一些,由外设通过接口向CPU发出中断。正确
2 中断向量的选择通常是根据中断优先权来决定
错 中断向量的选择是根据中断类型码
3 ram与cpu连接,主要考虑的是地址线与数据线怎么连接
RAM是个容量大,速度比较快(比不上CACHE)的内存的一部分,
4 立即寻址的操作数一定放在代码段中,而直接寻址方式的操作数一定放在数据段中
立即数寻址的操作数是直接给出的.积存器寻址操作数在CPU中,直接和积存器间接寻址都是在内存中的.
5 cpu采用中断方式比采用无条件传送方式工作效率高
中断方式,CPU不必查询等待,工作效率高
6 通过d/a转换器可以输出任意的信号波形
通过延迟和增权可以实现!相当于坐标一般.延迟是横坐标.权的增加是纵坐标
7 通过a/d转换器采集数据的快慢主要由cpu的I/O方式决定
时钟脉冲
8 用字长为16位的寄存器存放带符号数,机器数的最大值和最小值分别为7FFFH和8000H
应该是7FFFH~FFFFH
9 一个中断服务系统,如果主程序的中间结果需要现场保护,则可以在中断服务程序外保护,也可在中 断服务内保护
10 8088cpu在响应内部中断时,须先发出中断相应回答信号,在根据获得的中断矢量转入相应的服务程序
11 从硬件角度而言,采用硬件最少的数据传送方式是无条件传送方式
是的.以程序传诵方式以程序的优先级别代替了硬件的 优先级别.

12 DMA方式的I/O操作与程序查询方式和中断控制方式相比,用硬件控制代替了软件操作,且无须cpu传输数据,因此数据传送速度明显提高.
直接通过总线传送数据.
13 在立即寻址方式的指令中,其操作数一般放在数据段中
错 前面有说
14 在一个计算机系统中,当随机存储器的容量较小时一般使用静态存储器,较大时采用动态存储器
是结合使用的.SRAM 不需要刷新.DRAM要刷新.SRAM速度快,构成高速缓存的告诉CACHE模块.而DRAM构成主存!

解释什么是DMA

DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
中文名
直接存储器访问
外文名
Direct Memory Access
缩写
DMA
功能
不同速度的硬件装置来沟通
原理
DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统算法和网络是很重要的。
在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。
DMA
请求
CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。
响应
DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。
传输
DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。
在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。开始时需提供要传送的数据的起始位置和数据长度。
结束
当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。
由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。

DMA通道的重要性

DMA技术的重要性在于,利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM)来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。 在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。 对于每一次写操作,DMA控制器都控制地址总线,通知应将数据写到哪段内存中去。 DMA控制数据从内存传送到适配卡的方法与上面类似。对每一个要传送的单位数据,DMA控制器激活读内存和I/O写操作的总线。内存地址被放到地址总线上,像从适配卡到内存传送数据一样,以数据总线为通道,数据从源地址直接传送到目的地址。 DMA从DMA请求线(DREQ)上接收DMA请求,正像中断控制器从中断请求线(IRQ)上接收中断请求一样。 一个典型的从适配卡到内存的数据传送是这样进行的,首先,对DMA控制器编程,写入数据要到达的内存地址和要传送的字节数。适配器可以开始传送数据时,它将激活DREQ线,与DMA控制器连通。DMA控制器在与CPU取得总线控制权后,输出内存地址,发送控制信号,使得一个字节或一个字从适配器读出并写入相应内存中,然后更新内存地址,指向下一个字节(或字)要写入的地址,重复上面的操作,直至数据传送完毕。对控制器进行不同编程,就可以实现单字节传送(即每传送一个字节都要求一个DREQ信号)或块数据传送(即全部数据传送只需要一个DREQ信号)。 如果你要往计算机中插一块适配卡,而且适配卡使用DMA,通常安装程序会让你选择一个DMA通道,设定DIP开关或跳线,来为相应适配器设置DMA通道。尽管从理论上讲,只要不是同时使用DREQ线,不同的适配卡可以共享这条线的,但是按常规,我们最好为每个适配卡单独安排一个DMA通道,这样就可以保证不会发生DMA冲突,DMA方式下由于不直接访问计算机的CPU,而直接在RAM与设备之间传输,因而大大提高了数据传输速度。

声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:daokedao3713@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

猜你喜欢

本站内容仅供参考,不作为诊断及医疗依据,如有医疗需求,请务必前往正规医院就诊
祝由网所有文章及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。
如本站内容有侵犯您的合法权益,请和我们取得联系,我们将立即改正或删除。
Copyright © 2022-2023 祝由师网 版权所有

邮箱:daokedao3713@qq.com

备案号:鲁ICP备2022001955号-4

网站地图