Sommatore Completo e Sommatore Parziale: Blocchi di Logica Digitale Spiegati
Hardware dell'Addizione Binaria: Da 1 Bit a N Bit
I sommatori parziali e completi sono i circuiti aritmetici fondamentali nei sistemi digitali. Implementano l'addizione binaria — base di tutta la computazione in processori, ALU e processori di segnali digitali.
Sommatore Parziale (HA): 2 Input, 2 Output
Aggiunge due singoli bit A e B. Nessun input di riporto.
Tabella della Verità
| A | B | Somma (S) | Ritorno (C) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Implementazione Logica
- Somma = A ⊕ B (porta XOR)
- Ritorno = A · B (porta AND)
Limitazioni
- Non può accettare riporto da un bit di ordine inferiore
- Non può essere concatenato per addizione multi-bit
- Utile solo per LSB del sommatore o somma 2 bit autonoma
Sommatore Completo (FA): 3 Input, 2 Output
Aggiunge tre bit: A, B e Ritorno di entrata (Cin). Produce Somma (S) e Ritorno di uscita (Cout).
Tabella della Verità
| A | B | Cin | Somma | 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 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Implementazione Logica
- Somma = A ⊕ B ⊕ Cin (due porte XOR: (A⊕B)⊕Cin)
- Cout = (A·B) + (B·Cin) + (A·Cin) (funzione maggioranza: 2+ input alti)
- Alternativa: Cout = (A·B) + (Cin·(A⊕B)) — meno porte
Sommatore Completo da Due Sommatori Parziali
HA1: A, B → S1, C1 HA2: S1, Cin → Somma, C2 Cout = C1 + C2
Sommatore a Ripporto a Cascata N-Bit
Concatena N sommatori completi: Cout(i) → Cin(i+1)
- LSB: Può usare HA (Cin=0) o FA con Cin=0
- Ritardo: tpd ≈ N × tFA (il riporto scorre attraverso tutti gli stadi)
- 4-bit: ~4× ritardo porta; 32-bit: ~32× — troppo lento per CPU ad alta frequenza
Architetture di Sommatore ad Alte Prestazioni
| Architettura | Ritardo | Complessità | Caso d'uso |
|---|---|---|---|
| Ripporto a Cascata | O(N) | Bassa | Piccola N, bassa velocità, vincolata area |
| Lookahead del Riporto (CLA) | O(log N) | Media | ALU, gruppi 4-64 bit |
| Riporto Selezione | O(√N) | Media | Datapath, catene riporto FPGA |
| Riporto Salva | O(1) per 3:2 | Bassa | Moltiplicatori (albero Wallace) |
| Kogge-Stone / Brent-Kung | O(log N) | Alta | CPU ad alte prestazioni, GPU |
Applicazioni Oltre l'Addizione
- Sottrazione: A - B = A + (~B + 1) — inverti B, Cin=1
- Incremento/Decremento: B=0, Cin=1 / B=1, Cin=0
- Comparatori: Cout del MSB indica A≥B (senza segno)
- Contatori: Catena FA con feedback → contatore binario
- Moltiplicatori: Riduzione prodotti parziali tramite sommatori riporto-salva
- ALU: Nucleo sommatore + unità logiche + shifter
Note sull'Implementazione FPGA/ASIC
- FPGA moderni: Catene riporto dedicate (Xilinx CARRY4, Intel CARRY) — 1 FA per LUT
- ASIC: Cellula standard FA ~8-12 transistor; ottimizza per velocità/area/potenza
- Verifica: Equivalenza formale, casi limite propagazione riporto, chiusura temporale
Dall'umile sommatore parziale ai sommatori Kogge-Stone a 64 bit nelle CPU moderne, i circuiti di addizione binaria esemplificano come semplici porte logiche compongano il cuore aritmetico di tutta la computazione digitale.