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.
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
| A | B | C | S |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
S = A XOR B, C = A AND B
Pełny sumator
| A | B | Cᵢₙ | Cₒᵤₜ | S |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 |
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.