请问,C6678中多个DSP核同时访问DDR3的不同区域(不同核对应着不同数据块,地址不重叠)时,需要使用硬件信号量做仲裁么?
还有就是:同一时间只有一个核能访问DDR3还是多个核能同时对DDR3进行操作?
Canyu Su:
jerry zhang1:
我说说我的理解:
C6678挂载的DDR3的数据位宽是64bits的,而DDR又是通过MSMC模块连接到多核DSP内部总线TeraNet的。对DDR3的访问接口是共用,但是不能够同时访问,会有冲突产生,这个调度机制由MSMC模块实现,当然你也可以通过软件再编程优先级实现优先访问等功能,一般时间延时也不会有太大影响。因为它的机制好像有个类似饥饿等待的,详细的你可以参看MSMC模块的相关文档:http://www.ti.com.cn/cn/lit/ug/spruhj6/spruhj6.pdf。但是我参看的资料我觉得,如果你使用32 位数据访问宽度,这样应该就可以把64位的作为两个32位数据访问,更能避免冲突。
对与不对,真的也不能保证。请你参考,共同学习吧。
jerry zhang1:
回复 Canyu Su:
谢谢Canyu Su的解答,我先去查阅下您提供的资料。