informatyka:podstawy-dzialania-komputera:adder_sumator

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

informatyka:podstawy-dzialania-komputera:adder_sumator [2026/05/19 11:17] – created kawcixinformatyka:podstawy-dzialania-komputera:adder_sumator [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
 +====== 8 Adder (Sumator) ======
 +
 +**Adder** – cyfrowy układ kombinacyjny, który wykonuje operacje dodawania dwóch liczb dwójkowych.
 +
 +Aby go zbudować, zbudujemy half adder - który dodaje 2 bity i Full adder - który dodaje 3 bity. 
 +
 +Aby zrozumieć jego działanie musisz przeczytać: [[informatyka:podstawy-dzialania-komputera:dodawanie_w_systemie_binarnym|7 Dodawanie w systemie binarnym]]
 +
 +{{:informatyka:podstawy-dzialania-komputera:half-adder-and-full-adder.jpg?400|}}
 +
 +===== Half Addder =====
 +
 +{{:informatyka:podstawy-dzialania-komputera:halfadddertruthtable.png?400|}}
 +
 +Mamy 2 wejścia A i B. Są to bity do dodania. Na wyjściu mamy Sum - czyli wynik dodawania, i carry - te "przeniesienie". full adder będzie miał 3 wejścia A, B, i własnie carry, ale narazie zajmijmy się half adderem
 +
 +[[informatyka:podstawy-dzialania-komputera:zamiania_tabeli_prawdy_na_wyrazenie_boolowskie|2 Zamiana tabeli prawdy na wyrażenie boola]]
 +
 +SUM:
 +
 +NOT(A) AND B OR A AND NOT(B)
 +
 +CARRY:
 +
 +A AND B 
 +
 +Implementacja i prezentacja działania:
 +
 +{{ :informatyka:podstawy-dzialania-komputera:nagranie_ekranu_z_2024-05-04_07-48-05.webm |}}
 +
 +===== Full Addder =====
 +
 +{{:informatyka:podstawy-dzialania-komputera:full-addertruthtable.png?400|}}
 +
 +SUM:
 +NOT(A) AND NOT(B) AND C OR
 +
 +NOT(A) AND B AND NOT(C) OR 
 +
 +A AND NOT(B) AND NOT(C) OR
 +
 +A AND B AND C
 +
 +SUM:
 +NOT(A) AND NOT(B) AND C OR
 +NOT(A) AND B AND NOT(C) OR 
 +A AND NOT(B) AND NOT(C) OR
 +A AND B AND C
 +
 +CARRY:
 +NOT(A) AND B AND C
 +A AND NOT(B) AND C
 +A AND B AND NOT(C)
 +A AND B AND C
 +=
 +C AND B OR A AND B OR A AND C
 +
 +moja implementacja:
 +
 +{{ :informatyka:podstawy-dzialania-komputera:nagranie_ekranu_z_2024-05-04_11-43-08.webm |}}
 +
 +Prościej jest zaimplementować full adder za pomocą half adderów:
 +
 +{{:informatyka:podstawy-dzialania-komputera:zrzut_ekranu_z_2024-05-04_11-45-25.png?400|}}
 +
 +
 +===== Adder =====
 +
 +Mając już half adder i full adder możemy je połączyć, aby otrzymać adder. 
 +
 +Poniżej implementacja addera który dodaje dwie 4 bitowe liczby.
 +
 +{{:informatyka:podstawy-dzialania-komputera:4bitadder.png?600|}}
 +
 +Na początku mamy half adder, bo nie potrzebujemy "carry" dla pierwszej liczby. Następnie mamy odpowiednio połączone full addedry. 
 +
 +Bardziej "czytelny" przykład jego działania:
 +
 +{{ :informatyka:podstawy-dzialania-komputera:nagranie_ekranu_z_2024-05-04_15-48-05.webm |}}
 +
 +
 +