需要DMA数据传输

微型计算机系统基本上由三个模块组成

  • 微处理器

  • 诸如EPROM和RAM之类的微处理器的存储器以及

  • 连接它们的I / O端口。

可能的数据传输如下所示。

  • 在存储器和微处理器之间,通过使用LDA和STA指令进行数据传输。

  • 在微处理器和I / O端口之间,借助两个指令IN和OUT也可以进行数据传输。

  • 通过DMA数据传输,数据在输入输出端口和存储器之间传输。

如果用于从内存位置读取的数据传输为3456H,然后写入输出端口号为50H,则仅使用LDA 3456H指令从内存位置3456H读取需要13个时钟,而写入输出端口号需要十个时钟50小时 因此,总共23个时钟。如果处理器以3-MHz的内部频率工作且时钟周期为0.33μs,则外部工作所需的时间为7.66μs。通过使用程序数据传输方案,将输入端口40H读写到存储位置输入端口2345H

如果我们使用DMA数据传输从内存位置3456H读取并写入输出端口号50H,则仅需要四个时钟,结果只需要1.33μs的时间。诸如硬盘和软盘之类的某些设备可以以非常快的速度执行数据传输。当数据传输速率在一秒钟内变为54K字节(即每字节约19μs)时,一张1.44 MB的软盘存储器可以以360 rpm的速度旋转,每个磁道有18个扇区,可以存储多达512个字节的存储器。硬盘可以轻松地以至少十倍的速度传输数据。因此,结果为每字节1.9μs。这是DMA数据传输变为强制性的情况。在每个字节需要7.66μs的编程数据传输过程中,硬盘中只有4个字节在同一时间重复出现。

为了获得诸如平均值,最大值和最小值之类的统计信息,我们使用了模数转换器。使用编程的数据传输方案,需要1,000×7.66 =7,660μs的处理器时间。但是令人惊讶的是,使用DMA数据传输方案仅需要1,000×1.33 =1,330μs的时间。因此,当通过微处理器路由每个字节在内存和I / O端口之间传输大量数据时,这会花费大量时间,因此可以在更短的时间内完成工作,可以直接访问I / O端口。用于数据传输的内存。此方案称为DMA数据传输。

以上是 需要DMA数据传输 的全部内容, 来源链接: utcz.com/z/362081.html

回到顶部