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:
• cykl wewnętrzny - pobrania i realizacji rozkazu wewnątrz mikrokontrolera (aktywny jest jedynie sygnał ALE dwukrotnie podczas każdego cyklu),
• cykl pobrania kodu rozkazu lub argumentu rozkazu z zewnętrznej pamięci programu (aktywne sygnały ALE i PSEN, obydwa dwukrotnie w każdym cyklu maszynowym),
• cykl odczytu danych z zewnętrznej pamięci danych (aktywny jest sygnał ALE, lecz tylko raz, PSEN jest nieaktywny, aktywny jest natomiast RD),
• cykl zapisu danych do zewnętrznej pamięci danych - sygnały aktywne jak wyżej, przy czym zamiast sygnału RD aktywny jest sygnał WR.

 

 

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.

Komentarze


link W układzie Intel 8051 jest zaimplementowany system wieloźródłowy przerwań o dwóch priorytetach z możliwością zagnieżdżania. Czas reakcji po wystąpieniu żądania obsługi zawiera się między 3 a 7 s przy zegarze 12MHz.



link Prezentujemy listę instrukcji - mikroprocesor 8051 ( Intel 8051 ): ACALL addr11 Dzialanie: (PC)  (PC) + 2 (SP)  (SP) + 1 ((SP))  (PC7-0) (SP)  (SP) + 1 ((SP))  (PC15-8) (PC10-0)  addr11