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.

6678多核问题



我在核0开辟的ddr空间,内容置0,赋值,然后把地址用message传给核1,但是在核1读出来的全都是0,求帮助!

补充:在核0赋给message的地址是88000000,在核1读出来的就是0了。求解决!谢谢!

  • 对于多核共享memory,在使能cache时需要维护cache一致性,即core0在向共享memory写完数据后需要write back cache,在CSL中有相应的函数CACHE_wbL2实现这个功能,具体可以查看pdk中相关csl文件csl_cacheAux.h.

  • 谢谢Andy Yin1的热心解答,可我还是有些不太明白。我这是ddr,不是msmc,当然也是各个核都能访问的。cache_wb我理解是把cache里面的数据写回到原来的buffer里面,不知道是不是这样。您说的core0向memory写完数据需要write back cache,不知道是写回到哪个cahce,是core1的cache么?期待您的答复,谢谢!

  • 每个核心的L1或L2都会缓存DDR3或MSMCSRAM的内容,这样如果某一个核心的L1或L2的内容发生了改变,有时并不能立即反映到其他核心的L1或L2里面,这样就需要在主动改变DDR3或MSMCSRAM内容的核心处加入写回操作,而在使用同一内存地址的其他核心处重新读取已经改变的DDR3或MSMCSRAM内存数据。这种情况我们称之为需要维护高速缓存一致性。

  • 非常感谢,我懂了!