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

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。

你可能感兴趣的:(DSP)