Sumator (układ logiczny)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Sumatorcyfrowy układ kombinacyjny, który wykonuje operacje dodawania dwóch (lub więcej) liczb dwójkowych. Sumatory można podzielić na:

  1. szeregowe (ang. serial adder): podczas każdej operacji dodają one dwa bity składników oraz bit przeniesienia;
  2. równoległe (ang. parallel adder): wielopozycyjne, dodają do siebie jednocześnie bity ze wszystkich pozycji, a przeniesienie realizowane jest w zależności od sposobu połączenia sumatorów jednobitowych.

Z kolei sumatory równoległe obejmują dwie grupy:

  1. z przeniesieniami szeregowymi (ang. ripple-carry adder),
  2. z przeniesieniami równoległymi (ang. carry look-ahead adder).

Teoria[edytuj]

Full-adder.svg

Tabela prawdy dla sumatora 1-bitowego:

ai bi ci-1 si ci
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1

gdzie:

  • ai – pierwszy składnik sumy,
  • bi – drugi składnik sumy,
  • ci−1 – przeniesienie z poprzedniej pozycji,
  • si – suma,
  • ci – przeniesienie.

Wyrażenia boolowskie opisujące sumę i przeniesienie:

.

Wprowadza się jeszcze oznaczenia:

– grupa generacyjna
– grupa propagacyjna.

Można wówczas zapisać przeniesienie:

Sumator z przeniesieniami szeregowymi[edytuj]

Sumator ten zbudowany jest z bloków funkcjonalnych, które realizują funkcje i . Bloki są połączone kaskadowo (ang. ripple), tzn. wyjście jest łączone z wejściem bloku następnego.

Aby na przykład otrzymać bit sumy uprzednio muszą zostać wyznaczone sygnały przeniesień , oraz , ponieważ zależy od , a ten zależy od . Czas otrzymania ostatecznego wyniku jest więc ograniczony od dołu przez × czas generacji przeniesienia , gdzie to liczba elementarnych bloków, z których zbudowanych jest sumator.

Sumator z przeniesieniami równoległymi[edytuj]

W sumatorze z przeniesieniami równoległymi bity przeniesień są wyznaczane równolegle. Wyrażenia opisujące rekursywnie rozwijane, tzn. występujący w nich składnik jest zastępowany stosownym wyrażeniem, np.:

Układ buduje się z dwóch głównych części:

  1. bloków wyznaczających sumę oraz grup generacyjnych i propagacyjnych (które są liczone niezależnie!);
  2. bloku generującego przeniesienia, zgodnie z rozwiniętymi wyrażeniami.

W praktyce buduje się 4-bitowe sumatory tego typu, ze względu na znaczne skomplikowanie wyrażeń (a więc i obwodów elektrycznych bloku nr 2).

Sumator z przeniesieniami równoległymi jest ok. 20–40% szybszy niż sumator z przeniesieniami szeregowymi.

Zobacz też[edytuj]