Sumator binarny

Jak komputer dodaje liczby? Zbuduj dodawanie z bramek logicznych: od półsumatora, przez pełny sumator, aż po 4-bitowy układ, w którym przeniesienie wędruje z bloku do bloku.

Kliknij przełączniki albo naciśnij A, B i C. Pomarańczowy przewód niesie 1, fioletowy niesie przeniesienie.

Tablica prawdy

Dodaj sam

Dodaj dwie liczby w systemie dwójkowym i wpisz wynik zerami i jedynkami. Pamiętaj: 1 + 1 = 10, a 1 + 1 + 1 = 11.

Dobrze0
Seria0
Rekord0

Jak komputer dodaje liczby?

Dodawanie pisemne w systemie dwójkowym

Dodaje się tak samo jak w szkole: kolumnami od prawej, z przeniesieniem. Różnica jest jedna: w systemie dwójkowym są tylko cyfry 0 i 1, więc przeniesienie pojawia się już przy 1 + 1.

0 + 0     = 0
0 + 1     = 1
1 + 1     = 10   (piszemy 0, przenosimy 1)
1 + 1 + 1 = 11   (piszemy 1, przenosimy 1)

Przykład: 6 + 3 = 9

   1 1      ← przeniesienia
   0 1 1 0  (6)
 + 0 0 1 1  (3)
 ─────────
   1 0 0 1  (9)

Półsumator

Półsumator dodaje dwa bity. Wystarczą mu dwie bramki: XOR daje cyfrę wyniku (S, suma), a AND daje przeniesienie (C). Gdy dodajemy 1 + 1, XOR daje 0, a AND daje 1, co razem tworzy 10.

Pełny sumator

Pełny sumator dodaje trzy bity: dwa bity liczb i przeniesienie z poprzedniej kolumny. Składa się z dwóch półsumatorów i bramki OR, która łączy ich przeniesienia.

Sumator wielobitowy

Łącząc pełne sumatory w łańcuch, dostajemy układ dodający całe liczby. Przeniesienie z każdego bloku trafia do następnego, jak przy dodawaniu pisemnym. Taki układ nazywa się sumatorem z przeniesieniem kaskadowym (ang. ripple-carry adder). Sumator jest sercem ALU, czyli części procesora, która liczy.

Tablice prawdy sumatorów

Półsumator

Tablica prawdy półsumatora: wejścia A i B, wyjścia S (suma) i C (przeniesienie)
ABCS
0000
0101
1001
1110

S = A XOR B, C = A AND B

Pełny sumator

Tablica prawdy pełnego sumatora: wejścia A, B i przeniesienie wejściowe, wyjścia przeniesienie i suma
ABCᵢₙCₒᵤₜS
00000
00101
01001
01110
10001
10110
11010
11111

S = A XOR B XOR Cᵢₙ, Cₒᵤₜ = (A AND B) OR ((A XOR B) AND Cᵢₙ)

Najczęstsze pytania o sumatory

Co to jest sumator?

Sumator to układ cyfrowy zbudowany z bramek logicznych, który dodaje liczby zapisane w systemie dwójkowym. Jest podstawową częścią jednostki arytmetyczno-logicznej (ALU) w każdym procesorze.

Czym różni się półsumator od pełnego sumatora?

Półsumator dodaje dwa bity i nie uwzględnia przeniesienia z poprzedniej kolumny. Pełny sumator dodaje trzy bity: dwa bity liczb i przeniesienie, dlatego można go łączyć w łańcuch do dodawania liczb wielobitowych.

Ile to jest 1 + 1 w systemie dwójkowym?

1 + 1 = 10. W systemie dwójkowym nie ma cyfry 2, więc w kolumnie zapisujemy 0, a 1 przenosimy do następnej kolumny, tak jak w systemie dziesiętnym 5 + 5 daje 10.

Z jakich bramek zbudowany jest półsumator?

Z bramki XOR, która oblicza cyfrę sumy, i bramki AND, która oblicza przeniesienie. XOR daje 1, gdy dokładnie jeden bit jest równy 1, a AND daje 1 tylko wtedy, gdy oba bity są równe 1.

Co to jest przepełnienie przy dodawaniu?

Przepełnienie występuje, gdy wynik nie mieści się w dostępnej liczbie bitów. Na 4 bitach można zapisać liczby do 15, więc wynik 9 + 8 = 17 wymaga piątego bitu. Ten bit to przeniesienie wychodzące z ostatniego sumatora.

Dlaczego procesory nie używają zwykłego sumatora kaskadowego?

W sumatorze kaskadowym każdy blok musi czekać na przeniesienie z poprzedniego, więc przy 64 bitach dodawanie trwa długo. Nowoczesne procesory używają sumatorów z przewidywaniem przeniesienia (carry-lookahead), które obliczają przeniesienia równolegle.