250
po czym rozpoczyna nowy cykl maszynowy. Jeśli natomiast w T2 było H0LD=0, to w stanie T3 informacja z szyny D zostaje wpisana do rejestru rozkazów IR i zdekodowana. Jeżeli w wyniku dekodowania okazuje się, że jest to rozkaz realizowany w jednym cyklu maszynowym, to stany T4 i T5 przeznaczone są na jego wykonanie; jeśli nie, to w'T4 następuje przygotowanie następnego cyklu i zakończenie M1.
Dalsze szczegóły, dotyczące również innych typów cyklu maszynowego,zawiera rys. 6.5. Jak widać, w stanie‘T2 próbkowany jest również stan wewnętrznego przerzutnika HLTA ustawianego rozkazem zatrzymania HLT. Jeżeli HIffA=1, to pP przechodzi do stanu ŻATRZIMANIE(TWH), z którego powrót do głównego toru realizacji cyklu maszynowego odbywa się pod wpływem sygnału przerwania HTT, o ile wcześniej nie pojawiło się żądanie HOŁD przejścia w stan ZAWIESZENIE, lub pod wpływem sygnału zerującego RESET.
Poza stanem ZATRZYMANIE wejście INT testowane jest w ostatnim stanie ostatniego cyklu maszynowego danego rozkazu. W przypadku wykrycia w nim jedynki pP wchociżi w specjalny cykl maszynowy 111, podczas którego licznik rozkazów nie zwiększa swej zawartości, wysłane zostaje (jako składnik statusu) potwierdzenie przerwania INTA, zaś urządzenie przerywające podaje na szynę 'danych jeden z ośmiu możliwych rozkazów restartu (RST0-RST7). Rozkaz ten pozwala procesorowi ustalić adres początku podprogramu obsługi przerwania.
Liczba stanów, przez które przechodzi pP wykonując zadane rozkazy,waha się od a do 18. Wynika z tego, że przy maksymalnej częstotliwości zegara wszystkie rozkazy będą wykonywane w ciągu’2 do 9 ps.
6.3.4. Informacja o statusie
Jak już stwierdziliśmy, zależnie od rodzaju rozkazu i wymaganej przez niego liczby kontaktów z pamięcią zewnętrzną, -jego wykonanie związane jest z przejściem pP przez 1 do 5 cykli maszynowych spośród 10 możliwych.Urządzenia współpracujące z pP muszą znać rodzaj aktualnie rozpoczynającego się cyklu maszynowego, dla zapewnienia właściwej z nim współpracy (np. muszą wiedzieć, czy w cyklu tym procesor będzie czytał czy zapisywał w pamięci itp.). Informacja o rodzaju rozpoczynanego cyklu maszynowego, zwana statusem, wysyłana Jest przez pP na szynę danych Jednocześnie z sygnałem SYNC i musi być zapamiętana w osobnym rejestrze statusu (Status latch).
Na rys. 6,6 podano zestaw wszystkich dziesięciu 'cykli maszynowych i odpowiadających im informacji o statusie. Znaczenie poszczególnych bitów statusu jest następujące: - ... ■- •
INTA - sygnał akceptacji żądania przerwania, używany do strobowania instrukcji restartu;
W5 - Jeśli jest równy zero, wskazuje, że dany cykl maszynowy będzie związany z zapisem danych w pamięci lub wyprowadzeniem ich przez urządzenia wyjściowe; w przeciwnym przypadku (WC=1) będzie to cykl odczytu lub wprowadzania danych z wejścia;
STACK - wskazuje, że na szynę adresową przekazana została zawartość wskaźnika stosu SP; ..
KI/EA - potwierdzenie wykonania rozkazu HLT;
OUT - wskazuje, że na szynie adresowej znajduje się numer urządzenia wyjściowego (na bitach AQ + Ar, i powtórzony na Ag i- A.^), a szyna danych będzie zawierała dane wyjściowe w czasie, gdy W5=0
U1 - wskazuje, te p.P znajduje się w cyklu pobierania pierwszego bajtu (kodu operacyjnego) rozkazu;
INP - wskazuje, że na szynie adresowej znajduje się numer urządzenia wejściowego (Aq -i- Ar, oraz Ag + A.^), a dane wejściowe powinny być wprowadzone na szynę danych, gdy DBIN=1;
MEMR - wskazuje, że szyna danych będzie przeznaczona do czytania z pamięci.
RODZAJ emu MAJWIMWtM I NA SŁOWA STATUSU | |||||||||||
A £ s |
M _ Sg sl *•* i/f |
SE OŁ SS |
fi C"- U r—< |
*G _ IM ii |
ii sss |
3 as |
Ui u |
wrwi 35 |
ui 5* §1 w ls |
3C 2S ui * Sc |
-< • SS i* |
© |
© |
© |
© |
© |
© |
© |
© |
© |
® | ||
■>0 |
INTA |
0 |
t |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
#l |
vfó |
1 |
1 |
0 |
( |
0 |
1 |
0 |
1 |
1 |
1 |
h |
STACK |
0 |
0 |
0 |
t |
1 |
0 |
0 |
0 |
0 |
0 |
■>3 |
MIT A |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
OUT |
0 |
0 |
1 |
II |
0 |
0 |
( |
0 |
0 |
0 | |
*5 |
Mt |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
ł |
0 |
1 |
mt> |
0 |
0 |
t |
0 |
t |
1 |
0 |
0 |
0 |
0 | |
h |
MEM9 |
ł |
1 |
0 |
) |
0 |
0 |
0 |
0 |
1 |
0 |
Rys. 6.6. Tablica cykli maszynowych ^iP 8080 i odpowiadających im informacji o statusie
Jak widać, pP wytwarza zestaw sygnałów (^TR, DBIN, SINC i 8 bitów statusu) umożliwiających sterowanie przepływem informacji przez S2ynę danych. Jednocześnie obserwuje on sygnały zewnętrzne żądające:
- wydłużenia jego cyklu maszynowego dla dopasowania go do cyklu pamięci lub urządzenia wejściowego (sygnał READT decydujący o przejściu w stan OCZEKIWANIE),
- oddania kontroli nad szynami A i D urządzeniom wejścia/wyjścia w celu uzyskania przez nie bezpośredniego dostępu do pamięci (sygnał HOŁD decydujący o przejściu w stan ZAWIESZENIE),
- obsługi przerwania zgłoszonego przez którykolwiek z układów współpracujących (sygnał INT),
potwierdzając na odpowiednich wyjściach (WAIT, HŁDA i odpowiednie bity statusu) akceptację żądań reprezentowanych przez te sygnały. Wynika stąd, te w skład systemu mikroprocesorowego (mikrokomputera) oprócz pP, zegara pamięci i urządzeń wejścia/wyjścia muszą wchodzić również układy organizujące współpracę tych podstawowych składników na podstawie wymienio-