Yarım Toplayıcı ve Tam Toplayıcı (Half / Full Adder)
Toplayıcılar, iki ikilik sayıyı toplayan kombinasyonel devrelerdir ve her işlemcinin aritmetik biriminin (ALU) kalbidir. İki temel yapı taşı vardır: yarım toplayıcı ve tam toplayıcı. İkisi de yalnızca mantık kapılarından kurulur.
Yarım Toplayıcı (Half Adder)
İki biti (A, B) toplar; iki çıkış üretir: Toplam (Sum) ve Elde
(Carry). Sum = A XOR B, Carry = A AND B. Eksik yanı: önceki
basamaktan gelen eldeyi (carry-in) hesaba katamaz.
| A | B | Toplam (S) | Elde (C) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Tam Toplayıcı (Full Adder)
Üç biti toplar: A, B ve elde girişi (Cin). Böylece çok bitlik toplayıcılar
zincirleme bağlanabilir. Sum = A XOR B XOR Cin,
Cout = (A AND B) OR (Cin AND (A XOR B)).
| A | B | Cin | Toplam (S) | Elde (Cout) |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Çok bitlik toplama (ripple-carry)
n adet tam toplayıcıyı, her birinin Cout'unu bir sonrakinin Cin'ine bağlayarak zincirlersen n-bitlik bir toplayıcı elde edersin (ripple-carry adder). nandbench'te hazır bir tam toplayıcı şablonunu açıp girişleri değiştirerek toplam ve eldenin canlı değiştiğini görebilirsin.
nandbench