Sumador (electrónica)
Un sumador, o verano, es un circuito digital que realiza la suma de números. En muchas computadoras y otros tipos de procesadores se utilizan sumadores en las unidades aritméticas lógicas (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 el complemento a dos o a uno no sea necesario, Si se utiliza el complemento para representar números negativos, es trivial modificar un sumador para convertirlo en un sumador-restador. Otras representaciones de números con signo requieren más lógica en torno al sumador básico.
Historia
En 1937, Claude Shannon demostró la suma binaria en su tesis de posgrado en el MIT.
Sumadores binarios
Medio sumador
El media escalera añade dos dígitos binarios individuales A{displaystyle A} y B{displaystyle B}. Tiene dos productos, suma (S{displaystyle S.) y llevar (C{displaystyle C}). La señal de carga representa un desbordamiento en el siguiente dígito de una adición de varios dígitos. El valor de la suma es 2C+S{displaystyle 2C+S}. El diseño más simple de media escalera, representado a la derecha, incorpora una puerta XOR para S{displaystyle S. y una puerta C{displaystyle C}. La lógica booleana para la suma (en este caso S{displaystyle S.) será A⊕ ⊕ B{displaystyle Aoplus B} mientras que para el transporte (C{displaystyle C}) será A⋅ ⋅ B{displaystyle Acdot B}. Con la adición de una puerta OR para combinar sus salidas de carga, se pueden combinar dos medias adiciones para hacer una escalera completa. La mitad de la escalera añade dos bits de entrada y genera una carga y suma, que son las dos salidas de una media escalera. Las variables de entrada de una media escalera se llaman los bits de augend y addend. Las variables de salida son la suma y llevan.
La tabla de verdad para el medio sumador es:
Inputs Productos A B CFuera. S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0
Varios circuitos lógicos digitales de medio sumador:
Media escalera en acción.
Esquema de media escalera implementada con una puerta XOR y una Y puerta.
Esquema de media escalera implementada con cinco puertas NAND.
Símbolo esquemático para una escalera de 1 bit.
Sumador completo
A escalera completa añade números binarios y cuentas para valores llevados y realizados. Una escalera completa de un bit añade tres números de un bit, a menudo escritos como A{displaystyle A}, B{displaystyle B}, y Cin{displaystyle C_{in}; A{displaystyle A} y B{displaystyle B} son los operandos, y Cin{displaystyle C_{in} es un poco llevado desde la etapa anterior menos significativa. La escalera completa es generalmente un componente en una cascada de adidores, que añaden 8, 16, 32, etc. números binarios bits. El circuito produce una salida de dos bits. El transporte de salida y la suma son típicamente representados por las señales Cout{displaystyle C_{out} y S{displaystyle S., donde la suma es igual 2Cout+S{displaystyle 2C_{out}+S}.
Un sumador completo se puede implementar de muchas maneras diferentes, como con un circuito personalizado a nivel de transistor o compuesto por otras compuertas. La implementación más común es con:
- S=A⊕ ⊕ B⊕ ⊕ Cin{displaystyle S=Aoplus Boplus C_{in}
- Cout=()A⋅ ⋅ B)+()Cin⋅ ⋅ ()A⊕ ⊕ B)){displaystyle C_{out}=(Acdot B)+(C_{in}cdot (Aoplus B)}
Las expresiones anteriores para S{displaystyle S. y Cin{displaystyle C_{in} puede derivarse de utilizar un mapa de Karnaugh para simplificar la tabla de la verdad.
En esta implementación, la puerta OR final antes de la salida puede ser reemplazada por una puerta XOR sin alterar la lógica resultante. Esto es porque cuando A y B son ambos 1, el término ()A⊕ ⊕ B){displaystyle (Aoplus B)} es siempre 0, y por lo tanto ()Cin⋅ ⋅ ()A⊕ ⊕ B)){displaystyle (C_{in}cdot (Aoplus B)} sólo puede ser 0. Por lo tanto, las entradas a la puerta OR final nunca pueden ser ambas 1's (esta es la única combinación para la cual las salidas OR y XOR difieren).
Debido a la propiedad de integridad funcional de las puertas NAND y NOR, también se puede implementar un sumador completo utilizando nueve puertas NAND o nueve puertas NOR.
Utilizar sólo dos tipos de puertas es conveniente si el circuito se implementa utilizando chips de circuito integrado simples que contienen sólo un tipo de puerta por chip.
Una escalera completa también se puede construir a partir de dos medias adiciones mediante la conexión A{displaystyle A} y B{displaystyle B} a la entrada de la mitad de la escalera, luego tomando su suma de salida S{displaystyle S. como una de las entradas a la segunda mitad de la escalera y Cin{displaystyle C_{in} como su otra entrada, y finalmente las salidas de carga de las dos medias escaleras están conectadas a una puerta OR. La suma de salida de la segunda mitad de la escalera es la salida de la suma final (S{displaystyle S.) de la escalera completa y la salida de la puerta OR es la salida final de carga (Cout{displaystyle C_{out}). El camino crítico de una escalera completa corre por ambas puertas XOR y termina en la suma bit S{displaystyle S.. Suponiendo que una puerta XOR tome 1 demoras para completar, el retraso impuesto por el camino crítico de una escalera completa es igual a:
- TFA=2⋅ ⋅ TXOR=2D{displaystyle T_{text{FA}=2cdot T_{text{XOR}=2D}
La ruta crítica de un acarreo pasa por una puerta XOR en el sumador y por 2 puertas (Y y O) en el bloque de acarreo y, por lo tanto, si las puertas Y u O tardan 1 retraso en completarse, tiene un retraso de:
- Tc=TXOR+TY+TO=D+D+D=3D{displaystyle T_{text{c}=T_{text{XOR}+T_{text{}+T_{text{OR}=D+D=3D}
La tabla de verdad para el sumador completo es:
Inputs Productos A B Cdentro CFuera. S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1
La inversión de todas las entradas de un sumador completo también invierte todas sus salidas, lo que se puede utilizar en el diseño de sumadores rápidos con acarreo rizado, porque no hay necesidad de invertir el acarreo.
Varios circuitos lógicos digitales sumadores completos:
Escalera completa en acción.
Esquema de escalera completa implementada con dos puertas XOR, dos puertas Y, una puerta OR.
Esquema de escalera completa implementada con nueve puertas NAND.
Esquema de escalera completa implementada con nueve puertas NOR.
Escalera completa con salidas invertidas con un solo transistor llevan retraso de propagación en CMOS
Símbolo esquemático para una escalera llena de 1 bit con Cdentro y CFuera. dibujado en lados de bloque para enfatizar su uso en una escalera multi-bit
Sumadores que soportan múltiples bits
Sumador de acarreo de ondulación


Es posible crear un circuito lógico utilizando múltiples adiciones completas para añadir N- números de bits. Cada escalera de entrada a Cin{displaystyle C_{in}, que es el Cout{displaystyle C_{out} de la escalera anterior. Este tipo de escalera se llama Escalera de carro maduro (RCA), ya que cada uno lleva "ripples" a la siguiente escalera completa. Tenga en cuenta que la primera (y sólo la primera) escalera completa puede ser reemplazada por una media escalera (bajo la suposición de que Cin=0{displaystyle C_{in}=0}).
El diseño de un sumador de acarreo ondulado es simple, lo que permite un tiempo de diseño rápido; sin embargo, el sumador de acarreo es relativamente lento, ya que cada sumador completo debe esperar a que se calcule el bit de acarreo a partir del sumador completo anterior. El retardo de la puerta se puede calcular fácilmente inspeccionando todo el circuito sumador. Cada sumador completo requiere tres niveles de lógica. En un sumador de acarreo rizado de 32 bits, hay 32 sumadores completos, por lo que el retraso de la ruta crítica (peor de los casos) es 3 (desde la entrada hasta el acarreo en el primer sumador) + 31 × 2 (para la propagación del acarreo en los últimos sumadores) = 65 retrasos en la puerta. La ecuación general para el retraso en el peor de los casos para un sumador de ondulación de acarreo de n bits, que tiene en cuenta tanto la suma como los bits de acarreo, es:
- TCRA()n)=THA+()n− − 1)⋅ ⋅ Tc+Ts={displaystyle T_{text{CRA} n)=T_{text{HA}+(n-1)cdot T_{text{c}+T_{text{s}=TFA+()n− − 1)⋅ ⋅ Tc={displaystyle T_{text{FA}+(n-1)cdot T_{c}=3D+()n− − 1)⋅ ⋅ 2D=()2n+1)⋅ ⋅ D{displaystyle 3D+(n-1)cdot 2D=(2n+1)cdot D}
Un diseño con polaridades de acarreo alternas y compuertas AND-OR-Invert optimizadas puede ser aproximadamente el doble de rápido.
Sumador de anticipación


Para reducir el tiempo de cálculo, los ingenieros idearon maneras más rápidas de añadir dos números binarios utilizando adders port-lookahead (CLA). Ellos trabajan creando dos señales (P{displaystyle P} y G{displaystyle G.) para cada posición de bits, basado en si una carga se propaga a través de una posición de bit menos significativa (al menos una entrada es un 1), generado en esa posición de bits (ambas entradas son 1), o muerto en esa posición de bits (ambas entradas son 0). En la mayoría de los casos, P{displaystyle P} es simplemente la salida de la suma de media escalera y G{displaystyle G. es la salida de la misma escalera. Después P{displaystyle P} y G{displaystyle G. se generan, se crean las cargas para cada posición de bits. Algunas arquitecturas avanzadas de lookahead son la cadena de carga de Manchester, Brent-Kung adder (BKA), y la escalerilla Kogge-Stone (KSA).
Algunas otras arquitecturas de adder multi-bit rompen la escalera en bloques. Es posible variar la longitud de estos bloques en función del retraso de propagación de los circuitos para optimizar el tiempo de cálculo. Estos adidores basados en bloques incluyen la escalera de carga (o el bypass) escalera que determinará P{displaystyle P} y G{displaystyle G. valores para cada bloque en lugar de cada bit, y la escalerilla port-seleccion que pregenera la suma y lleva valores para cualquier entrada posible (0 o 1) al bloque, utilizando multiplexadores para seleccionar el resultado adecuado cuando el bit de carga es conocido.
Al combinar múltiples sumadores de anticipación, se pueden crear sumadores aún más grandes. Esto se puede utilizar en múltiples niveles para crear sumadores aún más grandes. Por ejemplo, el siguiente sumador es un sumador de 64 bits que utiliza cuatro CLA de 16 bits con dos niveles de unidades de acarreo anticipadas.
Otros diseños de sumadores incluyen el sumador de selección de acarreo, el sumador de suma condicional, el sumador de omisión de acarreo y el sumador de acarreo completo.
Sumadores de ahorro de acarreo
Si un circuito sumador va a calcular la suma de tres o más números, puede ser ventajoso no propagar el resultado del acarreo. En su lugar, se utilizan sumadores de tres entradas, generando dos resultados: una suma y un acarreo. La suma y el acarreo pueden introducirse en dos entradas del sumador de tres números posterior sin tener que esperar la propagación de una señal de acarreo. Sin embargo, después de todas las etapas de la suma, se debe utilizar un sumador convencional (como el acarreo de ondulación o el de anticipación) para combinar la suma final y los resultados del acarreo.
Compresores 3:2
Un sumador completo puede verse como un compresor con pérdida 3:2: suma tres entradas de un bit y devuelve el resultado como un único número de dos bits; es decir, asigna 8 valores de entrada a 4 valores de salida. Así, por ejemplo, una entrada binaria de 101 da como resultado una salida de 1 + 0 + 1 = 10 (número decimal 2). La ejecución representa el bit uno del resultado, mientras que la suma representa el bit cero. Del mismo modo, se puede utilizar un medio sumador como compresor con pérdidas 2:2, comprimiendo cuatro posibles entradas en tres posibles salidas.
Estos compresores se pueden utilizar para acelerar la suma de tres o más sumandos. Si el número de sumandos es exactamente tres, el diseño se conoce como sumador de acarreo y guardado. Si el número de sumandos es cuatro o más, es necesaria más de una capa de compresores y existen varios diseños posibles para el circuito: los más comunes son los árboles Dadda y Wallace. Este tipo de circuito se utiliza sobre todo en circuitos multiplicadores, por lo que estos circuitos también se conocen como multiplicadores Dadda y Wallace.
Sumadoras cuánticas
(feminine)
Utilizando únicamente las puertas lógicas cuánticas de Toffoli y CNOT, es posible producir sumadores cuánticos completos y medios sumadores. Los mismos circuitos también se pueden implementar en la computación reversible clásica, ya que tanto CNOT como Toffoli también son puertas lógicas clásicas.
Dado que la transformada cuántica de Fourier tiene una baja complejidad de circuito, también se puede utilizar de manera eficiente para sumar números.
Sumadores analógicos
Al igual que en los sumadores binarios, la combinación de dos corrientes de entrada efectivamente suma esas corrientes. Dentro de las limitaciones del hardware, las señales no binarias (es decir, con una base superior a 2) se pueden sumar para calcular una suma. También conocida como "amplificador sumador", esta técnica se puede utilizar para reducir la cantidad de transistores en un circuito de suma.
Contenido relacionado
Entre planetas
Cuantización
Estado del mundo (serie de libros)