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.12; author doru; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2003.02.10.04.05.12; author doru; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @ Skips
Main Page   Modules   Related Pages  

Skips
[Pipeline details]

A few details
Skips are implemented as branches that have the relative target address equal to 0, 1 or 2, depending on the skip condition and on whether the following instruction has 16 or 32 bits.
There are two kinds of skips: one category that makes the skip request in stage s6 (the same as branches), and one that requests skip in s61. The first category includes instructions CPSE (Compare registers and skip if equal), SBRC and SBRS (skip if bit in register is cleared/set). The second category includes SBIC, SBIS (Skip if bit in IO register is cleared/set).

CPSE, SBRC and SBRS take 2 clocks if not taken, and 4 clocks if taken.
SBIC and SBIS take 3 clocks if not taken, and 5 clocks if taken.
Skip state machine

pavr_pipe_skips_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 @@