194
X*Y | ||||||
*n |
*n |
^nl&n |
s, |
Rn | ||
0 |
0 |
0 |
0 |
fi |
fi |
fi |
fi |
fi |
ł |
i |
9 |
1 |
1 |
0 |
1 |
fi |
i |
1 |
1 |
1 |
fi I |
\ fi |
0 |
0 f |
1 - T~' |
_? 1 |
1 — r “ |
I |
0 |
1 |
0 |
i |
fi |
« |
1 |
1 |
fi |
0 |
i |
fi |
o |
i |
1 |
1 |
1 |
l |
1 |
i |
Rys. 5*80. Tabela działania Jedaobitowego sumatora i subtraktora. Oznaczenia: Zjj, Tq - n-te bity liczb wejściowych, - n-by bit sumy/różnlcy,
CQ+1 - przeniesienie z n-tego bitu na (n+1)-szy, Bn+1 - pożyczka od bitu
(n+1)-go dla n-tego
Rys. 5-81. N-bitowy sumator kaskadowy
Rekurencyjny charakter wyrażenia opisującego przeniesienie sugeruje w naturalny sposób koncepcję iteracyjnego sumatora wielobitowego, przedstawionego na rys. 5.81. Pokazany tam układ wprawdzie oblicza poszczególne bity sumy równocześnie, lecz jej prawdziwa wartość może się pojawić dopiero po tym, gdy sumator operujący na bitach najbardziej znaczących otrzyma właściwy sygnał przeniesienia, propagujący się wzdłuż całej kaskady sumatorów obsługujących niższe bity. Z tego względu układ z rys. 5.81 nazywany Jest sumatorem równoległym z przeniesieniem szeregowym lub sumatorem kaskadowym.
Oznaczając przez tgjj czas kaskadowego sumowania liczb N-bitowych, zaś przez tg^ czas obliczania sumy i przez czas obliczania przeniesienia względem przychodzącego przeniesienia w sumatorze Jednobitowym, mamy
*15^ = tS1 + (M“',)'*:ci
Konstruując sumator Jednobitowy przeznaczony do pracy w wielobitowej kaskadzie, należy więc dążyć do minimalizacji czasu propagacji przeniesienia, nawet za cenę pewnego wzrostu czasu propagacji sumy. Według tej zasady zaprojektowano sumatory 7480 i 7482.
Dalsze prlsyspleizenle sumowania uzyskuje się w sumatorze równoległym z przeniesieniem równoległym, zwanym krótko sumatorem równoległym. Zasada jego działania wynika z odmiennego wykorzystania rekurencyjnego opisu przeniesienia.
Zauważmy przede wszystkim, że w równaniu
Cń+1 = Vn + + VCn
składnik
Gn * ^nYn
ma sens przeniesienia generowanego w n-tym bicie, niezależnie od przychodzącego przeniesienia CQ, zaś
PnCn 1 <*n + VCn
ma sens przeniesienia propagowanego z bitu (n-1)-go do (n+1)-go z wagą Pn ustaloną w bicie n-tym.
Przy tych oznaczeniach sumę 1 przeniesienie można zapisać w postaci
(5.2)
Sn = ffnPn ® Cn
un+1
G + PC n n n
Algorytmiczne przyspieszenie sumowania uzyskuje się zastępując iterację (5.3) obliczaniem wszystkich przeniesień jednocześnie, według zależności (5.4), będących rozwiązaniami (5.3) względem C0 dla kolejnych bitów.
(5.4)
c2 * G-i -*■ *1*0 + P1PdG0
C3 * G2 + P2G1 + P2P1G0 + P2P1P0C0
°ą * GJ + P3G2 + ?3»2G1 + P3P2P1G0 + P3P2P1P0C0
itd.
Układ wykonujący takie obliczenia nazywamy generatorem przeniesień równoległych (Look - Ahead Carry Generator).
Układowe przyspieszenie sumowania polega na przekształceniu realizowanych funkcji logicznych do postaci, w której naturalnym staje się wykorzystanie bramek inwersyjnych (NATO, NOR, ATO-OR-MVERT), działających szybciej od analogicznych nieinwersyjnych (AND, OR, AND-OR). Przekształcając funkcję (5.3) do postaci
otrzymujemy analogiszny do (5.4) ciąg wyrażeń (5.6) wyznaczających kolejne przeniesienia.