大家好,
L1D可以被配置成cache或者SRAM,
请问这两者有什么区别?什么样的情况下配置成SRAM代码效率会比较高? 多谢了!
Tony Tang:
具体哪颗芯片?
区别就是一个是RAM,一个是CACHE, 放在RAM中的数据是不会被替换出去,不存在Cache miss 开销的问题,但是只对于放在RAM中的数据有效。其它放不下的数据的访问就慢了,这还要根据你的程序的具体情况来看哪种更有效些,如果你的程序中的数据内存要求本身就很小,可以放在L1D,那效率肯定是最高的。
hui zhang13:
回复 Tony Tang:
多谢回复!
我们用的是TDA3x,里面有两个TMS320C66x DSP内核。暂时考虑使用其中一个dsp的情况。
我们有两个数组要被频繁使用,大小均为512k(当然其它还有不频繁用到的数据,大小会更大一些)
每次使用这两个,可能数据都不是连续的,例如第一次使用数据的index是100,第二次可能是900,这种情况,貌似缓存基命中率基本为0了。
C66x L2D的大小为288k,请问这种情况,如何处理可以提高代码效率?
多谢了!