Il full-adder o sommatore completo[1] è un circuito logico caratterizzato da tre ingressi e due uscite. La sua funzionalità è quella di eseguire una somma tra due numeri espressi in formato binario con lunghezza di parola a un bit. È un componente fondamentale dell'elettronica digitale perché, connesso opportunamente con altri full-adder e porte logiche può dare luogo alle unità di elaborazione ALU (Arithmetic Logic Unit) dei processori. I full-adder sono le fondamenta su cui è basata la costruzione di semplici calcolatrici. Il full-adder è costituito dall'insieme di due half-adder e una porta logica OR, opportunamente collegati (Figura a destra).
dove A e B sono gli operandi, Ci il riporto (C → carry ) in ingresso della precedente somma e S e Co sono la somma e il riporto di uscita. Ogni variabile è un bit (0 oppure 1)
In ingresso sono inseriti i due bit da sommare e l'eventuale bit di riporto;
in uscita vengono forniti la somma ed il riporto.
Ad esempio, se diamo in ingresso i valori 1 1 0 (1° numero, 2° numero, riporto), il componente restituirà il valore 0 con riporto 1 (corrispondente al valore 10 in base binaria).[2]
Full-adder a "n" bit
La struttura col riporto in ingresso esiste per poter eventualmente collegare un numero "n" full-adder in cascata per poter ottenere Full-adder a "n" bit.
Ottimizzazioni come Kogge-Stone utilizzano strategie di predizione del riporto per ridurre la latenza al costo di occupare maggiore area.
Note
^Elemania, su elemania.altervista.org. URL consultato il 1º maggio 2018.
^(EN) 6.3: Full Adder, su Engineering LibreTexts, 26 giugno 2020. URL consultato il 1º luglio 2024.