UC-W14B.pdf

(186 KB) Pobierz
(Microsoft Word - Uk\263ady logiczne - matrialy pomocnicze.doc)
10. Ukÿady arytmetyczne
Definicja 10.1.
Cyfrowe ukÿady scalone umoƌliwiajħce realizacjĶ podstawowych dziaÿaś arytmetycznych, takich
jak dodawanie, odejmowanie, mnoƌenie i dzielenie nazywa siĶ ukÿadami arytmetycznymi.
Na rysunku 10.1. przedstawiona jest klasyfikacja ukÿadw arytmetycznych [6]:
Bloki
arytmetyczne
Sumatory
Komparatory
Jednostki
arytm.-log.
ALU
Multiplikatory Ukþady kontroli
parzystoĻci
10.1. Sumator
Podstawowym dziaÿaniem arytmetycznym jest dodawanie, za pomocħ ktrego moƌna wyraziĚ
wszystkie pozostaÿe dziaÿania arytmetyczne. Zatem podstawowym ukÿadem arytmetycznym jest
sumator:
Definicja 10.2.
Sumator jest ukÿadem arytmetycznym sÿuƌħcym do dodawania liczb dwjkowych [3].
96188889.016.png 96188889.017.png 96188889.018.png 96188889.019.png
10.1.1. Pÿsumator
Najprostszym ukÿadem sumatora jest pÿsumator, czyli ukÿad operujħcy na dwch jednobitowych
liczbach wejŰciowych a i b, generujħcy bit sumy S oraz bit przeniesienia C [3].
Symbol pÿsumatora jednobitowego przedstawiony jest na rysunku 10.2.:
a
b
1/2
Ã
C
oo
S
Sposb dziaÿania pÿsumatora przedstawiony jest w tabeli 10.1.:
o
a
b
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
Rwnania generacji sumy i przeniesienia na podstawie wartoŰci zmiennych wejŰciowych
a i b wyglħdajħ nastĶpujħco [6]:
=
£
()
=
µ
Schemat logiczny pÿsumatora jednobitowego przedstawiony jest na rysunku 10.3.:
a
b
S
C
ooooo
Pÿsumatory stosuje siĶ w ukÿadach inkrementujħcych (zwiĶkszajħcych stan o 1). Ukÿad taki
skÿada siĶ z n pÿsumatorw poÿħczonych kaskadowo. Na wejŰcia a podaje siĶ liczbĶ, ktrħ naleƌy
inkrementowaĚ. WejŰcia b nie sħ potrzebne, wiĶc uƌywa siĶ ich do przeniesienia z pozycji mniej
znaczħcej. Aby wykonaĚ inkrementacjĶ, czyli dodaĚ 1 do najmniej znaczħcego bitu, podaje siĶ
96188889.001.png 96188889.002.png 96188889.003.png
 
stan na wejŰcie b pierwszego sumatora. Schemat ideowy takiego ukÿadu dla liczb 4-bitowych
przedstawiono na rysunku 10.4.
a 4
a 3
a 2
a 1
a
b
a
b
a
b
a
b
C 4
1/
2
Ã
C 3
1/
2
Ã
C 2
1/
2
Ã
C 1
1/
2
Ã
1
S
S
S
S
C 4
S 4
S 3
S 2
S 1
o
Pÿsumator nie uwzglĶdnia przeniesienia z poprzedniej pozycji, co jest szczeglnie waƌne
podczas dodawania liczb wielobitowych. Ukÿadem, ktry oprcz wartoŰci zmiennych
a i b uwzglĶdnia rwnieƌ wartoŰĚ przeniesienia z poprzedniej pozycji (C i-1 ) jest sumator peÿny [3].
10.1.2. Sumator peÿny
Symbol oglny jednobitowego sumatora peÿnego przedstawiony jest na rysunku 10.5. [6]:
C i-1
a i b i
C i
Ã
S i
oooo
Sposb dziaÿania jednobitowego sumatora peÿnego przedstawiony jest w tabeli 10.2.:
oo
a i b i C i - 1 S i C i
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
96188889.004.png 96188889.005.png
 
