Main Page | Modules | Related Pages

Branches
[Pipeline details]

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 Thu Mar 3 00:16:26 2005 for Pipelined AVR microcontroller (pAVR) by  doxygen 1.3.9.1