你好:
如果DSP1 通过SRIO写 DSP2的 MSM RAM,同时DSP2 的EDMA0正在读写DSP2的 MSM RAM,
1. 这样会导致EDMA0或者是SRIO传输速度的下降吗? 因为MSM RAM只有一条256bit总线,不可能同时EDMA和SRIO访问, 如果访问的话,整个带宽应该会下降吧?
2.如果想实现这种方式的访问,该如何才能达到一个比较好的效果?
多谢!
Adam Yao94020:
你好,
传输速度是否下降要看SRIO,EDMA访问的总带宽和MSMC支持总带宽之间的关系,还有二者的读写能否错开,一般MSMC是可以同时支持读写的。
如果SRIO或者EDMA某个的流量不能满足你的需求,可以通过DSP上的带宽管理模块来调整,带宽管理可以设置每一个master访问的优先级,可以通过将重要性高的访问设置一个高的优先级来保证他的带宽。
si cheng:
回复 Adam Yao94020:
你好:
1.我希望 EDMA 和SRIO 可以 同时并行读写MSM RAM, 同时希望在并行访问MSM RAM情况下, EDMA和SRIO的传输速度和单独使用它们读写MSM RAM的传输带宽一样, 不知道这样能否实现? 有什么好点的解决访问?
2.我做过实验,将8个核做FFT数据都放在MSM RAM,然后8个核同时做FFT运算,和将8个核的数据分别存放在每个核的L2内部, 第一种情况消耗时间是第二种情况消耗时间6倍左右, 这说明8个核同时去 访问MSM RAM 时,核之间会去竞争MSM RAM总线,导致访问速度比较慢. 如果是EDMA 和SRIO 同时去访问 MSM RAM,是不是也会出现这种情况?
多谢!
si cheng:
回复 Andy Yin1:
Andy Yin 你好:
共享RAM 的4个bank是交错的,bank0 地址:0x0-0x39, bank1 地址:0x40- 0x79….
但是EDMA和 SRIO 读写 共享RAM 的区域都是连续访问一大块区域,所以EDMA读写共享RAM的时候 会用到 共享RAM的 4个bank,同时SRIO读写共享RAM的时候也会用到共享RAM的4个bank,所以,这样就导致了SRIO 和EDMA同时读写共享RAM的时候不可能真正的同时访问,肯定有一方处于等待。
不知道我理解的是否正确! 如果如我所说,那么8个corepac取读取共享RAM的数据时,corepac会成为一个瓶颈!
多谢!
hobo Q:
楼主您好~我们用FPGA通过SRIO往6678的MSM中写数据,同时8个核都从MSM中读数据,SRIO就断开了,不知道您遇到过这种情况吗??希望能交流一下,谢谢~
Mark:
回复 si cheng:
你好,我现在也想通过SRIO向共享内存写数,然后8个核去处理这些数据,不知道怎么避免这个冲突,你能给些建议吗,谢谢!