Main Page   Modules   Related Pages  

Branches

A few details
The branches condition a 7 bit relative jump by the value of a bit in the Status Register.
If the branch condition is not met, no further action is taken. However, if the branch condition is evaluated as true, then all previous stages are flushed and the Stall and Flush Unit is requestd a branch. The SFU, in turn, asks the PM manager permission to access the Program Memory and modify the program flow.
Branches take place in stage s6.

Not taken branches take 2 clocks, while taken branches take 4 clocks.
Branch state machine

pavr_pipe_branches_01.gif


Generated on Sat Jul 3 08:13:38 2004 for Pipelined AVR microcontroller by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001