Hallo Johannes,

der Unterschied zwischen PICs und AVR liegt in der sogenannten Instruction Pipeline. Die PICs brauchen für einen Zyklus 4 Takte für die komplette Abarbeitung eines Befehls (Fetch, Decode, Execute, Write).
Die AVRs haben eine Zweiteilung (Fetch/Decode, Execute/Write) und eine Pipeline. Beim ersten Takt wird der Befehl aus dem Speicher geholt und decodiert, beim zweiten Takt wird dieser dann abgearbeitet. Gleichzeitig wird in der Pipeline schon der nächste Befehl geholt und decodiert. Somit erreicht man, dass bei jedem Takt ein Befehl abgearbeitet wird, solange die Pipeline gefüllt ist. Bei Sprungbefehlen wird der Ablauf unterbrochen und es muss einen Takt länger auf die Abarbeitung gewartet werden.

Der Ubicom-SX, der ja eigentlich ein "aufgebohrter" PIC16C5x ist, hat übrigens eine 4fach Pipeline, die 4 Zyklen sind vom PIC übernommen und braucht damit auch 4 Takte um die Pipeline zu füllen. Mit gefüllter Pipeline wird dann ebenfalls pro Takt ein Befehl abgearbeitet (75MHz Takt -> 75MIPS). Bis zum nächsten Sprungbefehl....

Hoffe das war halbwegs anschaulich.

Viele Grüße
Jörg