Hi,
I am moving my code from C64x+ (on DM6437) to C674x (on DM8148 and J5). But the performance numbers were actually coming worse.
So I tried to check the L1D, L2 and DDR access times. I have written a sample code to count the DSP cycles taken in doing a memory transfer between these memories. (I have attached the source file and the RTSC configurations I am using.)
I am getting the following cycle counts on the different platforms:
From -> To | DM6437 | DM8148 | J5 EVM | % increase on DM8148 | % increase on J5 EVM
---------------------------------------------------------------------------------------------------------------------------
L1D -> L1D | 4477 | 4561 | 6488 | 1.88% | 44.92%
L2 -> L2 | 8030 | 10680 | 36967 | 33.00% | 360.36%
DDR -> DDR | 310139 | 525073 | 641351 | 69.30% | 106.79%
===========================================================================
I am not understanding why the numbers have increased on DM8148 and J5.
Also, the DDR performance is coming out to be worse inpite of improved DDR type(DDR3) and DDR clock frequency ?
Please help.
- Abhishek Gupta
About the test code:
- I am doing a memcpy() of 16kB of data from L1D to L1D, L2 to L2 and DDR to DDR.
- This was run on 3 different platforms: DM6437, DM8148 Centaurus and J5 EVM.
- The project is built in CCS5.1 (CGTools version: 7.3.1).
- The base addresses of L1D, L2 mentioned are for DM8148/J5. They were changed appropriately for DM6437.
- Cache is disabled on all platforms. I have attached snapshots of the RTSC platform file creation wizard in CCS5.1.
- DDR frequency on DM6437= 162MHz, and on DM8148/J5 = 333MHz
- DSP Clock Frequency on DM6437= 594MHz, and on = 500MHz