Sumator to nic tudnego. Naważniejsze jest to, że dostęp do komórki/rejestru jest równoległy. Odpowiednio 4/8/16/... bitowy, w zależności od tego jak sobie projektant wymyśli. A komórka/rejestr w przyblizeniu odpowiada przrzutnikowi s/r (set/reset) - podstawowemu typowi pamięci, czyli dwóm zmutowanym bramkom nor (not(a or b)), które działają na sprzeżeniu zwrotnym. Ewentualnie innym (np. mieszaninie bramek nand i not). Dla bitu zerowego przyjmuje się przeniesienie równe zero (flaga carry z procka - to właśnie to).
Przyjmę taki zapis:
Ax - dana wejściowa - bit x. - dopuszczalne stany oczywiście: 0/1
Bx - dana wejściowa - bit x.
Wx - dana wyjsciowa - bit x.
Cx-1 - przeniesieie z dodawania poprzednich dwoch komórek.
gdzie x ma wartosc np. 0...3, 0..7, czy dowolną inną górną granicę, w zależności od przyjętej ilości bitów dla komórki/rejestru.
W komórce/rejestrze wynikowej x-ty bit to wynik
(bez () bo kolejnośc przecież bez znaczenia):
Wx=Ax xor Bx xor Cx-1 - bramka EOR/XOR - the same
A flaga przeniesienia (przynajmniej 2 z 3 bitów zapalone):
Cx=(Ax and Bx)or(Ax and Cx-1)or(Bx and Cx-1)
I tak równolegle n (4/8/fefnaście/praktycznie_ile_kto_chce) układów.
Wzorki pisze z pamięci, więc są bez optymalizacji...
Właściwie dla bitu 0 flaga przeniesienia Cx-1 nie istnieje/nie jest brana pod uwagę/nie jest uwzględniona w układzie elektrycznym, bo też i nie ma takiej potrzeby i koszty wykonania i dalszej obsługi są troszkę mniejsze...
W0=A0 xor B0;
C0=A0 and B0.
PS. dlatego flagi w procku to rejestr szeregowy, w przeciwieństwie do całej reszty rejestrów i pamięci... N bitów to n 'drutów/linii', flagi też tak mają, ale każdy jeden bit jest podłączony do innego układu, natomiast w pamięciach/rejestrach równoległych wszystkie bity połączone są równolegle do jednego wspólnego n bitowego. Układ ten sam z siebie może mieć kilka (m) wejśc n bitowych, zaś na zewnętrz może mieć jedno wyjście m*n bitowe. Jak w starszych pentiumach 2 pamięci 32 bitowe, a kontroler na wyjściu do szyny procka 64 bitowy (nie chcę przekłamać, ale chyba właśnie tak było)