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



