在什么情况下CPU直接传输比DMA更快?在什么情况下DMA传输比CPU直接传输更快?

时间:2017-04-16 11:07:28

标签: dma

我对CPU可以比DMA(直接内存访问控制器)更快地直接传输数据的情况有点困惑?反之亦然?

由于

1 个答案:

答案 0 :(得分:0)

1 - CPU比DMA快

  

CPU空闲。除了您的任务之外没有任务正在运行(或者您的任务具有最高优先级并且调度是优先级调度)并且核心中断被禁用(这甚至会停止调度,因为没有计时器滴答中断)。在这种情况下,cpu传输肯定比DMA更快,因为CPU通常比总线(ARM中的AHB)时钟更快,时钟为DMA提供时钟。

2 - DMA比CPU快

  

在正常系统中,总是有少量进程在运行并且启用了中断,这会导致延迟,因为CPU会频繁运行ISR,并且会因调度而跳过进程上下文。