Llevar sumador anticipado

El sumador produce un retraso en la propagación del acarreo mientras realiza otras operaciones aritméticas como multiplicaciones y divisiones, ya que utiliza varios pasos de sumas o restas. Este es un problema importante para el sumador y, por lo tanto, mejorar la velocidad de la suma mejorará la velocidad de todas las demás operaciones aritméticas. Por lo tanto, es de gran importancia reducir el retardo de propagación del acarreo de los sumadores. Existen diferentes enfoques de diseño lógico que se han empleado para superar el problema de propagación de acarreo. Un enfoque ampliamente utilizado es emplear una anticipación de acarreo que resuelve este problema calculando las señales de acarreo por adelantado, en función de las señales de entrada. Este tipo de circuito sumador se llama sumador anticipado de acarreo.

Aquí se generará una señal de acarreo en dos casos:

  1. Los bits de entrada A y B son 1
  2. Cuando uno de los dos bits es 1 y el carry-in es 1.

En los sumadores de acarreo de ondulación, para cada bloque de sumadores, los dos bits que se van a agregar están disponibles instantáneamente. Sin embargo, cada bloque sumador espera que llegue el acarreo de su bloque anterior. Por lo tanto, no es posible generar la suma y el acarreo de ningún bloque hasta que se conozca el acarreo de entrada. El  i^{th}    bloque espera a que el  i-1^{th}    bloque produzca su acarreo. Por lo tanto, habrá un retraso de tiempo considerable que es un retraso de propagación de acarreo. 

Considere el sumador de acarreo de ondulación de 4 bits anterior. La suma  S_{3}    es producida por el sumador completo correspondiente tan pronto como se le aplican las señales de entrada. Pero la entrada de acarreo  C_{4}    no está disponible en su valor final de estado estacionario hasta que el acarreo  C_{3}    esté disponible en su valor de estado estacionario. Del mismo modo  C_{3}    depende de  C_{2}    C_{2}    de  C_{1}    . Por lo tanto, aunque el acarreo debe propagarse a todas las etapas para que la salida  S_{3}    y el acarreo  C_{4}    establezcan su valor final de estado estable. 

El tiempo de propagación es igual al retardo de propagación de cada bloque sumador, multiplicado por el número de bloques sumadores en el circuito. Por ejemplo, si cada etapa sumadora completa tiene un retraso de propagación de 20 nanosegundos,  S_{3}    alcanzará su valor final correcto después de 60 (20 × 3) nanosegundos. La situación empeora si ampliamos el número de etapas para agregar más cantidad de bits. 

Sumador de anticipación de 
acarreo: un sumador de anticipación de acarreo reduce el retraso de propagación mediante la introducción de hardware más complejo. En este diseño, el diseño de acarreo de ondulación se transforma adecuadamente de modo que la lógica de acarreo sobre grupos fijos de bits del sumador se reduce a una lógica de dos niveles. Vamos a discutir el diseño en detalle. 

Considere el circuito sumador completo que se muestra arriba con la tabla de verdad correspondiente. Definimos dos variables como ‘carry generar’ G_{i}    y ‘carry propagar’ P_{i}    entonces, 
P_{i} = A_{i} \oplus B_{i} \newline G_{i} = A_{i} B_{i}
 

La salida de suma y la salida de acarreo se pueden expresar en términos de generación de acarreo  G_{i}    y propagación  de acarreo P_{i}    como

S_{i} = P_{i} \oplus C_{i} \newline C_{i+1} = G_{i} + P_{i} C_{i}
where G_{i}    produces the carry when both A_{i}    B_{i}    are 1 regardless of the input carry. P_{i}    is associated with the propagation of carry from C_{i}    to C_{i + 1}
 

La función booleana de salida de acarreo de cada etapa en un sumador anticipado de acarreo de 4 etapas se puede expresar como

C_{1} = G_{0} + P_{0} C_{in} \newline C_{2} = G_{1} + P_{1} C_{1} = G_{1} + P_{1} G_{0} + P_{1} P_{0} C_{in} \newline C_{3} = G_{2} + P_{2} C_{2} = G_{2} + P_{2} G_{1} + P_{2} P_{1} G_{0} + P_{2} P_{1} P_{0} C_{in} \newline C_{4} = G_{3} + P_{3} C_{3} = G_{3} + P_{3} G_{2} + P_{3} P_{2} G_{1} + P_{3} P_{2} P_{1} G_{0} + P_{3} P_{2} P_{1} P_{0} C_{in} \newline
 

De las ecuaciones booleanas anteriores podemos observar que  C_{4}    no tiene que esperar  C_{3}    C_{2}    propagarse, sino que en realidad  C_{4}    se propaga al mismo tiempo que  C_{3}    C_{2}    . Dado que la expresión booleana para cada salida de acarreo es la suma de los productos, estos pueden implementarse con un nivel de compuertas AND seguido de una compuerta OR.

La implementación de tres funciones booleanas para cada salida de acarreo ( C_{2}    C_{3}    C_{4}    ) para un generador de acarreo anticipado que se muestra en la siguiente figura. 

Análisis de Complejidad de Tiempo: 
Podríamos pensar en un sumador anticipado de acarreo como compuesto de dos «partes» 
 

  1. La parte que calcula el acarreo de cada bit.
  2. La parte que suma los bits de entrada y el acarreo para cada posición de bit.

La  log(n)    complejidad surge de la parte que genera el acarreo, no del circuito que agrega los bits. 
Ahora, para la generación del  n^{th}    bit de acarreo, necesitamos realizar un AND entre (n+1) entradas. La complejidad del sumador se reduce a cómo realizamos esta operación AND. Si tenemos compuertas AND, cada una con un fan-in (número de entradas aceptadas) de k, entonces podemos encontrar el AND de todos los bits en el  log_{k}(n+1)    tiempo. Esto se representa en notación asintótica como  \Theta(log n)

Ventajas y desventajas de Carry Look-Ahead Adder:  
Ventajas – 
 

  • El retardo de propagación se reduce.
  • Proporciona la lógica de adición más rápida.

Desventajas – 
 

  • El circuito sumador Carry Look-ahead se complica a medida que aumenta el número de variables.
  • El circuito es más costoso ya que involucra más cantidad de hardware.

NOTA :

Para que el sumador anticipado de acarreo de n bits evalúe todos los bits de acarreo, requiere [n(n + 1)]/2 compuertas AND y n compuertas OR.

Preguntas de GATE CS Corner 

Practicar las siguientes preguntas te ayudará a poner a prueba tus conocimientos. Todas las preguntas se han hecho en GATE en años anteriores o en pruebas simuladas de GATE. Es muy recomendable que los practiques. 
 

  1. GATE CS 2016 (Conjunto-1), Pregunta 43
  2. GATE CS 2004, Pregunta 90
  3. GATE CS 2007, Pregunta 85
  4. GATE CS 2006, Pregunta 85
  5. GATE CS 1997, Pregunta 15

Referencias –  
iitkgp.virtual-labs  
Carry-lookahead sumador – Wikipedia 

Publicación traducida automáticamente

Artículo escrito por Samujjal Das y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *