This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Is it Profilling Data is Cycle Accurate?

Note: This was originally posted on 22nd April 2009 at http://forums.arm.com

Hi Friends,

          I am getting profilling analysis information from ARM work bench IDE. I am getting this profile information by running my application on RTSM of ARM1136jf-s.


         But it is giving some delay time, self time and etc. I want to get Cycle Accurate information using profilling through RTSM is it possible? if it is possible how? please help to me to find Cycle Accurate information using profilling.


Regards,
Ranjith.
  • Note: This was originally posted on 22nd April 2009 at http://forums.arm.com

    Hi,

              Thanks for ur reply... Then how to find Cycle accurate information of one function or loop. I mean how much cycles was taking  a loop or function in ARM1136jf-s with zero delay or wait state.

    Regards,
    Ranjith.
    satyaranjith@gmail.com
  • Note: This was originally posted on 24th April 2009 at http://forums.arm.com

    Hi,

              Thanks for faster replies..

             Do you have any example code for finding the cycles for a loop or function using performance counters and CPU events for ARM1136jf-s???

    Example:    clk = clock();

                      function1(int, char, ....);

                      clk = clock() - clk;

                     if i print,  the "clk"  value, it will give exact cycles for function1.

              From the below link i have downloaded some source for performance counters information for ARM1136jf-s.

    infocenter.arm.com/.../index.jsp

            Is i have to use this performance counters or others?? if yes means, can you please tell me how use the performance code like above example..   i am unable to use this performance code??

            Thanks in Advance...

    Best Regards, 
    Ranjith Kumar K,
    satyaranjith@gmail.com
  • Note: This was originally posted on 27th April 2009 at http://forums.arm.com

    Hi,

          Thanks for ur reply.. basing on this information i found some functions MIPS.. that MIPS are mathcing with my estimations... but only one function is not matching.. it was giving  very less 0.5 MIPS on average.. My estimation is not matching but in this code lot of Conditional code is there.....

            Is their any exceptional cases for this perfomance Counters , for the above process?


    Regards,
    Ranjith
    satyaranjith@gmail.com
  • Note: This was originally posted on 22nd April 2009 at http://forums.arm.com

    Cycle accurate profiling is not possible on RTSM - it is an instruction set and system model, not a processor pipeline model.
  • Note: This was originally posted on 22nd April 2009 at http://forums.arm.com

    Run a benchmark on real hardware, with the real memory system you plan on using, and use the performance counters to measure cycles and CPU events. Or you could always use trace hardware such as RealView Trace2 if your SoC supports instruction trace.

    But... if you are optimizing software then the RTSM profiler is actually a pretty good start - a few rules-of-thumb such as making code smaller, avoiding branches, and avoiding memory accesses are normally good enough starting point. The precise cycle counts often don't actually matter.

    You should be able to identify where you spend most of your time using the profiler, so know where to focus optimization, and the binary doesn't change when you run on a different target so the call pattern will be the same.