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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/03/06 08:13
Read: times


 
Msg Score: +1
 +1 Good Answer/Helpful
#127306 - branch cache
Responding to: ???'s previous message
There are 2 things confused here, I believe: the pipeline of the processor core itself, and the prefetch mechanism which supplies the code for the core at the required pace.

Mind, the FLASH access time is 40ns, whereas the core needs to be supplied a code byte each 10ns... Clearly, there must be some sort of parallelism in reading the FLASH and a buffering between the FLASH and the core, which in effect works as a prefetch queue. This prefetch gets flushed of course at jumps, resulting in stalls.

At SiLabs, they went further, and to prevent stalls at branches they implemented branch cache. Although this makes the timing slightly unpredictible especially when interrupts are involved; there are mechanisms to lock the content of cache or to switch it off completely, to cope with this.

You (or your friends) might want to read the chapter on branch cache in the datasheet, it is very interesting, even if not giving an absolutely complete information.

Jan Waclawek

List of 33 messages in thread
TopicAuthorDate
Pipelines revisited            01/01/70 00:00      
   You cannot say without more information            01/01/70 00:00      
      You've got it! That's the problem, for sure.            01/01/70 00:00      
         Synchronization            01/01/70 00:00      
            True enough, but in this case            01/01/70 00:00      
   So you can be happily chugging away            01/01/70 00:00      
      That renders the SiLabs architecture unuseable            01/01/70 00:00      
         Can't You Trurn it off?            01/01/70 00:00      
         Advertising.            01/01/70 00:00      
            a better term would have been "unspecified"            01/01/70 00:00      
         if what you want is to bitch, the cache stinks, if            01/01/70 00:00      
            No ... it's not just a complaint ...            01/01/70 00:00      
               experience and the other is stated already            01/01/70 00:00      
                  it's not quite that simple ...            01/01/70 00:00      
                     does not matter, in this case an advantage            01/01/70 00:00      
                        Yes, same length, irrespective of path            01/01/70 00:00      
   can you explain more?            01/01/70 00:00      
      It uses a pipeline to achieve the high speed            01/01/70 00:00      
         why pipeline??            01/01/70 00:00      
   branch cache            01/01/70 00:00      
      i dont know about slightly unpredictable            01/01/70 00:00      
      I second this.            01/01/70 00:00      
      It's called "branche cache" rather than pipeline?            01/01/70 00:00      
         They're two different things.            01/01/70 00:00      
            This flush and refill process is what I feared            01/01/70 00:00      
         you might also try something completely different            01/01/70 00:00      
            well ... maybe ...            01/01/70 00:00      
   what is the problem?            01/01/70 00:00      
      The problem is blaming the pipeline ...            01/01/70 00:00      
         oh, I wish            01/01/70 00:00      
         Exactly ...            01/01/70 00:00      
      That reference is helpful            01/01/70 00:00      
         not a "litterary masterpiece" but after reading            01/01/70 00:00      

Back to Subject List