Rozdział 1.2



Cykl rozkazu



Powtarzane cyklicznie stany automatu, w których wykonuje on operacje obsługi jednego rozkazu nazywamy cyklem rozkazu. Poniższy rysunek pokazuje z jakich faz składa się cykl rozkazu ładowania.


wystawienie
adresu
wczytanie
rozkazu

cykl maszynowy 1

dekodowanie
rozkazu

 

wystawienie
adresu
wczytanie
argumentu

cykl maszynowy 2

wykonanie
instrukcji

 

Są to 4 fazy:
  • pobranie rozkazu (ang. instruction fetch FI) obejmujące dwa stany - wystawienie adresu rozkazu na szynie adresowej i, gdy pamięć wystawi, pobranie go z szyny danych,
  • zdekodowanie rozkazu (ang. instruction decoding DI),
  • pobranie argumentu (ang. operand fetch FO), obejmujące dwa stany - umieszczenie adresu argumentu na szynie adresowej i, gdy pamięć wystawi, pobranie go z szyny danych,
  • wykonanie rozkazu (ang. instruction execution EI), w tym wypadku tylko załadowanie pobranego argumentu do rejestru A.
Pobranie rozkazu i pobranie argumentu są to dwa cykle dostępu do pamięci zwane cyklami maszynowymi, obejmujące:
  • umieszczenie przez procesor adresu na szynie adresowej i jednego z sygnałów MR lub MW,
  • umieszczenie przez pamięć na szynie danych danej spod podanego adresu lub zapisanie danej z szyny danych pod podany adres.

Cykl rozkazu w ogólnym przypadku może składać się aż z 8 różnych stanów pokazanych na rysunku. Pominięto w nim na razie fazę przerwania. Cykl ten może zawierać dodatkowo fazy obliczania adresów przed odczytem rozkazu, odczytem argumentów i zapisem wyników. Ponadto liczba argumentów oraz wyników może być teoretycznie dowolna, stąd możliwość wielokrotnego przechodzenia od fazy obliczania adresu do fazy dostępu do pamięci i spowrotem. Przykładem rozkazu, w którym można pokazać wszystkie stany procesora z rysunku jest rozkaz dodania zawartości rejestru A do zawartości pamięci spod adresu będącego sumą zawartości rejestru B i C, i zapisania wyniku pod tym adresem, co symbolicznie zapiszemy w postaci ADD [B+C], A .




Powrót do rozdziału 1
Powrót do strony głównej