??? 12/14/11 13:22 Modified: 12/14/11 13:24 Read: times |
#185085 - Ok, a SILabs cache lesson Responding to: ???'s previous message |
Now this means, that if there is a cache miss, the instruction may take 4 cycles more to fetch the word containing the target of the jump. That happens only when the jump is taken with the conditionals, so I should write say 3/4+4 for JB, correct?
My problem is, that the datasheet mentions also less-than-four-cycle cache-miss penalties. How comes? I couldn't really find the explanation in the datasheet, and did not dig deeper back then (nor now). by my best understanding I'd like to be corrected if I'm wrong the below is if you do not use cache lock the main flash is 4 bytes (24-bit) wide and takes 4 cycles to load to the cache. so, if you have a jump to some different place it takes 4 cycles to get to the first byte. if that is the first byte of the 4 loaded all is well. if iis the 2nd or 3rd - figure it out by the below if it is the last byte of the 4 there will be a 3 clcok delay to fetch the next word to the cache. thus if you have VERY critical rouitine with a frequent jump do one of two a) locate it at a boundary if 4 and lock the first flash word b) lock the first two cach words. in other words, jumps CAN match the stated no of cycles, but do not necessarily do so Erik |
Topic | Author | Date |
'51 derivatives cycle comparison table updated | 01/01/70 00:00 | |
above about 40 Mhz devices may need extra cycles | 01/01/70 00:00 | |
silabs with cache | 01/01/70 00:00 | |
Ok, a SILabs cache lesson | 01/01/70 00:00 | |
Bytes | 01/01/70 00:00 | |
ecc? | 01/01/70 00:00 | |
not the cookies | 01/01/70 00:00 | |
Washed? | 01/01/70 00:00 | |
am I as has happened before ... | 01/01/70 00:00 | |
Is that how it's spelled? | 01/01/70 00:00 | |
re: Washed? | 01/01/70 00:00 | |
jump cache miss penalty | 01/01/70 00:00 | |
clarifications | 01/01/70 00:00 | |
no cache for 50MHz | 01/01/70 00:00 | |
surely not all | 01/01/70 00:00 | |
you missed a word | 01/01/70 00:00 | |
more update | 01/01/70 00:00 | |
Table suggestions | 01/01/70 00:00 | |
Updated MC51 supports Cycle Define | 01/01/70 00:00 |