TI的各位老师:
我在TDA4上,用UDMA搞DSP程序的优化,遇到一个问题,关于DMA的并发数量的问题。
TDA4上有2个C66的DSP,那么我让这个两个DSP同时执行各自的任务,两个DSP在执行任务的时候都用到的UDMA,以加速DSP程序的执行。
比如我有同样的一段DSP程序,用UDMA优化后,执行时间是5ms,
我发现如果2个DSP分别用2个独立通道的UDMA,比如DSP1用ch8和ch9,DSP2用ch12和ch13,这个时候2个任务的执行时间是5ms,程序明显是并行的
但是,如果2个DSP分别用4个独立通道的UDAM,比如DSP1用ch8-ch11,DSP2用ch12-ch15,这个时候2个任务的执行时间是10ms,程序明显有串行的迹象
事实上,我通过相关文档看到,UDMA一共16个通道,分成了block copy和DRU,分别对应ch0-ch7和ch8-ch15。每个group内可同时发起8个DMA传输。
我想请教的是:
1)这个block copy和DRU是什么区别?应用上有什么不同?
2)udma的group是什么概念
3)根据上面的介绍,明显是同时8路copy的时候,就已经串行了。这个跟TI的文档有出入,该如何理解呢?