1.DMA
DMA(Direct Memory Access,直接存储器访问),是硬件实现存储器与存储器之间或存储器与I/O设备之间直接进行数据传输的内存技术,它允许不同速度的硬件设备(外设到内存、内存到外设、内存到内存、外设到外设)进行沟通,而不需要依靠中央处理器(CPU)的中断负载,从而节省CPU的资源,此外DMA具有一般CPU没有的高效操作,能够提高系统的吞吐率。
如果不用DMA搬运数据,那么CPU就需要从来源把每一片段的数据复制到寄存器中,这一过程一直 占用CPU的资源。当使用DMA时,CPU向DMA控制器发出一个存储传输请求,当DMA控制器接收到请求就 会将数据从源地址搬运到目的地址。在数据搬运过程中不占用CPU资源,CPU可以执行其它操作,当传输完成时DMA以中断的方式通知CPU。
为了发起传输事务,DMA控制器必须得到以下数据:
源地址—数据被读出的地址;
目的地址—数据被写入的地址;
传输长度—被传输的字节数;
什么是传输事务?
事务是由DMA控制器内核发起的一系列一个或多个传输。
2.Scatter-Gather DMA
DMA一次只能传输物理上连续的一个块的数据, 完成传输后发起中断。

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



