`
MauerSu
  • 浏览: 492997 次
  • 性别: 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允许外设直接访问内存,从而形成对总线的独占。
这在实时性强的硬实时系统的嵌入式开发中将会造成中断延时过长。这在军事等系统中是不允许的。
分享到:
评论

相关推荐

    dma技术的工作原理分析

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

    stm32 adc采样dma方式定时器详情讲解实现完整步骤.doc

    DMA是“直接存储器访问”(Direct Memory Access)的缩写。DMA使用专门的控制器,把CPU从数据传输过程中解放出来,让CPU可以集中处理程序的逻辑。DMA数据传输模式分为两种: 抢占模式:每次DMA传输时都会占用总线,...

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

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

    直接存储器访问

    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模块,...

    软件评测师试卷考点

     Direct Memory Access【存储器直接访问】。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU...

    stm32教程-DMA-为CPU减负.rar

    DMA (Direct Memory Access),直接存储器存取,是一种可以大大减轻 CPU 工作量的数据存取方式,因而被广泛地使用。早在 8086 的应用中,就已 经有 Intel 的 8237 这种典型的 DMA 控制器。而 STM32 的 DMA 则是以...

    基于DMA的DSP_Cache优化.pdf

    本文以 TI C6000 系列芯片为例 ,从分析它的 Cache 结构出发 ,利用直接存 储器存取 DMA (Direct Memory Access) 设计了一种双缓冲区结构 ,以减少片内、外存储器之间数据交换的时间 ,并针对高斯滤波函数加以实 现。...

    USART_DMA.rar

    DMA,全称为: Direct Memory Access,即直接存储器访问。 DMA 传输方式无需 CPU 直接 控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备 开辟一条直接传送数据的通路, 能...

    stm32串口1DMA接发.rar

    DMA,全称为: Direct Memory Access,即直接存储器访问。 DMA 传输方式无需 CPU 直接 控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备 开辟一条直接传送数据的通路, 能使 ...

    嵌入式系统/ARM技术中的基于DMA控制器的SoC系统设计

     DMA(Direct Memory Access,直接存储器存取)是一种快速传送数据的机制。DMA控制器能够有效替代微处理器的加载/存储指令,显着提高系统的并行能力。DMA是在存储器与输入/输出设备间直接传送数据,是一种完全由硬件...

    基于DMA控制器的SoC系统设计

     DMA(Direct Memory Access,直接存储器存取)是一种快速传送数据的机制。DMA控制器能够有效替代微处理器的加载/存储指令,显着提高系统的并行能力。DMA是在存储器与输入/输出设备间直接传送数据,是一种完全由硬件...

    可提高系统响应速度的DMA控制器SoC系统架构

    DMA(Direct Memory Access,直接存储器存取)是一种快速传送数据的机制。DMA控制器能够有效替代微处理器的加载/存储指令,显著提高系统的并行能力。DMA是在存储器与输入/输出设备间直接传送数据,是一种完全由硬件...

    Linux系统中PCI设备DMA数据传输的实现 (2012年)

    将传统数据传输方式与存储器直接存取(direct memory access,DMA)数据传输方式进行了对比分析,结合外设组件互连标准(peripheral component interconnection,PCI)总线的特点,以嵌入式Linux系统为平台,重点...

    嵌入式学习--step4 STM32F4总线架构

    一、STM32F4总线架构 DMA(Direct Memory Access,直接内存存取) 八条主控总线是: Cortex-M4 内核I总线,D总线和S总线; DMA1存储器总线,DMA2存储器总线; DMA2外设总线; 以太网DMA总线; USB OTG HS DMA...

    单片机与DSP中的Blackfin533的DMA技术及其在图像处理中的应用

    直接存储器存取(Direct Memory Access,简称DMA对计算机系统是非常重要的。它可以使CPU在运行指令的同时从外部存储器或设备中存取数据,也可以在CPU不参与的情况下,由专用的DMA...

    一种提高系统响应速度的SoC系统架构

    摘要:介绍了一种基于DMA控制器的SoC系统架构,解决因使用DMA控制器而导致的...DMA(Direct Memory Access,直接存储器存取)是一种快速传送数据的机制。DMA控制器能够有效替代微处理器的加载/存储指令,显著提高系统

Global site tag (gtag.js) - Google Analytics