This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

多核并行使用EDMA问题,请教!



我发现最近大家都很关心EDMA并行使用,我也在测试,我来提几个问题。

1。三个EDMA控制器只有主频和同步事件不同吗,他们各自的主频是多少?

2。6678有三个EDMA控制器,其中EDMA0有两个event queue  两个 TC  ,EDMA1和2  分别有四个event queue 和四个TC,那么,如果我想多核同时并行使用EDMA并使效率最高,我该怎么映射。

   比如4个核同时传输,想同时提交到TC并搬移,那么是否需要分别映射到某一个EMDA控制器的四个EVENT QUEUE上,这样这四个传输请求才可以同时传输给四个不同的TC。

  如果 8个核同时传输,是否要使用EDMA1的EVENT QUEUE 0~ 3     再加上EDMA2 的EVENT QUEUE 0~ 3      这样8个EDMA任务才算是并行传输

3. 如果多个EDMA CHANNEL  映射到同一个 EVENT QUEUE 了,那么多个CHANEL同时被触发时,他们执行时是不是串行的?

4. 想提高多核并行使用EDMA的效率,还有哪些方面值得注意。

  • 您好,

    1. EDMA3CC0的工作主频是1/2 CPU, 其他两个是1/3CPU,差异在于工作主频及所包含的channel数;

    2. EDMA的每个TCC可以并行工作,所以你的想法是正确的,可以尽量将不同的任务并行分配到不同TCC,从而使其并行效率达到最优;

    3. 每个channel的事件在Event Queue中排队,所以是串行的;

    4. 你上述提到的将不同的任务并行分配到不同的TCC是可以提供并行性,同时影响效率的因素还有:源和目的地址,Acnt的值尽量满足EDMA传输总线的整数倍。

  • HI,Andy!

    谢谢你的回复。

    EDMA3CC0的工作主频是1/2 CPU, 其他两个是1/3CPU

    这样的话,我应该怎么计算传输时间呢,比如我程序测试出来的EDMA0  的 IPR相应位置位是50000个TSL时钟周期

    那么该块数据传输时间  是    50000  x   1/1G    秒    还是   50000  x   1/1G  x   2  秒。   (比如1G主频)

    另外,如果我多核同时去读写某个EDMA的控制寄存器   比如  ESR  IPR  IPCR  需不需要用硬件信号量