312
Xp i Xj przesuwnika są podawane sygnały zewnętrzne. Jednostka arytmetyczno-logiczna generuje cztery sygnały.składające się na wektor Xw przesyłany do układu sterującego. Są to: 2 (sygnał zera), S (sygnał znaku}. V (sygnał nadmiaru), C (sygnał przeniesienia) (patrz np.
I12] ).
Mikrooperację wykonywaną w procesorze określa piętnastobitowe słowo sterujące (mikrorozkaz) S, którego szczegółowy format przedstawiono na rys. 8.5 (w prawych górnych rogach poszczególnych pól umieszczono ich długości w bitach).
Adres Adres
Kod mikrooperacji (OP) źródła (AZ) przeznaczenia (AP)
* - operacje arytmetyczne v - operacje logiczne
Rys.8 5. Format słowa sterującego S
Słowo to jest podzielone na pola, sterujące funkcjami poszczególnych modułów procesora. Dzięki temu, że ALU i przesuwnik są
układami kombinacyjnymi, każda mikrooperacja wykonywana jest w jednym takcie sygnału zegarowego.
Przykładowe mikrooperacje oraz odpowiadające im słowa sterujące przedstawiono na rys.8.6.
Mikrooperacja |
Słowo sterujące |
S |
Uwag i | |
M F CQ G |
E H |
AP | ||
R1: =0 |
---0 |
— |
1 |
zerowanie R1 |
R2:=R5 |
0 0 0 1 |
5 - |
2 |
przesłanie |
R3:=R3+1 |
0 0 1 1 |
3 - |
3 |
z1 i czan i e |
R3:=R3-1 |
0 3 0 1 |
3 - |
3 |
zliczanie |
R4:=2R4 |
0 0 0 3 |
4 - |
4 |
przesuw R4 w lewo |
R2:=R2+R3 |
0 10 1 |
2 3 |
2 |
dodawań i e |
R2XR4 |
0 2 1 - |
2 4 |
0 |
porównywan i e |
Rys.8.6. Przykładowe mikrooperacje oraz odpowiadające im słowa sterujące
Aby wyzerować jeden z rejestrów, należy wysterować przesuwnik tak, aby na jego wyjściu były same zera (C=0) i wpisać Dyy do zadanego rejestru ustawiając odpowiednie wartości sygnałów AP. Wartości pozostałych sygnałów sterujących są w tym przypadku obojętne.
Aby przesiać zawartość rejestru R5 do R2 trzeba:
a) wybrać rejestr R5 jako źródło lewego argumentu (E=5),
b) przepuścić ten argument bez zmian przez ALU (ustawiając M=0, F=0, Cq=0) oraz przez przesuwnik (G=l).
c) wpisać Dyy do rejestru R2, ustawiając AP=2.
Aby zwiększyć zawartość rejestru R3 o jeden, należy:
a) wybrać rejestr R3 jako źródło lewego argumentu (E=3),
b) argument ten zwiększyć w ALU o jeden (ustawiając M=0, F=0, Cq=1; dla przesuwnika G=l),
c) wpisać Dyy do rejestru R3, ustawiając AP=3.
Operacja porównania zawartości dwóch rejestrów np. R2XR4 polega na wykonaniu odejmowania R2 - R4 (a więc w słowie sterującym ustawia się