a i b i C i - 1 S i C i
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Na podstawie tabeli 10.2. moƌna wyprowadziĚ rwnania generujħce sumĶ S i (wzr 10.2.) oraz
przeniesienie do nastĶpnej pozycji C i (wzr 10.3.):
=
µ
µ
-
1
+
µ
µ
-
1
+
µ
µ
-
1
+
µ
µ
-
1
=
£
£
-
1
()
=
µ
µ
-
1
+
µ
µ
-
1
+
µ
µ
-
1
+
µ
µ
-
1
=
µ
+
-
1
£
()
Na podstawie powyƌszych rwnaś moƌna stworzyĚ schemat logiczny jednobitowego ukÿadu
sumatora peÿnego (rysunek 10.6.):
a i
b i
C i-1
S i
C i
oooooo
Dodawanie dwch wielobitowych liczb dwjkowych moƌna zrealizowaĚ szeregowo (rysunek
10.7.) lub rwnolegle (10.8.).
skþadnik a
CLK
a i
C i-1
suma
Ã
C i
skþadnik b
S i
CLK
b i
CLK
D Q
CLK
CLK
oooo
W sumatorze szeregowym (ang. ) w kaƌdym kroku dodawane sħ, poczynajħc od
pozycji najmniej znaczħcej, dwa bity skÿadnikw oraz bit przeniesienia z poprzedniej pozycji. Do
przechowywania zmiennych a oraz b oraz wyniku S wykorzystywane sħ n-bitowe rejestry
96188889.006.png 96188889.007.png 96188889.008.png 96188889.009.png 96188889.010.png 96188889.011.png 96188889.012.png
przesuwne. Przeniesienie z poprzedniej pozycji jest zapamiĶtywane, np. za pomocħ przerzutnika
D. Zaletami sumatorw szeregowych sħ ich prostota i maÿa liczba ukÿadw potrzebnych do
realizacji. Natomiast wadħ jest maÿa szybkoŰĚ dziaÿania Ï czas trwania t dodawania skÿadnikw
n-bitowych wynosi:
T
=
n
()
gdzie:
T - takt zegara.
a 4
b 4
a 3
b 3
a 2
b 2
a 1
b 1
a
b
a
b
a
b
a
b
à C 3
à C 2
à C 1
à C 0
C 4
C 3
C 2
C 1
á0"
S
S
S
S
C 4
S 4
S 3
S 2
S 1
ooo
Do realizacji dodawania rwnolegÿego potrzebny jest sumator wielopozycyjny, ktry moƌna
otrzymaĚ ÿħczħc ze sobħ odpowiednio szereg sumatorw jednopozycyjnych. Najprostszym
przykÿadem sumatora rwnolegÿego jest sumator kaskadowy (sumator rwnolegÿy
z przeniesieniami szeregowymi Ï ang. ), ktrego schemat ideowy jest
przedstawiony na rysunku 10.7.. Poszczeglne pary bitw sħ dodawane za pomocħ osobnych
sumatorw, przy czym generowane na danej pozycji przeniesienie jest kierowane do sumatora
pozycji nastĶpnej [3].
JeŰli przeniesienie pojawiajħce siĶ na dowolnej pozycji oddziaÿywaÿoby tylko na nastĶpnħ pozycjĶ,
wwczas dodawanie takie trwaÿoby bardzo krtko. Niestety przeniesienie moƌe propagowaĚ
nawet na caÿe sÿowo (np. dla +), wiĶc dodawanie rwnolegÿe
z przeniesieniami szeregowymi nie bĶdzie tak szybkie, jakby siĶ to mogÿo wydawaĚ [6].
Istniejħ specjalne konstrukcje sumatorw rwnolegÿych umoƌliwiajħce przyspieszenie dodawania.
Do najczĶŰciej obecnie wykorzystywanych naleƌy sumator z przeniesieniami jednoczesnymi
(rwnolegÿymi Ï ang. oo ). W sumatorze takim wszystkie przeniesienia sħ
wytwarzane jednoczeŰnie, na podstawie wartoŰci bitw sumowanych skÿadnikw i przeniesienia
poczħtkowego [3, 8].
t µ
96188889.013.png 96188889.014.png 96188889.015.png
 
Zgłoś jeśli naruszono regulamin