L2配置为SRAM,L1D配置为Cache。数组A分配于L2中,经程序处理后把处理结果写回A。
当用memory browser查看时,如勾选L1D或 L2或L1P 中的任意一个或任意组合,则看到的是处理后的数据。如都不勾选,看到的是处理前的数据。
问题:1)为什么只勾选L1P看到的是处理后的数据?应该与L1P无关吧?
2)为什么只勾选L2看到的是处理后的数据?L2是配置为SRAM的。
Allen35065:
你用的是哪款DSP?C6000的同一个核的L1D和L2之间的cache一致性是自动维护的,所以你看到的可能只是CCS的显示问题。
Keanu Reeves:
回复 Allen35065:
C6678。
一致性自动维护不是说L1D的和L2的内容始终一样吧。没必要写回的时候硬件也不会写回的。
Allen35065:
回复 Keanu Reeves:
是的,对于本核看来,L1D和L2可能不同,但是只要有外部访问,读到的数据一定是最后的结果。
Keanu Reeves:
回复 Allen35065:
CCS的memory browser查看算是外部访问吗?