This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS v5.2.1: cpu cycles value problem

Other Parts Discussed in Thread: TMS320C6455

Recently I encountered the problem that in ccs v5.1.0 after several execution of .out file on dsk6455 all graph tools were disabled. Searching the forum has led to the fact that in ccs v5.1.1 and older versions this problem has been solved. And I upgraded ccs to v5.2.1 because of that trouble.

But now I encountered the problem concerning the value of Cpu Execute Cycles in clock tools. In version 5.1.0 cpu clock shows me that my function, for example, performed for 1000 cpu cycles (it's not matter what function it is...I check it on each other functions). Now in v5.2.1 cpu clock shows that  functions performed for over 1000000 cpu cycles. All that i did is upgrading ccs. Changing the version of compiler and dps/bios to elder from ccs v5.1.0 has no results...number of cycles stays on the same high value.

Realy I don't recognize how can I adequately estimate the perfomance of executable functions.

Thanks a lot.

  • Hello,

    Nikita Zograbyan said:
    In version 5.1.0 cpu clock shows me that my function, for example, performed for 1000 cpu cycles (it's not matter what function it is...I check it on each other functions).

    Nikita Zograbyan said:
    Now in v5.2.1 cpu clock shows that  functions performed for over 1000000 cpu cycles.

    That is quite a difference. How are you measuring the cycles? Are you using the profile clock in CCS?

    Thanks

    ki

  • Hello. I'm using the clock from Run menu in debug session (Run -> Clock -> Enable).  I choose "Cpu Execute Cycles" in setup menu and reset method set to manual. Then I put breakpoint at the start of function and at the end of it. After that I reset clock and run this function. On the bottom panel I look at the value of execute cycles (like ccs v3.3). I did it in ccs v5.1.0 and ccs v.5.2.1, but results are different every time. Is it a wrong approach to measure performance of separate functions? I don't use profile clock in ccs. If it lets me to show the real performance of functions, I'l be grateful if you explain how to use profile clock.

    Thanks.

    p.s. sorry for my poor English

      

  • Nikita Zograbyan said:
    I'm using the clock from Run menu in debug session (Run -> Clock -> Enable).  I choose "Cpu Execute Cycles" in setup menu and reset method set to manual.

    Ok, I was suspecting that the clock was setup to count different events between the two CCS versions. But it looks like you made sure that the same exact settings are being used for both.Is "Cpu Execute Cycles" the exact name? I was expecting something different, like "cycle.Total" or something like that.

    I'm definitely surprised at the clock value difference. There is normally a small difference but you are seeing a huge difference. Your use case seems fine, nothing wrong there.

    Could you send me a small test case? I just need any small example where you see a big difference between the counts between the two versions.

    Thanks

    ki

  • Yes, "Cpu Execute Cycles" is the exact name. I saw "cpu.Total" when I worked with c6455 simulator. But now I work with tms320c6455 dsk and "cpu.Total" is not in clock tool. I can send You test project (generating complex signal) maded with using IQmath library. I execute it in CCS v5.1.1 and v.5.2.1 and results are: about 150 cycles in v5.1.1 vs about 242000 cycles in v5.2.2. Where can I send this project?

    upd

    Here is the test project with generation complex signal. Can you help me to understand why the cycles value so different in different CCS versions.

    0172.IQ_test.zip

  • Thank you for the test case! I was able to reproduce the issue. I believe you are running into the same issue as described in the post this issue:

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/163102.aspx

    The bug was found CCSv5.1.0 and fixed in CCSv5.2.0. So this would explain why you see different number for the same event between 5.1.1 and 5.2.1. The count in 5.2.1 is the correct count for CPU Execution Cycles and in 5.1.1, you actually need to select 'L1D read hit" to count the CPU execution cycles.

    Thanks

    ki

  • Thanks for the explanation.