您的位置 首页 汽车

什么是DMA

什么是DMA当我们向计算机中加入了一块新的声卡或其它适配卡时,安装程序可能会提醒我们应该选择一个DMA通道。那DMA是什么呢? DMA(Direct Memory Access)

什么是DMA

当咱们向核算机中加入了一块新的声卡或其它适配卡时,装置程序可能会提示咱们应该挑选一个DMA通道。那DMA是什么呢? DMA(Direct Memory Access) ,即直接存储器存取,是一种快速传送数据的机制。数据传递能够从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。DMA技能的重要性在于,运用它进行数据传送时不需求CPU的参加。每台电脑主机板上都有DMA操控器,一般核算机对其编程,并用一个适配器上的ROM(如软盘驱动操控器上的ROM)来贮存程序,这些程序操控DMA传送数据。一旦操控器初始化完结,数据开端传送,DMA就能够脱离CPU,独立完结数据传送。

在DMA传送开端的时间短时间内,根本上有两个处理器为它作业,一个履行程序代码,一个传送数据。运用DMA传送数据的另一个优点是,数据直接在源地址和意图地址之间传送,不需求中心前言。假如经过CPU把一个字节从适配卡传送至内存,需求两步操作。首要,CPU把这个字节从适配卡读到内部寄存器中,然后再从寄存器传送到内存的恰当地址。DMA操控器将这些操作简化为一步,它操作总线上的操控信号,使写字节一次完结。这样大大提高了核算机运转速度和作业效率。

核算机发展到今日,DMA已不再用于内存到内存的数据传送,因为CPU速度非常快,做这件事,比用DMA操控还要快,但要在适配卡和内存之间传送数据,依然对错DMA莫属。要从适配卡到内存传送数据,DMA一起触发从适配卡读数据总线(即I/O读操作)和向内存写数据的总线。激活I/O读操作便是让适配卡把一个数据单位(一般是一个字节或一个字)放到PC数据总线上,因为此刻内存写总线也被激活,数据就被一起从PC总线上拷贝到内存中。

关于每一次写操作,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的缺省分配情况。通道 功用 通道 功用 O 闲暇 4 用于级联DMA操控器 1 闲暇 5 闲暇 2 软盘 6 闲暇3 闲暇 7 闲暇从中能够看出,DMA通道2和4已被占用,在大多数微机上,通道1、3、5、6和7可由你恣意分配。咱们平常最好对自己的核算机上DMA通道的分配情况记录下来,避免咱们向核算机添加新硬件时呈现两个适配卡共用一个通道,导致抵触。

DMA—Direct Memory Access,直接内存拜访,是一种数据传输形式。DMA方法下因为不直接拜访核算机的CPU,而直接在RAM与设备之间传输,因此大大提高了数据传输速度

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/322260.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部