??? 04/03/08 07:24 Read: times |
#152908 - what the #$&* is "most"? Responding to: ???'s previous message |
Erik,
can you please do me a favour: rip off a piece of a *real life* code - it can be part of a bigger binary - and you or I will run it through Jeff's disassembler with the cycle counting on. That would reveal the "truth". That most of the 255 '51 instructions in the cygnal core take 1-2 cycles by far does not mean that most of the instructions in real programs run in 1-2 cycles. Most programs jump a lot, and jumps take 3-5 cycles, for example. External and code memory access takes 3 cycles, and so does mov dptr,#const16 - both of which are very freqent in bigger programs where external RAM is unavoidable. From this, often, the "straightforward" counting of cycles of instructions present in a piece of code is unrepresentative for what a routine takes when it runs, as the percentage of executed jumps might be higher. And, in the 50 and 100MHz derivatives things got a bit worse because of the caching. JW |
Topic | Author | Date |
Low Power | 01/01/70 00:00 | |
clocks/instruction - some hairsplitting | 01/01/70 00:00 | |
not really 'quite' | 01/01/70 00:00 | |
what the #$&* is "most"? | 01/01/70 00:00 | |
critical code ... | 01/01/70 00:00 | |
cache lock won't really help | 01/01/70 00:00 | |
the issue is critical code | 01/01/70 00:00 | |
a proper simulator would help | 01/01/70 00:00 | |
In that case I doubt you will be able to buy ... | 01/01/70 00:00 | |
This was not a "first" responder ... | 01/01/70 00:00 | |
Challenger | 01/01/70 00:00 | |
benchmark | 01/01/70 00:00 | |
Experiment report: Dhrystone results | 01/01/70 00:00 | |
Nice work![]() | 01/01/70 00:00 |