En los circuitos digitales , un sumador-restador es un circuito capaz de sumar o restar números (en particular, binarios ). A continuación se muestra un circuito que suma o resta en función de una señal de control. También es posible construir un circuito que realice sumas y restas simultáneamente. [ 1 ]
Construcción

Si disponemos de un sumador de n bits para A y B , entonces S = A + B. Supongamos que los números están en complemento a dos . Para realizar B − A , la teoría del complemento a dos indica que se debe invertir cada bit de A con una puerta NOT y luego sumar uno. Esto da como resultado S = B + A + 1 , lo cual es fácil de lograr con un sumador ligeramente modificado.
Al anteponer a cada bit de entrada A del sumador un multiplexor de 2 a 1 , donde:
- La entrada 0 ( I0 ) es A
- La entrada 1 ( I 1 ) es A
que tiene una entrada de control D que también está conectada al acarreo inicial, entonces el sumador modificado realiza
- suma cuando D = 0 , o
- resta cuando D = 1 .
Esto funciona porque cuando D = 1 la entrada A al sumador es realmente A y el acarreo de entrada es 1. Sumar B a A y 1 produce la resta deseada de B − A.
Una forma de marcar el número A como positivo o negativo sin usar un multiplexor en cada bit es usar una puerta XOR antes de cada bit.
- La primera entrada a la puerta XOR es el bit de entrada real.
- La segunda entrada para cada puerta XOR es la entrada de control D.
Esto produce la misma tabla de verdad para el bit que llega al sumador que la solución del multiplexor, ya que la salida de la puerta XOR será lo que es el bit de entrada cuando D = 0 y el bit de entrada invertido cuando D = 1 .
Función en la unidad aritmético-lógica
Los sumadores forman parte del núcleo de una unidad aritmético-lógica (ALU). La unidad de control decide qué operaciones debe realizar la ALU (en función del código de operación que se esté ejecutando) y configura su funcionamiento. La entrada D del sumador-restador descrito anteriormente sería una de esas líneas de control provenientes de la unidad de control.
El sumador-restador anterior podría extenderse fácilmente para incluir más funciones. Por ejemplo, se podría introducir un multiplexor de 2 a 1 en cada B i que alternaría entre cero y B i ; esto podría usarse (junto con D = 1 ) para obtener el complemento a dos de A ya que − A = A + 1 .
Un paso adicional sería cambiar la multiplexación de 2 a 1 en A a una de 4 a 1 con la tercera entrada siendo cero, y luego replicar esto en B i, obteniendo así las siguientes funciones de salida:
- 0 (con las entradas A i y B i establecidas en cero y D = 0 )
- 1 (con las entradas A i y B i establecidas en cero y D = 1 )
- A (con la entrada B i ajustada a cero)
- B (con la entrada A i establecida en cero)
- A + 1 (con la entrada B i establecida en cero y D = 1 )
- B + 1 (con la entrada A i establecida en cero y D = 1 )
- A + B
- A − B
- B − A
- A (con A i establecido para invertir; B i establecido a cero; y D = 0 )
- − A (con A i establecido para invertir; B i establecido a cero; y D = 1 )
- B (con B i establecido para invertir; A i establecido a cero; y D = 0 )
- − B (con B i establecido para invertir; A i establecido a cero; y D = 1 )
Al añadir más lógica delante del sumador, un único sumador puede convertirse en mucho más que un simple sumador: una ALU .
Véase también
Referencias
- ↑ Teja, Ravi (2021-04-21). "Sumador y restador binario" . Electronics Hub . Recuperado el 2022-06-01 .
- equipos de telecomunicaciones
- Aritmética binaria
- Sumadores (electrónica)
- Circuitos aritmético-lógicos