F1-89
© J. Kalisz, WAT, 2006
Sumator równoległy z przeniesieniami równoległymi
(antycypowanymi,
carry-look-ahead
, CLA)
• Cel: tworzenie przeniesień
niezależnie
od bitów sumy i
jednocześnie
• Przeniesienie na pozycję (i + 1), i = 0,1,…,n – 1:
c
i
+1
= p
i
q
i
+ c
i
(p
i
+
q
i
)
► nie korzystamy z funkcji XOR!
• Wprowadzając oznaczenia
g
i
= p
i
q
i
i h
i
= p
i
+
q
i
c
i
+1
= g
i
+ c
i
h
i
• Podstawiając
c
i
kolejno dla i, i – 1, i – 2,…, 1, 0
c
i
+1
= g
i
+ h
i
g
i
-1
+ h
i
h
i
-1
g
i
-2
+ … + h
i
h
i
-1
⋅⋅⋅ h
0
c
0
• Podstawiając c
0
= g
-1
:
+
=−
= +
=
∑ ∏
1
1
1
i
i
i
j
k
j
k j
c
g
h
• W praktyce i ≤ 4. Ograniczenie: maksymalna liczba wejść
bramki AND i OR (równa i + 2)
• Stosuje się również generatory przeniesień równoległych
„drugiego poziomu”
dla grup sumatorów CLA
, np. 4-bitowych
• Do jednoczesnego dodawania
trzech
liczb dwójkowych stosuje
się
sumator przechowujący przeniesienie
(
carry-save adder
)