| Cykle |
|
Podstawową operacją wykonywaną przez mikrokontroler jest cykl rozkazowy, który składa się z określonej liczby cykli maszynowych, wynikającej z dekodowanego rozkazu. Cykl maszynowy - składa się z sześciu stanów, z których każdy dzieli się na dwie fazy, po jednym takcie zegara każda. Cykl maszynowy jest więc wykonywany w czasie 12 taktów (faz) numerowanych od S1P1 (stan 1, faz 1) do S6P2. Każdy rozkaz realizowany jest w jednym lub dwu cyklach maszynowych z wyjątkiem mnożenia i dzielenia (4 cykle). ogólnie wyróżnić można cztery typy cykli maszynowych:
![]()
W każdym cyklu maszynowym wykonują się pewne elementarne operacje, przy czym w stanach S1 i S4 jest realizowane odczytywanie pamięci programu. Zazwyczaj w stanie S1 jest pobierany (z komórki o adresie zawartym w liczniku rozkazów) kod rozkazu. W stanie S2 dekodowany jest rozkaz oraz zwiększana o 1 zawartość licznika rozkazów. W kolejnych stanach wykonują się operacje wynikające z treści rozkazu. Jeżeli wykonanie rozkazu wymaga odczytania z pamięci programu np. argumentu lub adresu bezpośredniego, to odbywa się to w stanie S4 - w innym przypadku odczytywanie w stanie S4 jest jałowe. Dzięki dwukrotnemu czytaniu z pamięci programu w każdym cyklu maszynowym, prawie wszystkie rozkazy są wykonywane w czasie jednego lub dwóch cykli. Sposób wykonania rozkazów MOVX jest nieco odmienny od pozostałych. W tym przypadku, w drugim cyklu maszynowym jest realizowany dostęp do zewnętrznej pamięci danych - nie ma więc pobierania z pamięci programu. Nie jest też wytwarzany sygnał ALE. |
;



