我想知道DMA在Pandaboard中到底是如何工作的。我已经阅读了OMPA4460的TRM,它在Pandaboard中使用,DMA系统一次可以管理总共128个请求,最多32个逻辑通道,以及4个中断请求。当DMA正在进行时,CPU是否有可能一次执行另一个任务?
发布于 2012-10-26 09:49:23
,但我想知道当DMA工作时,panda board的CPU有没有机会一次做另一个任务?
DMA的目的是专门在I/O设备和主存储器之间传输数据。通过设计,这旨在使CPU不必执行这种传输,即所谓的编程I/O。一旦CPU设置了DMA控制器来执行这种数据传输,CPU就可以出于任何其他目的自由地执行指令。所以答案是“是的,100%的可能性”。
由于PandaBoard的SoC有一个具有多个通道的直接存储器存取控制器,因此可以同时执行几个I/O操作。请注意,由于指令和数据缓存的存在,现代CPU倾向于使用较少的内存带宽(或以更快的方式使用内存)。通常,当CPU和DMA控制器都争用内存时,CPU被给予对内存的优先访问权限。
https://stackoverflow.com/questions/13065947
复制相似问题