Sumator (układ logiczny)

1-bitowy pełny sumator uzyskany za pomocą dwóch półpełnych sumatorów.
półpełny sumator.
Pełny sumator 1-bitowy.

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. Każdy sumator charakteryzuje się typem ukończenia:
    1. Sumator pełny (ang. full adder)
    2. Sumator półpełny (ang. half adder).

Każdy pełny sumator pełny składa się z dwóch sumatorów półpełnych.

Sumatory równoległe z kolei obejmują dwie grupy:

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

Teoria

Tablica prawdy dla sumatora półpełnego i 1-bitowego sumatora pełnego:

0000
0110
1010
1101
00000
01010
10010
11001
00110
01101
10101
11111

gdzie:

  • – pierwszy składnik sumy,
  • – drugi składnik sumy,
  • – przeniesienie z poprzedniej pozycji,
  • – suma,
  • – 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

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

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ż

Media użyte na tej stronie

2 Half Adder.png
Autor: Nycaff, Licencja: CC BY-SA 4.0
2 half adders = 1 full adder
Full-adder.svg
Autor: en:User:Cburnett, Licencja: CC-BY-SA-3.0
Full adder. Used Image:And.svg and Image:Xor-gate-en.svg for AND & XOR gates (both GFDL). OR gate based on XOR gate.
Half-adder-circuit-diagram.png
Autor: Nycaff, Licencja: CC BY-SA 4.0
pół-pełny sumator