8 5 uklady arytmetyczne


8.5. Układy arytmetyczne
Są to układy, wykonujące operacje arytmetycznych na
liczbach, przedstawionych w zapisie dwójkowym.
Ponieważ wszystkie podstawowe działania arytmetyczne:
dodawanie, odejmowanie, mnożenie 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,
podstawowym 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, nazywane komparatorami oraz
uniwersalne układy arytmetyczno - logiczne, realizujące
różne operacje arytmetyczne i logiczne.
Opracował dr inż. Grzegorz Stępień
1 ETR 8.5
1. Sumatory
Sumatory to układy wykonujące dodawanie liczb,
przedstawionych w zapisie dwójkowym. Podstawowy układ
do dodawania dwóch jednobitowych liczb dwójkowych A i B
to tzw. półsumator.
Wejścia Wyjścia
Suma
dziesiętnie
B A C S
0 0 0 0 (0)
0 1 0 1 (1)
1 0 0 1 (1)
1 1 1 0 (2)
Reguły sumowania przedstawia tabela. Wynik dodawania
musi być przedstawiony przy użyciu dwóch bitów. Młodszy
bit wyniku wyprowadzany jest na wyjście S, starszy bit
wyniku na wyjście C.
2 ETR 8.5
Wyjście S znajduje się w stanie 1 gdy jedno
B A C S
z wejść (A lub B) znajduje się w stanie 0 a
0 0 0 0
drugie w stanie 1. Wyjście S związane jest
0 1 0 1
zatem z wejściami A i B funkcją XOR:
1 0 0 1
1 1 1 0
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 funkcję 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:
3 ETR 8.5
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 (przeniesiona 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
4 ETR 8.5
Tabela przedstawia sumowanie Ai + Bi +Ci:
Wejścia Wyjścia
Wyjście Si przyjmuje
Bi Ai Ci Ci+1 Si
wartość  1 gdy tylko jedno
0 0 0 0 0
z wejść Ci, Ai lub Bi równa
0 0 1 0 1
się 1 (suma równa 1) lub
0 1 0 0 1
wszystkie 3 wejścia mają
0 1 1 1 0
wartość  1 (suma równa 3):
1 0 0 0 1
Si =
1 0 1 1 0
AiBiCi+AiBiCi+AiBiCi+AiBiCi;
1 1 0 1 0
Wyjście Ci+1 jest równe  1 ,
1 1 1 1 1
gdy dwa z wejść Ci, Ai lub Bi
mają wartość  1 (suma 2) lub wszystkie 3 wejścia mają
wartość  1 (suma równa 3):
Ci+1 = AiBiCi+AiBiCi+AiBiCi+AiBiCi;
5 ETR 8.5
Po przekształceniach:
Si Ci(AiBi AiBi) Ci(AiBi AiBi)
Si Ci(Ai Bi) Ci(Ai Bi) Ai Bi Ci
Ci 1 AiBiCi AiBiCi AiBiCi AiBiCi
Ci 1 Ci(AiBi AiBi) AiBi(Ci Ci) AiBi Ci(Ai Bi)
Jednobitowy sumator
pełny realizuje się przy
użyciu dwóch
półsumatorów i
dodatkowej bramki
sumy logicznej (OR),
sumującej
przeniesienia obydwu
półsumatorów.
6 ETR 8.5
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
Cn+1 Cn C2 C1 C1 C0
Sn S1 S0
Wadą takiego połączenia jest ustalanie wyniku n-tego
sumatora dopiero po ustaleniu kolejnych stanów
wszystkich poprzedzających sumatorów, co opóznia
otrzymanie wyniku.
7 ETR 8.5
Lepszym rozwiązaniem jest wstępne wyznaczenie
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ół sumatorów. Układy takie nazywane
są sumatorami z przeniesieniami równoległymi (ang. look
ahead).
An Bn A1 B1 A0 B0
C0
Cn+1
blok generacji przeniesień
An Bn A1 B1 A0 B0
Cn C1 C0
Sn S1 S0
8 ETR 8.5
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 przeniesieniami równoległymi):
A3 B3 A2 B2 A1 B1 A0 B0
CO CI
S3 S2 S1 S0
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
9 ETR 8.5
2. Komparatory
Są 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) ab ab 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 bitów i wielowejściowej bramki iloczynu
logicznego AND, zbierającej wyniki tych badań.
10 ETR 8.5
Na wyjściach bramek Ex NOR
uzyskuje się 1 gdy bit ai = bi. Na
wyjściu y występuje 1 gdy bity na
wszystkich pozycjach są sobie równe.
Informację o relacjach a>b lub ajednobitowych uzyskać można za pomocą funkcji:
(a b) ab (a b) ab
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 dwuwejściowej bramki AND i
negacji. Relacje A>B lub Arelacje a>b lub ana której wartości bitów są różne. Relacje między bitami
niższych pozycji są nieistotne.
11 ETR 8.5
Scalonym komparatorem, wyznaczającym relacje:
AB
dla dwóch 4-bitowych liczb A i B jest układ 74LS85
Wejścia do
Wejścia komparacyjne połączeń Wyjścia
kaskadowych
A3 , B3 A2 , B2 A1 , B1 A0 , B0 AB AB
A3A3>B3 x x x x x x 0 0 1
A3=B3 A2A3=B3 A2>B2 x x x x x 0 0 1
A3=B3 A2=B2 A1A3=B3 A2=B2 A1>B1 x x x x 0 0 1
A3=B3 A2=B2 A1=B1 A0A3=B3 A2=B2 A1=B1 A0>B0 x x x 0 0 1
A3=B3 A2=B2 A1=B1 A0=B0 1 0 0 1 0 0
A3=B3 A2=B2 A1=B1 A0=B0 0 1 0 0 1 0
A3=B3 A2=B2 A1=B1 A0=B0 0 0 1 0 0 1
12 ETR 8.5
Wynik porównania znaczony jest stanem 1 na jednym z
trzech osobnych wyjść. Układ wyposażony jest w wejścia
IAB, umożliwiające kaskadowe łączenie kilku
komparatorów w celu porównywania liczb o większej liczbie
bitów. Wejścia te łączy się z odpowiednimi wyjściami
poprzedzającego komparatora, porównującego mniej
znaczące bity liczb.
W komparatorze porównującym
bity na najniższych pozycjach
wejścia te ustawia się na stałe w
stan:
IAB=0,
co neutralizuje wpływ tych wejść
na wynik porównania.
13 ETR 8.5
Stan wejść IAB, 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.
3. Uniwersalna jednostka arytmetyczno-logiczna (ALU)
W rodzinie układów scalonych TTL i TTL LS produkowana
jest uniwersalna jednostka arytmetyczno-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.
14 ETR 8.5
A3 B3 A2 B2 A1 B1 A0 B0
Liczby, na których wykonywane są
CO
Ci
operacje doprowadza się do wejść
M
A=B S3
ALU
S2
A3..A0 i B3..B0.
74LS181
G
S1
P
S0
Rodzaj operacji programuje się za
F3 F2 F1 F0 pomocą wejść M i S3..S0.
Przy M=1 wykonywane są operacje logiczne, przy M=0
wykonywane są operacje arytmetyczne. Rodzaj operacji
określa stan wejść S3..S0. Cztery linie wejściowe S3..S0
umożliwiają wybór 16-tu różnych funkcji. Układ wykonuje
zatem 16 różnych funkcji logicznych i 16 różnych funkcji
arytmetycznych (łącznie 32 różne funkcje). Wynik operacji
ustawiany jest na wyjściach F3..F0 i wyjściu przeniesienia Co.
15 ETR 8.5
Podstawowe wykonywane funkcje logiczne to:
" negacja A lub B
A B
" suma logiczna
" iloczyn logiczny A B
" różnica symetryczna
A B
" różne funkcje kombinowane:
A B
A B A B A B A B
itp.
Funkcje logiczne wykonywane są na pojedynczych bitach,
tzn. każda funkcja wykonywana jest niezależnie i
równolegle na wszystkich bitach Ai i Bi (i = [0,3]).
16 ETR 8.5
Podstawowe wykonywane funkcje arytmetyczne to:
" suma arytmetyczna A+B
" różnica arytmetyczna 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 realizowane
są jako A+B+Ci lub A-B-1+Ci. Za pomocą funkcji
A-B-1+Ci można uzyskać bezpośrednio wynik A-B przy
ustawieniu na wejściu przeniesienia (Ci) stanu 0.
Wyjście A=B ustawiane jest w stan 1 przy F3F2F1F0 = 1111.
Można to wykorzystać do porównywania liczb A i B za
pomocą funkcji A-B-1. Przy wykorzystaniu wyjścia Co za
pomocą tej samej funkcji można ustalić zależności A>B i
A17 ETR 8.5
Ukł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 na starszych czterech bitach liczby łączy się z
wyjściem Co układu operującego na młodszych czterech
bitach liczby. Przeniesienia między każdą czwórką bitów są
przekazywane szeregowo. Można zastosować równoległą
generację przeniesień między kolejnymi czwórkami bitów 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 (z otwartym kolektorem),
łączy się równolegle do wspólnego rezystora, otrzymując
sygnalizację stanu A = B liczb o długości większej niż 4 bity.
18 ETR 8.5
Pełna lista wykonywanych funkcji 74LS181:
19 ETR 8.5


Wyszukiwarka

Podobne podstrony:
F1 86 Układy arytmetyczne 1
zad6 uklady arytmetyczne2
Układy arytmetyczne cz 1
Uklady arytmetyczne
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