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.

Cycles count

I'm new with CCSv4. I want to evaluate an algorithm that i would like to implement on the TMS320C6455, and first, I'm debugging the application on the C6455 Device Cycle Accurate Simulator, Little Endian.

My doubt is about the number of inclusive cycles parameter provided by the profiler. Is this the number of clock cycles elapsed while executing my program on the device? If this is the case, I could estimate the real time required by the device to execute my program from this parameter...

Can the CCSv4 consider that the TMS320C6455 can execute several instructions each clock cycle by employing the several functional units?

Thank you very much in advance.

  • Maria,

    Maria Lucas said:
    My doubt is about the number of inclusive cycles parameter provided by the profiler. Is this the number of clock cycles elapsed while executing my program on the device?

    To understand the use of the CCSv4 Profiler, please start with the TI Wiki Page category for the CCSv4. You can click on Profiler in the list of available topics.

    Maria Lucas said:
    Can the CCSv4 consider that the TMS320C6455 can execute several instructions each clock cycle by employing the several functional units?

    Yes. The Simulator correctly simulates the several functional units in parallel.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

  • Thank you very much for your indications, RandyP.


    I had read the TI Wiki Page yet, and other documents but I still have a doubt about the configuration of the C6455 Device Cycle Accurate Simulator. I have written my program in C++. To use the 8 functional units, is it necessary to configure something in the target configuration file? Or the simulator is configured to always use the 8 functional units? In this case, the number of elapsed cycles considers that several instructions could be executed in the same clock cycle, doesn't it?

     

    Thank you very much again.

    Maria

  • Maria,

    Maria Lucas said:
    To use the 8 functional units, is it necessary to configure something in the target configuration file?

    No. The 8 functional units are part of the C64x+ DSP core and are included and modeled by any simulator which has the C64x+.

    Maria Lucas said:
    In this case, the number of elapsed cycles considers that several instructions could be executed in the same clock cycle, doesn't it?

    Yes.

    When you have loaded your program's .out file into the simulator, you may look at the Disassembly Window and view the CPU assembly instructions that will be executed. Any line that has the double bars "||" to the left of the instruction mnemonic, this line will be executed simultaneously in parallel with the instruction before it.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

  •  

    Thank you very much again. It's very kind of you.

    I have a last question. I have searched in several documents and I have read that the profiler provides you the number of elapsed cycles (I can get this when debugging my program). Could the profiler provide the average number of instructions executed per clock cycle?

    Regards,

    Maria

  • Maria,

    Since these are simulator and CCSv4 questions, the right people will find it in the Code Composer forum.

    I do not know of a way to get average instructions per clock cycle.

    Regards,
    RandyP

  • Hello Maria,

    Maria Lucas said:
    Could the profiler provide the average number of instructions executed per clock cycle?

    Not quite. But you can get the total number of executed instructions and the total cycles. From that, you can determine the average number of instructions executed per cycle.

    Thanks

    ki

  • Thank you very much. All your answers are very useful for me.

  • Dear Ki-Soo Lee,

    Thank you very much for your help. I have configured and I have run my program, and now I can see the number of instructions executed. However, I have a doubt. The number of executed instructions is smaller than the number of elapsed clock cycles for each function. If each functional unit is able to execute an instruction per clock cycle, the number of executed instructions should be higher than the number el elapsed clock cycles, shouldn't it? Is this result normal?

    Is there any document about the profiler functionality?

    Thank you very much again.

    Maria