Uklady arytmetyczne


Układy cyfrowe (logiczne)
1.1. Układy arytmetyczneI
Układami arytmetycznymi nazywa się układy, umo\liwiające wykonywanie operacji arytme-
tycznych na liczbach, przedstawionych w zapisie dwójkowym.
Poniewa\ wszystkie podstawowe działania arytmetyczne: dodawanie, odejmowanie, mno\e-
nie i dzielenie, a tak\e wszystkie inne operacje matematyczne, wykonać mo\na przy zastosowaniu
odpowiednich algorytmów za pomocą jednego tylko działania arytmetycznego - dodawania, pod-
stawowym układem arytmetycznym jest układ, realizujący dodawanie, nazywany sumatorem.
Do układów arytmetycznych zalicza się ponadto układy do porównywania dwu liczb, nazy-
wane komparatorami oraz uniwersalne układy arytmetyczno - logiczne, realizujące ró\ne ope-
racje arytmetyczne i logiczne.
1.1.1. Sumatory
Sumatory to układy wykonujące dodawanie liczb, przedstawionych w zapisie dwójkowym.
Na Rys. 1.1.1 przedstawiono schemat i tabelę stanów podstawowego układu do dodawania
dwóch jednobitowych liczb dwójkowych A i B, zwanego półsumatorem. Sumę arytmetyczną A+B
oblicza się zgodnie z następującymi regułami:
a) b) c)
A B
0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1;
A B
1 + 1 = 10 (dziesiętnie 2).
Wej ścia Wyjścia
Wynik dodawania musi być przedsta-
C
B A C S
C=AB
wiony przy u\yciu dwóch bitów. Młodszy bit
0 0 0 0
0 1 0 1 wyniku wyprowadzany jest na wyjście S,
S
1 0 0 1
S=A"B starszy bit wyniku na wyjście C. Wyjście S
1 1 1 0
znajduje się w stanie 1 gdy jedno z wejść (A
lub B) znajduje się w stanie 0 a drugie w sta-
Rys. 1.1.1. Schemat (a), tabela stanów (b) i sposób nie 1. Wyjście S związane jest zatem z wej-
realizacji (c) układu do dodawania dwóch liczb jedno- ściami A i B funkcją nierówności ALBO
bitowych (pólsumatora). (Exclusive OR, XOR):
S = A " B .
Na wyjściu C pojawia się 1 gdy jednocześnie A i B jest równe 1, wyjście C realizuje zatem funkję
iloczynu logicznego (AND):
C = A '" B.
Układ do dodawania dwóch jednobitowych liczb dwójkowych mo\na zatem zrealizować przy
u\yciu jednej bramki Exlusive OR i jednej bramki AND (Rys. 1.1.1.c).
W przypadku dodawania liczb o większej liczbie bitów wartość wyprowadzana przez wyjście
C układu do sumowania liczb jednobitowych musi być dodana do bitów na wy\szej pozycji (prze-
niesiona do wy\szej pozycji). Wyjście C jest w związku z tym nazywane wyjściem przeniesienia
(ang. Carry). Sumowanie bitów na pozycji i wymaga dodania wartości i-tych bitów liczb A i B oraz
przeniesienia z ni\szej pozycji:
Ai + Bi +Ci
a układ realizujący takie dodawanie, zwany jednobitowym sumatorem pełnym, musi zawierać
dodatkowe wejście, wprowadzające przeniesienie Ci (Rys. 1.1.2.a). Zgodnie z tabelą stanów układu
(Rys. 1.1.2.b) wyjścia Si i Ci+1 realizują funkcje:
1
Układy arytmetyczne
a) b) c)
Ai Bi
Wejścia Wyjścia
C=AiBi
Bi Ai Ci Ci+1 Si
Ai Bi
Półsumator
0 0 0 0 0
Ci+1 Ci 0 0 1 0 1
0 1 0 0 1
Ł S=Ai"Bi
Ł
Ł
Ł
Ci
0 1 1 1 0
1 0 0 0 1
Si
1 0 1 1 0
1 1 0 1 0
C=Ci(Ai"Bi)
Półsumator
1 1 1 1 1
Ci+1 = AiBi + Ci(Ai"Bi)
Si = Ai"Bi"Ci
Rys. 1.1.2. Schemat (a), tabela stanów (b) i sposób realizacji (c) układu do sumowania i-tego
bitu dwójkowych liczb wielobitowych (jednobitowego sumatora pełnego).
Si = Ai Bi Ci + Ai Bi Ci + Ai Bi Ci + Ai Bi Ci ;
Ci+1 = Ai Bi Ci + Ai Bi Ci + Ai Bi Ci-1 + Ai Bi Ci .
które mo\na przekształcić do postaci:
Si = Ci(Ai Bi + Ai Bi) + Ci(Ai Bi + Ai Bi) ;
Si = Ci (Ai " Bi ) + Ci(Ai " Bi ) = Ai " Bi " Ci ;
oraz:
Ci+1 = Ai Bi Ci + Ai Bi Ci + Ai Bi Ci + Ai Bi Ci ;
Ci+1 = Ci(Ai Bi + Ai Bi) + Ai Bi (Ci + Ci) = Ai Bi + Ci(Ai " Bi)
Powy\sze równania potwierdzają wyczuwaną intuicyjnie mo\liwość realizacji jednobitowego
sumatora pełnego przy u\yciu dwóch półsumatorów i dodatkowej bramki sumy logicznej (OR),
sumującej przeniesienia obydwu półsumatorów (Rys. 1.1.2.c).
W celu dodawania liczb wielobitowych sumatory jednobitowe łączy się w większe zespoły. W
najprostszym przypadku tworzy się kaskadę sumatorów z szeregowo połączonymi wejściami i wyj-
ściami przeniesień (z tzw.
przeniesieniami szeregowymi,
An Bn A1 B1 A0 B0
Rys. 1.1.3). Wadą takiego po-
Cn+1 Cn C2 C1 C1 C0
łączenia jest ustalanie wyniku
Ł Ł Ł
Ł Ł Ł
Ł Ł Ł
Ł Ł Ł
n-tego sumatora dopiero po
ustaleniu kolejnych stanów
Sn S1 S0
wszystkich poprzedzających
sumatorów, co opóznia otrzy-
Rys. 1.1.3. Sumator n-bitowy z przeniesieniami szeregowymi.
manie wyniku. Lepszym roz-
wiązaniem jest wstępne wy-
znaczenie wszystkich przeniesień na podstawie wartości liczb wejściowych A i B przez tzw. blok
generacji przeniesień i następnie jednoczesne dodanie bitów na wszystkich pozycjach przez zespół
2
Układy arytmetyczne
sumatorów (Rys. 1.1.4). Układy takie nazywane są sumatorami z przeniesieniami równoległymi
(ang. look ahead).
An Bn A1 B1 A0 B0
Cn+1 C0
blok generacji przeniesień
An Bn A1 B1 A0 B0
Cn C1 C0
Ł Ł Ł
Ł Ł Ł
Ł Ł Ł
Ł Ł Ł
Sn S1 S0
Rys. 1.1.4. Sumator n-bitowy z przeniesieniami równoległymi.
W rodzinie układów scalonych TTL i TTL LS dostępne są sumatory dwójkowe 4-bitowe:
7483 (starego typu, z przeniesieniami szeregowymi) oraz 7483A, 74LS83A i 74LS283 (z przenie-
sieniami równoległymi). Symbol takiego sumatora przedstawiono na Rys. 1.1.5. Tab. 1.1.1 przed-
stawia fragment tabeli stanów układu.
A3 B3 A2 B2 A1 B1 A0 B0
CO CI
Ł
Ł
Ł
Ł
S3 S2 S1 S0
Rys. 1.1.5. Scalony dwójkowy sumator 4-
bitowy 7483, 7483A, 74LS83A lub 74LS283.
Tab. 1.1.1. Fragment tabeli stanów sumatora 7483 ... 74LS283.
Wejścia Wyjścia działanie
B3 B2 B1 B0 A3 A2 A1 A0 CI CO S3 S2 S1 S0
1 0 0 1 1 0 1 0 0 1 0 0 1 1 10+9=19
0 1 1 0 0 1 0 1 1 0 1 1 0 0 CI+5+6=12
1.1.2. Komparatory
Komparatory to układy do porównywania liczb, przedstawionych w zapisie dwójkowym.
Informację o równości dwóch liczb jednobitowych a i b uzyskać mo\na za pomocą funkcji:
(a = b) = a b (" a b = a " b .
która przyjmuje wartość 1 wtedy, gdy a=b=1 lub a=b=0. Funkcją taką jest negacja funkcji ALBO
(Exclusive OR). Układ do badania równości liczb wielobitowych zbudować mo\na z realizujących
powy\szą funkcję dwuwejściowych bramek Exclusive NOR, badających równość poszczególnych
3
Układy arytmetyczne
bitów i wielowejściowej bramki iloczynu logicznego AND, zbierającej
wyniki tych badań (Rys. 1.1.6. Na wyjściach bramek Ex NOR uzyskuje
a0
się 1 gdy bit ai = bi. Na wyjściu y występuje 1 gdy bity na wszystkich
b0
pozycjach są sobie równe.
a1 y
Informację o relacjach a>b lub ab1
uzyskać mo\na za pomocą funkcji:
a2
(a > b) = ab ; (a < b) = ab
b2
gdy\ jednobitowa liczba a jest większa od jednobitowej liczby b tylko
wtedy, gdy a=1 a b=0. Funkcje takie mo\na zrealizować przy u\yciu
Rys. 1.1.6. Przykład reali-
dwuwejściowej bramki AND i negacji. Relacje A>B lub Azacji komparatora 3-
wielobitowych określają relacje a>b lub abitowego.
szej pozycji, na której wartości bitów są ró\ne. Relacje między bitami
ni\szych pozycji są nieistotne.
a) b)
Wejścia do połączeń
A0
Wejścia komparacyjne Wyjścia
kaskadowych
A1
A3 , B3 A2 , B2 A1 , B1 A0 , B0 AB AB
A2
A3A3
A3>B3 x x x x x x 0 0 1
IAA3=B3 A2IA=B A=B A3=B3 A2>B2 x x x x x 0 0 1
IA>B A>B A3=B3 A2=B2 A1A3=B3 A2=B2 A1>B1 x x x x 0 0 1
B0
A3=B3 A2=B2 A1=B1 A0B1
A3=B3 A2=B2 A1=B1 A0B2
A3=B3 A2=B2 A1=B1 A0=B0 1 0 0 1 0 0
B3
A3=B3 A2=B2 A1=B1 A0=B0 0 1 0 0 1 0
74LS85
A3=B3 A2=B2 A1=B1 A0=B0 0 0 1 0 0 1
Rys. 1.1.8. Komparator scalony typu 74LS85: a) symbol b) tabela stanów.
Scalonym komparatorem, wyznaczającym re-
A0 A4
lacje:
A1 A5
AB
A2 A6
dla dwóch 4-bitowych liczb A i B jest układ 74LS85
A3 A7
"1"
o symbolu przedstawionym na Rys. 1.1.8. Wynik
IAporównania znaczony jest stanem 1 na jednym z
IA=B A=B IA=B A=B
trzech osobnych wyjść.
IA>B A>B IA>B A>B
Układ wyposa\ony jest w wejścia IAB0 B4
IA> B , umo\liwiające kaskadowe łączenie kilku
B1 B5
B2 B6
komparatorów w celu porównywania liczb o więk-
B3 B7
szej liczbie bitów (Rys. 1.1.7). Wejścia te łączy się z
74LS85 74LS85
odpowiednimi wyjściami poprzedzającego kompara-
tora, porównującego mniej znaczące bity liczb. W
Rys. 1.1.7. Komparator liczb 8-bitowych z
komparatorze porównującym bity na najni\szych
dwóch połączonych kaskadowo układów
74LS85.
4
Układy arytmetyczne
pozycjach wejścia te ustawia się na stałe w stan:
IA< B = 0 , IA= B = 1, IA> B = 0 ,
co neutralizuje wpływ tych wejść na wynik porównania. Stan wejść IA< B , IA = B , IA> B wpływa na
stan wyjść komparatora tylko gdy porównywane przez komparator 4-bitowe części liczb są równe.
Stan tych wejść jest wówczas po prostu przenoszony na wyjścia. W przypadku AB wynik
porównania mniej znaczącej części liczb przez poprzedzający komparator nie ma znaczenia.
1.1.3. Uniwersalna jednostka arytmetyczno-logiczna (ALU)
W rodzinie układów scalonych TTL i TTL LS produkowana jest uniwersalna jednostka aryt-
metyczno-logiczna 74LS181 (74181), zwana ALU (ang. Arythmetic Logic Unit). Jednostka taka
umo\liwia wykonywanie ró\norodnych operacji arytmetycznych i logicznych na dwóch 4-bitowych
liczbach dwójkowych. Liczby, na których wykonywane są operacje doprowadza się do wejść A3..A0
i B3..B0 (Rys. 1.1.9). Rodzaj operacji programuje się za pomocą wejść M i S3..S0. Przy M=1 wyko-
nywane są operacje logiczne, przy M=0 wykonywane
A3 B3 A2 B2 A1 B1 A0 B0
są operacje arytmetyczne. Rodzaj operacji określa
stan wejść S3..S0. Cztery linie wejściowe S3..S0 umo\-
CO
Ci
liwiają wybór 16-tu ró\nych funkcji. Układ wykonuje
M
zatem 16 ró\nych funkcji logicznych i 16 ró\nych
A=B S3
ALU
S2 funkcji arytmetycznych (łącznie 32 ró\ne funkcje).
74LS181
G
S1
Wynik operacji ustawiany jest na wyjściach F3..F0 i
P
S0
wyjściu przeniesienia Co .
Podstawowe wykonywane funkcje logiczne to:
F3 F2 F1 F0
negacja A lub B, suma logiczna A (" B , iloczyn lo-
giczny A '" B , ró\nica symetryczna A " B i ró\ne
Rys. 1.1.9. Uniwersalna jednostka arytme-
funkcje kombinowane: A '" B , A (" B , A '" B ,
tyczno - logiczna (ALU) 74LS181.
A (" B , A " B itp. Funkcje logiczne wykonywane są
na pojedynczych bitach, tzn. ka\da funkcja wykony-
wana jest niezale\nie i równolegle na wszystkich bitach Ai i Bi (i = [0,3]).
Podstawowe wykonywane funkcje arytmetyczne to: suma arytmetyczna A+B, ró\nica arytme-
tyczna A-B-1 oraz mieszane funkcje logiczno-arytmetyczne: ( A (" B )+A, A+( A '" B ) itp. Przy
funkcjach arytmetycznych uwzględniany jest stan wejścia przeniesienia Ci , a zatem funkcje te re-
alizowane są jako A+B+ Ci lub A-B-1+ Ci . Za pomocą funkcji A-B-1(+ Ci ) mo\na uzyskać bezpo-
średnio wynika A-B przy ustawieniu na wejściu przeniesienia () stanu 0.
Wyjście A=B ustawiane jest w stan 1 przy F3F2F1F0 = 1111. Mo\na to wykorzystać do po-
równywania liczb A i B za pomocą funkcji A-B-1 (przy Ci =0) która daje wynik F3F2F1F0 = 1111
(dziesiętnie -1) przy równości A=B. Przy wykorzystaniu wyjścia Co za pomocą tej samej funkcji
mo\na ustalić zale\ności A>B i AUkład 74LS181 zaopatrzony jest w blok generacji przeniesień równoległych, w związku z
czym jest bardzo szybki. Do operacji na liczbach o większej liczbie bitów mo\na łączyć kaskadowo
kilka układów tego typu. W najprostszym przypadku wejście przeniesienia Ci układu operującego
5
Układy arytmetyczne
na starszych czterech bitach liczby łączy się przy tym z wyjściem Co układu operującego na młod-
szych czterech bitach liczby. Przeniesienia między ka\dą czwórką bitów są wówczas przekazywane
szeregowo. Mo\na równie\ zastosować równoległą generację przeniesień między kolejnymi czwór-
kami bitów, realizowaną za pomocą specjalnych układów generacji przeniesień równoległych
74LS182. Do połączenia z tymi układami słu\ą wyjścia G i P. Równie\ wyjścia A=B, które są wyj-
ściami z otwartym kolektorem, łączy się równolegle do wspólnego rezystora, otrzymując sygnaliza-
cję stanu A = B liczb o długości większej ni\ 4 bity.
I
Opracował dr in\. Grzegorz Stępień
6


Wyszukiwarka

Podobne podstrony:
F1 86 Układy arytmetyczne 1
8 5 uklady arytmetyczne
zad6 uklady arytmetyczne2
Układy arytmetyczne cz 1
F1 87 Układy arytmetyczne 2
Mudry energetyczne układy dłoni(1)
uklady rownan (1)
PRZERZUTNIKI I UKŁADY SEKWENCYJNE
Układy napęd lista1 3 3 8 15
15 Język Instruction List Układy sekwencyjne Działania na liczbach materiały wykładowe
układy zasilania instalacji
Człowiek jako całość Układy funkcjonalne
Arytmetyka resztowa HDL
Uklady prostownicze

więcej podobnych podstron