P0 - wejście przeniesienia,
?4, Ó, f - wyjścia przeniesienia,
U - wejście rodzaju pracy,
FQt..,9Fj - wejścia sterujące, określające realizowaną funkcję, AoB - wyjście porównujące.
Jednostka arytmetyczno-logiczna Jest w istocie rozbudowanym czterobitowym sumatorem równoległym z przeniesieniem równoległym. Działa ona Jako taki sumator przy Po=?2=1 i P^aPgnO oraz M=0. Elementy tworzące sumator zaznaczono na rys.4.47 liniami pogrubionymi (por. z rys.4.40). Liniami pogrubionymi oznaczono również Jedynkowe sygnały sterujące. Naniesiono także oznaczenia sygnałów wewnętrznych, analogicznie Jak na iys.4.40.
%
- M
A0fbĄlB1A2^43^
A=B
G
T
Rys.4.48.Symbol Jednostki arytmetyczno--logicznej
Przeniesienie określone Jest
równaniem (por. z opisem sumatora równoległego z przeniefie-niem równoległym w p.4.4.1)
P4 = G3 + t3o2 + t3t2g1 + t3t2t1qo , T3T2TlT0 p0
a więc G T
P. = G + T«P_
4 O
Sygnał wyjściowy ?4 wykorzystywany Jest przy łączeniu bloków ALU w układy z przeniesieniem szeregowym, natomiast sygnały G i T wykorzystywane są przy łączeniu bloków ALU w układy z przeniesieniem równoległym. Sprawę tę w dalszym opisie pominięto. Wyjście porównujące Jednostki arytmetyczno-logicznej umożliwia porównywanie liczb. Na wyjściu "A»B" pojawia się sygnał jedynkowy, gdy na wszystkich wyjściach S są jedynki.
Rodzaj realizowanej operacji arytmetycznej (przy M»0) lub logicznej (przy M=1) zależy od stanu sygnałów sterujących Fj. Zestawienie operacji wykonywanych przez ALU podaje tablica 4.1. (Jednostka może być także wykorzystywana przy założeniu, że wejścia A, B i wyjścia G, T, S są niezanego-wane, a wejście I’0 i wyjście P^ - zanegowane; przy takim założeniu wykaz operacji wykonywanych przez jednostkę będzie inny niż podany w tabl.4.1).
Tablica 4.1
Funkcje realizowane przez jednostkę arytmetyczno-logiczną
Sygnały sterujące F3Wo |
M=1 Operacje logiczne |
M=0 Operacje arytmetyczne |
0 0 0 0 |
si * Ai |
S * A - fl-PQ) |
0 0 0 1 |
h ■ AiABi |
S = A AB - M-Pq) |
ao 1 o |
S± o AiVB1 |
S = A AB - fl-P ) 0 |
0 0 11 |
* 1 |
S = P - 1 0 |
0 10 0 |
S± » AiVBi |
S = (AVB) + A + PQ |
0 10 1 |
sł * Bi |
S = f A V B) + (A AB) + PQ |
0 110 |
= A^= |
s = a-b - n-p ) 0 |
0 111 |
Si * AiV®i |
S = fAvS) + P 0 |
10 0 0 |
■ AiABi |
S = f A V b) + a + p 0 |
10 0 1 |
= A^ ® |
S = A + B + PQ |
10 10 |
Ei * Bi |
S = (AVB) + ( A AB) + P 0 |
10 11 |
5i ■ AiVBi |
S = (A V B) + P^ 0 |
110 0 |
£i •0 |
S = 2 * A + o |
110 1 |
6± = A^ A B^ |
r = (a ab) + a + |
1110 |
Si = A^ A |
S = fAAB)-** A + P 0 |
1111 |
si ■ Ai |
s = a + r0 |
W celu rozróżnienia operacji logicznych od arytmetycznych, w tablicy 4.1 dodawanie i mnożenie logiczne oznaczono symbolami, odpowiednio: v i a .
Wyrażenia opisujące operacje arytmetyczne, w których argumentami są operacje logiczne, np.
S = A + (A ve) + r
o