as I can see PC/timestamp in psoc creator

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 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

0 Likes
9 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

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...

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

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

0 Likes
Anonymous
Not applicable
        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.   
0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

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.

0 Likes
Anonymous
Not applicable

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.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

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.

0 Likes
Anonymous
Not applicable

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.

   

🙂

0 Likes
Anonymous
Not applicable

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

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

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...).

0 Likes