9 Replies Latest reply on Jun 28, 2013 12:28 PM by sandoval.espinoza

    as I can see PC/timestamp in psoc creator

    sandoval.espinoza

       greetings designers

         

      currently developing a project in which performance is critical cycles, and done so successfully PSoC1 but need to do the same program in PSOC3 and compare the performance in clock cycles, I find the way to display the clock cycles in the psoc creator 2.2 debugger.

         

       

         

      Thanks for your attention

        • 1. Re: as I can see PC/timestamp in psoc creator
          user_78878863

          If you want to know what the compiler does, you can look at the disassembly (look at the DP8051\DP8051_Keil_903\Debug\ folder in your project). But you need to do the cycle counting by yourself - together with a 8051 assembler reference and the knowledge how the stuff is executed in the end (e.g. pipelining).

             

          Given that the PSoC3 should be faster than the PSoC1, you should have no performance problem - or do you need even higher speed?

             

          When you really care about execution performance: can your problem maybe solved by moving it into hardware? The UDBs with their datapath, and also the digital filter block are rather mighty components...

          • 2. Re: as I can see PC/timestamp in psoc creator
            user_1377889

            Performance measuring is not only related to the number of clock cycles needed. The different processor architectures already have a big influence on performance. I tested the same C-code on a PSoC1 and a PSoC5 and found a speed improvement of factor 25 for this special application.

               

             

               

            Bob

            • 3. Re: as I can see PC/timestamp in psoc creator
              ki.leung
                      Comparing clock cycles of instruction/operation between two different type of CPU is meaningless. I think the better comparision would be how fast the same task completed by the processors.   
              • 4. Re: as I can see PC/timestamp in psoc creator
                user_14586677

                There are many pertainent methods of measuring speed and thruput,

                   

                and clock cycles is certainly one of them, especially when one is working

                   

                at the HW level. Crtical HW  control loops just to name a few.

                   

                 

                   

                Example, implementing a fast integer FIR, first thing I would look at

                   

                is multiplying and sum speed, in clock cycles, to get an idea of sample

                   

                rate I can achieve, as in FFT, FIR, IIR, correlation, auto correlation.....

                   

                 

                   

                Clock cycles also give us an idea of how much serialization, eg. save

                   

                gates, vs parallel, balls to the wall is in the architecture.

                   

                 

                   

                The point Bob made, looking at an overall task thruput, via timing, certainly

                   

                makes sense for many investigations, if a process takes a minute on a 48 MIPs

                   

                machine it would be foolish to try to measure it via clock cycles.

                   

                 

                   

                There is a place for clock cycle discussions. All food groups are welcome.

                   

                 

                   

                Regards, Dana.

                • 5. Re: as I can see PC/timestamp in psoc creator
                  ki.leung

                  Checking clock cycle to check the performance of a chip is useful when checking the performance of different instructions or different implementaion of a function ON the SAME CHIP or chips with SIMLIAR architecture.

                     

                  BUT comparing clock cycles with PSoC1 and that PSoC3 which are of different architecture is of little use.

                     

                  How fast a function can be completed byt the two chips with the same function would be more meaningfull.

                  • 6. Re: as I can see PC/timestamp in psoc creator
                    user_14586677

                    Clocks x Clock Period = HW time which one uses to evaluate HW component speed, like a multiplier

                       

                    Time to run a f() = Software time generally is HW time + overhead and fluff.

                       

                     

                       

                    If f() time is not adequate I start to look at Clocks to see what is achievable before I

                       

                    throw away the part from consideration. FLOPS in a part are not f() related, but

                       

                    critical in DSP operations.

                       

                     

                       

                    I use both to evaluate processors and architectures.

                       

                     

                       

                    Regards, Dana.

                    • 7. Re: as I can see PC/timestamp in psoc creator
                      ki.leung

                      number of clocks * clock period is time.

                         

                      I think we both agree that's how it should be measure. (Of course the overhead is needed to take into consideration, again this is time ).

                         

                      I still in the old days, we try to find instructions such as

                         

                      LDA 0; ie load accumlator A with 0

                         

                      and change to

                         

                      CLRA; clear acculator A

                         

                      to save 1 byte and a few cycles of instructions.

                         

                      :-)

                      • 8. Re: as I can see PC/timestamp in psoc creator
                        sandoval.espinoza

                        thanks for your answers have been helpful, is that the performance of a 8051 can not be cmparado with the M8C, but since this is my grade, is one of the things I have asked this same measure as proyectoe s implemented in 8051 and reported a microcontroller clock cycles.

                           

                         

                           

                        regards

                        • 9. Re: as I can see PC/timestamp in psoc creator
                          user_78878863

                          In that case, look at the disassembly (as stated before). The PSoC3 TRM lists, starting on page 40, the number of cycles needed for each assembler instruction. Note that the PSoC3 executes the instructions in 1 or 2 clock cylces, as opposed to 12 of the original 8051 (OK, some instructions need up to 6 cycles...).