一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤,CPU要把总线控制权交给DMA控制器,◎主存地址寄存器 ◎数据数量计数器 ◎dma的控制/状态逻辑 ◎dma请求触发器 ◎数据缓冲寄存器,向CPU发DMA请求

本文目录:
  • 南京国兆光电浅谈PCIe传输和DMA传输的区别
  • 解释什么是DMA
  • 什么是dma通道和dma有何区别
  • 什麽是硬盘的DMA模式
  • 问题一:、南京国兆光电浅谈PCIe传输和DMA传输的区别

    回答:

    国兆光电 浅谈 PCIe传输和DMA传输 的区别

    PCIe本质上是一种高速IO,而DMA(directmemoryaccess)其主要功能是做大规模的数据处理。

    PCIe协议、数据包格式、时钟比、电压规范、不同PCIe理论上,设备可以相互通信,DMA没有绝对标准化的接口协议,大多数公司DMA一般对接私有总线,所以一般都是对接的DMA一般集成在电影中。

    综上所述,PCIe的input/output,基本都对接IO,而DMA的input/output,对应的就像noc片内总线之类的。

    上面说的是PCIe和DMA区别,下面 国兆光电 对它们进一步抽象,把它们的实现细节全部挂起来,最后会发现,PCIe相应的是具有完整规定性的总线协议,DMA相应的其实只是一个功能本身,也就是说,DirectMemoryAccess,此外,没有给出更多的规定。

    回到问题本身,仅从数据传输的结果来看,两者没有区别,DMA能做的,PCIe可以做到。但是,如果从效率的角度来看,DMA效率无疑远高于PCIe。

    首先,访问devicememory为例,pcie作为master发起了,将memoryA中的数据copy到memoryB访问,需要copy的data大约是1GB,需要读出A中的数据,然后写入B中。假设pcie一次阅读访问returndata最多是4KB(具体多少我不记得了...),读请求从IO进入,经noc,到cache,如果cachemiss,则再进入memorycontroller(总读数据量太大,肯定会去。memory,不想逃),经ddr,到达dram,读取数据,然后一路返回,这样的过程重复2.5万次...然后以类似的过程开始写请求,但是pcie的writetlp是posted所以,没必要等response,理论上会快很多。但是,在这个过程中,你的pcie总线可是被memory全程占用访问工作!

    接下来我们来看看电影dma,访问由dma启动,直接通过内部总线,到达内部总线,cache,到memorycontroller(如果cachemiss的话),到ddr和dram,然后!不需要等到一切readreturn全部回来,只要有数据返回,dma它将直接写入目标地址(路径同上),整个过程bubble很小,带宽利用率很高。而且一般电影里会有多个,dma!可以同时做这种数据处理工作!同时,dma访问直接在电影中发起,省去了从IO到noc这一段的pathdelay,这种阅读和写作的效果更明显(当然是在outstanding读写,这一段pathdelay可能影响不大)。别以为pcie速度有多快(gen5能到32GT/s),IO不管速度有多快,与电影中的大型并行总线相比,它仍然只是一个弟弟。关键是这个时候,关键是这个时候,pcie可以更加注重系统管理的任务(而不是琐碎的存储操作),大大提高了整个系统的运行效率。

    最后,很多pciecontroller它本身也包dma功能(host和device做memory交互很常见),比简单使用更常见)pcie发读TLP+写TLP方法真的要高效得多。外科专业,pcie它非常强大,主要强于通用性、兼容性和背靠背靠背x86庞大的生态系统,但在许多特殊场景中,效率并不高。

    问题二:解释什么是DMA

    回答:

    解释什么是DMADMA(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有何区别

    回答:

    什么是dma,通道和dma有何区别如果你的机子变得很慢,甚至连播放影片都有卡声音的现象,又差不出任何病毒,怎么回事?很可能是你的机子的硬盘的DMA模式变成了PIO模式了。

    硬盘的DMA模式大家应该都知道吧,硬盘的PATA模式有DMA33、DMA66、DMA100和DMA133,最新的SATA-150都出来了!一般来说现在大多数人用的还是PATA模式的硬盘,硬盘使用DMA模式相比以前的PIO模式传输的速度要快2~8倍。DMA模式的起用对系统的性能起到了实质的作用。以前有很多文章介绍过如何打开DMA模式,我在这里也就不多说了。

    但笔者发现一个新的“问题”——Windows2000、XP、2003系统有时会自行关闭硬盘的DMA模式,自动改用PIO模式运行!这就造成在使用以上系统中硬盘性能突然下降,其中最明显的现象有:系统起动速度明显变慢,一般来说正常WindowsXP系统启动时那个由左向右运动的滑条最多走2~4次系统就能启动,但这一问题发生时可能会走5~8次或更多!而且在运行系统时进行硬盘操作时明显感觉变慢,在运行一些大的软件时CPU占用率时常达到100%而产生停顿,玩一些大型3D游戏时(比如极品飞车6)画面时有明显停顿(很多人这时以为是自己的显卡问题,当然如果你使用的是三年前的显卡玩这些游戏是有点老了,但如果你用的是今年才买的GF显卡那就不是它的问题了),出现以上问题时大家最好看看自己硬盘的DMA模式是不是被Windows系统自行关闭了。查看自己的系统是否打开DMA模式:

    问题四:什麽是硬盘的DMA模式

    回答:

    很老的问题了。现在新硬盘都没有这种模式了。
    DMA的英文拼写是“Direct Memory Access”,是一种不经过CPU而直接从内存了存取数据的数据交换模式。PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。DMA模式与PIO模式的区别就在于,DMA模式不过分依赖CPU,可以大大节省系统资源,二者在传输速度上的差异并不十分明显。DMA模式又可以分为Single- Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。

    老硬盘是PATA接口,有DMA这种传输模式
    现在的硬盘是SATA接口,使用的是SATA3.0传输模式dma是直接内存访问 directmemoryaccess(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过cpu,也不需要cpu干预。整个数据传输操作在一个称为"dma控制器"的控制下进行的。cpu除了在数据传输开始和结束时做一点处理外,在传输过程中cpu可以进行其他的工作。这样,在大部分时间里,cpu和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。 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发中断请求. dma技术的弊端: 因为dma允许外设直接访问内存,从而形成对总线的独占。 这在实时性强的硬实时系统的嵌入式开发中将会造成中断延时过长。这在军事等系统中是不允许的

    问题五:DMA是启什么作用

    回答:

    简单地说是:控制是硬盘内部的控制读写,这样有利于减轻CPU负担,加快读取速度

    复杂点,专业点:
    Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。

    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发中断请求.

    DMA技术的弊端:
    因为DMA允许外设直接访问内存,从而形成对总线的独占。
    这在实时性强的硬实时系统的嵌入式开发中将会造成中断延时过长。这在军事等系统中是不允许的。你好!

    就是为了减少cpu对io的干预而引入的直接存储器的访问方式,其数据传输以为数据块为单位。以前的终端驱动io控制方式只是以字节为单位的,效率低

    如有疑问,请追问。

    问题六:股市中DMA指标是什么意思

    回答:

    DMA是一种技术分析指标,称之为“平均线差”指标,它由两条线组成,一条线是DDD,另一条线是AMA,前者是由时间区间相对短一些的连续均值形成,后者是由时间区间相对长一些的连续均值形成。它的运行轨迹可以表明股价波动的变化与趋势。

    关于《{title}》拓展知识
    知识一:在BIOS中什么是DMA功能

    答:

    在BIOS中什么是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发中断请求.
    参考资料:/qiu/dag/#/qiu/dag/5/5_2/xxxx

    知识二:{title8}

    答:{content8}

    本文版权归趣快排SEO www.SeogurUblog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ▶61910465