gpt4 book ai didi

arm - 在 OMAP 4460 上进行多个 DMA 传输时,CPU 是否被阻塞?

转载 作者:行者123 更新时间:2023-12-02 03:55:02 25 4
gpt4 key购买 nike

我想知道 DMA 在 Pandaboard 中的工作原理。我已经阅读了 Pandaboard 中使用的 OMPA4460 的 TRM,DMA 系统一次可以管理总共 128 个请求,最多 32 个逻辑 channel 和 4 个中断请求。当 DMA 正在进行时,CPU 是否有机会同时执行另一项任务?

最佳答案

but I want to know that when DMA is Working is there any chances to CPU of panda board will be able to do another task at a time ???

DMA 的目的是专门在 I/O 设备和主存之间传输数据。按照设计,这是为了减轻 CPU 执行此传输的负担,这称为编程 I/O。一旦 CPU 设置了 DMA Controller 来执行此数据传输,CPU 就可以自由地执行用于任何其他目的的指令。所以答案是“是的,100% 的机会”。

由于 PandaBoard 的 SoC 有一个多 channel 的 DMA Controller ,因此可以同时执行多个 I/O 操作。性能和吞吐量的限制是内存带宽。请注意,由于指令和数据高速缓存,现代 CPU 倾向于使用较少的内存带宽(或以更突发的方式使用内存)。通常,当 CPU 和 DMA Controller 争用内存时,CPU 会优先访问内存。

请注意,这些特性都不是 PandaBoard 独有的。

关于arm - 在 OMAP 4460 上进行多个 DMA 传输时,CPU 是否被阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13065947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com