Other Parts Discussed in Thread: TMS320F28335, C2000WARE
Hello Team,
I have a question regarding the performance of the TMS320F28379D. In order to measure the performance of the TMS320F28379D (CPU1) in relation to the TMS320F28335, a test program was executed and the required time was measured with an oscilloscope, by toggling a GPIO. The result of the measurement showed that the CPU1 of the TMS320F28379D@200MHz requires more than three times the time the TMS320F28335@150MHz needs, to run the test program. My expactation was that the CPU1 of the TMS320F28379D@200MHz would run the program faster than the TMS320F28335@150MHz.
In further investigations the following was found:
int iArray[40];
float fArray[40];
float fArray1[40];
for (int i = 0; i < 1; i++)
{
iArray[i] = 0;
fArray[i] = 0.0;
fArray1[i] = 0.0;
}
To run through the FOR loop shown above for example, the TMS320F28335@150MHz requires 77 processor cycles and the CPU1 of the TMS320F28379D@200MHz requires 284 processor cycles. The processor cycles were measured by using the CCS7 clock function by stepping through the disassembly lines.
The same compiler (TI v.17.3.0.STS) was used for both projects. The generated assembler lines are the same. The main data sheets of both processors refer to the same reference guides („TMS320C28x CPU and Instruction Set Reference Guide“ and „TMS320C28x Floating Point Unit and Instruction Set Reference Guide“).
So I would expect the same count of cycles for both processors in this example. Why do they need a huge different number of processor cycles?
Thank you
Michael F.