====== 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 |}}