Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
informatyka:podstawy-dzialania-komputera:adder_sumator [2024/05/04 07:36] – kawcix | informatyka:podstawy-dzialania-komputera:adder_sumator [2024/05/04 15:52] (current) – kawcix | ||
---|---|---|---|
Line 4: | Line 4: | ||
Aby go zbudować, zbudujemy half adder - który dodaje 2 bity i Full adder - który dodaje 3 bity. | 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ć: | ||
+ | |||
+ | {{: | ||
===== Half Addder ===== | ===== Half Addder ===== | ||
Line 10: | Line 14: | ||
Mamy 2 wejścia A i B. Są to bity do dodania. Na wyjściu mamy Sum - czyli wynik dodawania, i carry - te " | Mamy 2 wejścia A i B. Są to bity do dodania. Na wyjściu mamy Sum - czyli wynik dodawania, i carry - te " | ||
+ | |||
+ | [[informatyka: | ||
+ | |||
+ | SUM: | ||
+ | |||
+ | NOT(A) AND B OR A AND NOT(B) | ||
+ | |||
+ | CARRY: | ||
+ | |||
+ | A AND B | ||
+ | |||
+ | Implementacja i prezentacja działania: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Full Addder ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Prościej jest zaimplementować full adder za pomocą half adderów: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== Adder ===== | ||
+ | |||
+ | Mając już half adder i full adder możemy je połączyć, | ||
+ | |||
+ | Poniżej implementacja addera który dodaje dwie 4 bitowe liczby. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Na początku mamy half adder, bo nie potrzebujemy " | ||
+ | |||
+ | Bardziej " | ||
+ | |||
+ | {{ : | ||