head 1.1; branch 1.1.1; access ; symbols noReleaseTag:1.1.1.1 noVendorName:1.1.1; locks ; strict; comment @# @; 1.1 date 2003.02.10.04.05.01; author doru; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2003.02.10.04.05.01; author doru; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @ Jumps
Main Page   Modules   Related Pages  

Jumps
[Pipeline details]

A few details
There are 4 jump instructions:
When a jump is detected into the pipeline, next two instructions (that were already uselessly fetched from the Program Memory) are flushed. Then, the Program Memory manager is asked permission to access the Program Memory and to modify the instruction flow (modify the Program Counter).
After that, unless it gets flushed or stalled by an older instruction, the jump instruction will configure the pipeline to fetch from the new PM address.

RJMP and JMP take 3 clocks, while IJMP and EIJMP take 4 clocks.
Jump state machine

pavr_pipe_jumps_01.gif


Generated on Tue Dec 31 20:26:31 2002 for Pipelined AVR microcontroller by doxygen1.2.16
@ 1.1.1.1 log @Importing into repository the new directory structure. @ text @@