关于多核DSP C6678共享存储器问题的理解

2019-08-02 14:28发布

MSMC默认配置为L2,根据用户需要能配置成L3。由于配置为L3只是做了地址映射,所以物理上的访问时间应该还是一个数量级的,相差不大。这里的L2 和L3的区别应该是指L2只能被L1D和L1P Cache, L3能被L2、L1D和L1P Cache。一般来说,默认使用L2的配置。用户根据自己的应用来决定是否配置为L3。最常见的需要设置MSMC为L3的场景为:需要MSMC内存为 non-cacheable,需要将MSMC设置为L3 RAM。

       C6678的MSMC负责处理系统中所有的master(包括8个核,以及SMS和SES接口)对MSMC SRAM和DDR3的访问请求。4M字节的MSMC SRAM有4个bank,这些bank是独立的slave,也就是说,如果两个master在同一个clock访问两个不同的bank,则两个访问可以同 时完成。如果多个master在同一个clock访问同一个bank,则由MSMC内的仲裁逻辑按优先级处理。

       DDR3只有一个slave端口,如果多个 master在同一个clock访问它,也由MSMC内的仲裁逻辑按优先级处理。MSMC默认配置为L2,根据用户需要能配置成L3。由于配置为L3只是 做了地址映射,所以物理上的访问时间应该还是一个数量级的,相差不大。这里的L2和L3的区别应该是指L2只能被L1D和L1P Cache, L3能被L2、L1D和L1P Cache。一般来说,默认使用L2的配置。用户根据自己的应用来决定是否配置为L3。最常见的需要设置MSMC为L3的场景为:需要MSMC内存为 non-cacheable,需要将MSMC设置为L3 RAM。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
kkj12345
2019-08-02 16:41
说的不错,补充一点,l2是各核独占的,私有内存的概念,l3是为多核共享的场景设置的。这点其实是l2l3划分是考虑更多的。他们的访问效率其实是一样的

一周热门 更多>