19^
X*Y |
X- |
•V | ||||
Xn |
V„ |
CA |
s, |
C„,i |
Rn | |
0 |
« |
0 |
« |
0 |
a |
a |
0 |
1 |
ł |
i |
t |
i |
i |
0 |
1 |
0 |
ł |
1 |
i |
i |
0 |
ł |
ł |
0 |
1 |
9 |
ł |
1 |
1 |
~T ~" |
1 |
- T~- |
"1 ~ |
• r “ |
ł |
0 |
i |
0 |
i |
a |
a |
1 |
1 |
0 |
0 |
ł |
0 |
a |
ł |
1 |
i |
i |
ł |
i |
f |
Rys. 5*30. Tabela działania Jednobitowego sumatora i subtraktora. Oznaczenia: Zjj, Yn - n-te bity liczb wejściowych, Sn/Rn - n-by bit sumy/różnlcy,
CQ+1 - przeniesienie z n-tego bitu na (n+1)-szy, Bn+-) - potyczka 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
*311 = fcS1 + O-^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 prfcyspleitenle 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 + <*n ♦ VCn
składnik
Gn = Vn
ma sens przeniesienia generowanego w n-tym bicie, niezależnie od przychodzącego przeniesienia CQ> zaś
PaCn ś + 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
n+1
+ P„c 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 CQ dla kolejnych bitów.
C1 = G0 + P0C0
C2 * G1 * P1G0 + P1P()Po
C5 * G2 + P2^ą + + P2P1P0C0
C4 * G3 + P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1P0C0 itd.
Układ wykonujący takie obliczenia nazywamy generatorem przeniesień równoległych (Look - Ahead Oarry 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, AND-OR-INVERT), działających szybciej od analogicznych nieinwersyjnych (AND, OR, AND-OR).
Przekształcając funkcję (5.3) do postaci
otrzymujemy analogtmsńy do (5.4) ciąg wyrażeń (5.6) wyznaczających kolejne przeniesienia.