Adder (electrónica)


Un sumador es un circuito digital que realiza la suma de números. En muchas computadoras y otros tipos de procesadores, los sumadores se utilizan en las unidades lógicas aritméticas o ALU . También se utilizan en otras partes del procesador, donde se utilizan para calcular direcciones , índices de tablas, operadores de incremento y decremento y operaciones similares.

Aunque se pueden construir sumadores para muchas representaciones numéricas , como decimal codificado en binario o exceso de 3 , los sumadores más comunes operan con números binarios . En los casos en que se utiliza el complemento a dos o el complemento a unos para representar números negativos , es trivial modificar un sumador en un sumador-restador . Otras representaciones de números con signo requieren más lógica en torno al sumador básico.

El medio sumador agrega dos dígitos binarios simples A y B. Tiene dos salidas, suma ( S ) y acarreo ( C ). La señal de acarreo representa un desbordamiento hacia el siguiente dígito de una suma de varios dígitos. El valor de la suma es 2 C + S. El diseño de medio sumador más simple, que se muestra a la derecha, incorpora una compuerta XOR para S y una compuerta AND para C. La lógica booleana para la suma (en este caso S ) será A′B + AB ′ mientras que para el acarreo ( C) será AB . Con la adición de una puerta OR para combinar sus salidas de acarreo, se pueden combinar dos medios sumadores para hacer un sumador completo. [1] El medio sumador agrega dos bits de entrada y genera un acarreo y una suma, que son las dos salidas de un medio sumador. Las variables de entrada de un medio sumador se denominan bits de suma y suma. Las variables de salida son la suma y el acarreo. La tabla de verdad para el medio sumador es:

Un sumador completo agrega números binarios y contabiliza los valores tanto ingresados ​​como extraídos. Un sumador completo de un bit agrega tres números de un bit, a menudo escritos como A , B y C en ; A y B son los operandos, y C in es un bit transportado desde la etapa anterior menos significativa. [2] El sumador completo suele ser un componente en una cascada de sumadores, que suman 8, 16, 32, etc. números binarios de bits. El circuito produce una salida de dos bits. El acarreo y la suma de salida se representan típicamente por las señales C out y S , donde la suma es igual a 2 C out+ S .

Un sumador completo se puede implementar de muchas formas diferentes, como con un circuito de nivel de transistor personalizado o compuesto por otras puertas. Un ejemplo de implementación es con S = ABC in y C out = ( AB ) + ( C in ⋅ ( AB )) .

En esta implementación, la puerta O final antes de la salida de ejecución puede ser reemplazada por una puerta XOR sin alterar la lógica resultante. Usar solo dos tipos de puertas es conveniente si el circuito se implementa utilizando chips de circuito integrado simples que contienen solo un tipo de puerta por chip.


Diagrama lógico de medio sumador
Half adder en acción
circuito de medio sumador que usa solo puertas NAND
Medio sumador que usa solo puertas NAND.
Diagrama lógico para un sumador completo.
Sumador completo en acción. Un sumador completo da el número de unos en la entrada en representación binaria.
Símbolo esquemático para un sumador completo de 1 bit con C in y C out dibujados en los lados del bloque para enfatizar su uso en un sumador de múltiples bits
Sumador completo construido a partir de nueve puertas NAND.
Sumador completo NOR
Ejemplo de sumador completo con salidas invertidas en CMOS [4]
Sumador de 4 bits con diagrama de bloques lógico mostrado
Sumador de acarreo de ondulación decimal de 4 dígitos. FA = sumador completo, HA = medio sumador.
Sumador de 4 bits con avance anticipado
Un sumador de 64 bits
Sumador cuántico completo, utilizando compuertas Toffoli y CNOT . La puerta CNOT que está rodeada por un cuadrado punteado en esta imagen se puede omitir si no se requiere un cálculo para restaurar la salida B.