赞
踩
DMA(Direct Memory Access)是计算机系统中除了CPU之外可以主动访问计算机系统内存的硬件部件,DMA的主要功能搬移内存数据而不用通过CPU核。
有些CPU会设计通用DMA设备给各外设使用,例如嵌入式CPU的一些低速外设,自身没有设计DMA,为了数据传输的高效,则需要借用通用DMA设备。
对于大多数的高速外设,因其业务特性,是会自己实现相应的DMA组件的,以追求业务最佳性能。
针对通用DMA设备,Linux系统中提供了统一的DMA驱动框架——DMA子系统。
DMA从不同的角度可以进行不同的分类:
2.1 DMA mapping方式分类
从DMA mapping方式可以分为2类:
Coherent DMA(一致性DMA)
Coherent DMA访问内存地址时不过cache,是cache-coherence设备,采用Consistent mapping的API进行内存申请;
Streaming DMA(流式DMA)
Streaming DMA在访问内存地址时经过cache,是non-coherence设备,通常采用streaming mapping的API进行内存申请,在单次DMA传输时进行map,在传输完成后
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。