You are here

as I can see PC/timestamp in psoc creator | Cypress Semiconductor

as I can see PC/timestamp in psoc creator

Summary: 9 Replies, Latest post by hli on 28 Jun 2013 01:16 PM PDT
Verified Answers: 0
Last post
Log in to post new comments.
Cruz Guadalupe's picture
User
2 posts

 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

hli
user_78878863's picture
User
2759 posts

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

 

user_1377889's picture
User
10803 posts

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

H L
user_460349's picture
User
1362 posts

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.

user_14586677's picture
User
7648 posts

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.

H L
user_460349's picture
User
1362 posts

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.

 

user_14586677's picture
User
7648 posts

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.

H L
user_460349's picture
User
1362 posts

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.

:-)

 

 

Cruz Guadalupe's picture
User
2 posts

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

hli
user_78878863's picture
User
2759 posts

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

Log in to post new comments.