I have a program on C6747 platform, and in order to update the performance of my program I read the Cache guide(sprug82a.pdf),which I get some information as follow:
1. Cache Operate element is Line, not byte, L1P line size 32byte;L1D line size 64byte, L2 line size 128byte.
2. Cache L2 only cache for external memory, such as external SDRAM; L1D cache for L2 SRAM and external memory.
3. C674x CPU automatically maintain the coherence between Cache and L1 or L2 SRAM memory, but it is programer duty to maintain the coherence between cache and external memory.
but I also have some quesiton as follow:
1. The path width between CPU and L1P is 256bits, does it mean the if cache hits, the CPU fetch 256bits from L1P 1 cycle, not just 1 instruction?if it is true, how can the 32bytes(256bits)instruction execute meanwhile 1 cycle?
2. The path width between CPU and L1D is 2*64bits, but L1D line size 64byte, if cache hits, CPU get data from L1D 2*64bits or 64bytes one time(1 cycle)?
3. L2 CAHCE line size 128bytes, but the path width between L1D and L2 small than line size, what is the relationship between cache line size and path width?
4. if it is ok that I just enable L2 Cache and disable L1D cache?
5. I want to check the Cache working status, I use menu "Tool" ->"cache ....", but it is show me "no device that support cache debug is found",does C6747 not support cache debug? or my CCS verison dismatch?
C6747 chip have a feature of 2400 MIPS/1800 MFLOTS, CCS3.3.