`
MauerSu
  • 浏览: 513387 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

DMA Direct Memory Access(存储器直接访问)

    博客分类:
  • J2SE
 
阅读更多
源:http://baike.baidu.com/link?url=d_MWvdW3T1BlYW-oPqOEjYF8B1hf_3RZqDXUcBKJz9y5tGfum10xpn4zQXqLyCBQxfntLqzMp_ppHTmuRHljE5Ntfj_yMO3A0R83V1NQtgC
评:
DMA = Direct To Market

Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高[1] 。
DMA的概念:DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有三种方式:
◎停止CPU访内 ◎周期挪用方式 ◎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允许外设直接访问内存,从而形成对总线的独占。
这在实时性强的硬实时系统的嵌入式开发中将会造成中断延时过长。这在军事等系统中是不允许的。
分享到:
评论

相关推荐

    STM32-DMA(存储器到存储器传输数据)

    DMA(Direct Memory Access,直接存储器访问)是一种硬件技术,允许外部设备如串行接口、定时器或ADC等直接与内存交换数据,而不需要CPU的干预。在STM32中,DMA控制器有多个通道,每个通道可独立配置并处理不同的...

    22-DMA—直接存储器访问_dma驱动开发_dma程序_

    直接存储器访问(DMA,Direct Memory Access)是一种在微处理器之外进行数据传输的技术,它允许外部设备如硬盘、网络接口卡或串行通信接口等直接读取或写入内存,而无需CPU介入。这种方式可以极大地提高系统数据传输...

    22-DMA—直接存储器访问_stm32_STM32储存_unitcdn_

    直接存储器访问(DMA,Direct Memory Access)是嵌入式系统,尤其是STM32微控制器中一种高效的数据传输机制。它允许外部设备如串行接口、ADC或SPI直接与存储器进行数据交换,而不通过CPU,从而减轻了CPU负担并提高了...

    基于总线AXI4的几种DMA

    DMA(Direct Memory Access)是一种快速传输数据的机制,数据存取不需要经过处理器的干预,直接在源地址和目的地址之间进行快速传输,从而提高数据的传输速率。DMA是嵌入式微处理器系统中普遍采用的能够有效减轻...

    stm32F407ZGT6 DMA—直接存储器访问 代码实现

    在许多实时性要求较高的应用中,DMA(Direct Memory Access,直接存储器访问)技术扮演了关键角色,它允许数据在没有CPU参与的情况下在内存和外设之间高速传输。本篇文章将详细介绍STM32F407ZGT6如何通过编程实现DMA...

    TMS320x2833x TMS320x2823x Direct Memory Access(DMA) MODE-中文翻译

    TMS320x2833x 和 TMS320x2823x 是德州仪器(TI)推出的高性能数字信号处理器(DSP),它们内置了直接内存访问(DMA)模块,以提高数据传输效率并减轻CPU的负担。DMA是一种允许外设独立于CPU直接读写内存的技术,这...

    DMA.rar_dma_memory

    直接存储器访问(Direct Memory Access,DMA)是计算机系统中一种重要的数据传输方式,它允许外部设备如硬盘、网络接口卡、显卡等硬件直接与内存进行数据交换,而无需通过CPU作为中介。这种方式可以显著提高数据传输...

    DMA.rar_direct_dma_dma controller_dma控制器_memory

    直接存储器访问(Direct Memory Access,DMA)是一种计算机硬件技术,允许外部设备如磁盘驱动器、网络接口卡等直接与内存交换数据,而无需CPU的干预。这种技术在提高系统性能方面起着重要作用,因为它减少了CPU处理...

    STM32F系列技术培训 直接存储器访问 DMA

    直接存储器访问(Direct Memory Access,简称DMA)是一种高效的数据传输方式,它允许数据在外设与内存之间直接进行传输,而无需CPU干预。这种方式可以显著降低CPU的负载,提高系统的整体性能。 #### 二、STM32F系列...

    stm32_DMA_存储器到外设传输.rar

    在STM32中,DMA(Direct Memory Access,直接存储器访问)是一种高效的数据传输机制,可以减轻CPU负担,提高系统性能。本文将深入探讨STM32中的DMA存储器到外设传输,以及如何在Keil开发环境中进行配置和使用。 ...

    dma技术的工作原理分析

    DMA技术是Direct Memory Access的缩写。其意思是“存储器直接访问”。它是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。 DMA是指外部设备不通过CPU而直接与...

    基于OMAP5912的开发应用实例.ppt

    直接存储器访问控制器(DMA):直接存储器访问控制器(Direct Memory Access,DMA)可以在没有MPU(微处理器)干预的情况下实现存储空间中不同位置间的数据传递。这种数据传递的数据源和数据目的地可以是片内存储器...

    DMA.rar_LPC17XX_lpc17 dma_memory

    直接存储器访问(Direct Memory Access, DMA)是嵌入式系统和计算机硬件中的一种技术,允许外围设备直接与内存交换数据,而无需CPU的介入。在LPC17xx系列微控制器中,DMA控制器是一个非常重要的特性,它提高了系统的...

    xilinx-axidma 驱动模块 petalinux2020

    AXI Direct Memory Access (DMA)是Xilinx FPGA设计中的一个重要组件,它允许数据在没有CPU干预的情况下高效地在存储器和外设之间传输。在嵌入式系统中,这种低延迟、高性能的数据传输机制对于处理大量数据流的应用至...

    DMA.rar_dma_keil_memory

    在IT领域,DMA(Direct Memory Access,直接存储器访问)是一种高效的数据传输技术,它允许外部设备如硬盘、网络接口卡等直接与内存交换数据,而无需CPU的介入。这大大提高了系统的吞吐量,因为在DMA操作期间,CPU...

    访问SRAM存储器_存储器_访问SRAM存储器_stm32sram_

    5. **DMA传输**:STM32的DMA(Direct Memory Access)功能可以直接在SRAM和其他外设之间传输数据,减轻CPU负担。通过配置DMA控制器,可以设置数据源、目标地址以及传输数量等参数。 6. **库函数支持**:对于使用HAL...

    DMA—存储器到外设模式.zip

    在嵌入式系统开发中,DMA(Direct Memory Access,直接内存访问)是一种高效的数据传输机制,它可以绕过CPU,直接将数据从存储器传输到外设或者从外设传输到存储器。在这个“DMA—存储器到外设模式.zip”压缩包中,...

    直接存储器访问

    DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从把每一片段的资料复制到暂存器,然后把它们再次写回到...

    2010年下半年软件设计师试题及答案

    DMA可以实现设备和内存之间直接交换数据,Direct Memory Access 直接存储器访问。 2.答案:C 127+1=01111111+00000001=10000000,其实是前几年的考点,运算后符号位与之前的值做异或运算,如果为1则为溢出。 3....

    DMA.rar_MSP430f16x DMA

    直接存储器存取(DMADirect Memory Access)方式是用硬件实现存储器与存储器之间或存储器与I\O设备之间直接进行高速数据传送,不需要CPU的干预。这种方式通常用来传送数据块。MSP430f16x系列单片机内部含有DMA模块,...

Global site tag (gtag.js) - Google Analytics