Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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



List of 19 messages in thread
TopicAuthorDate
'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      

Back to Subject List