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 = A ⊕ B ⊕ C in y C out = ( A ⋅ B ) + ( C in ⋅ ( A ⊕ B )) .
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.