How do you add a full adder?

El Sumador Completo: Guía de Funcionamiento

01/04/2019

Valoración: 4.62 (5882 votos)

En el corazón de casi todos los dispositivos digitales que realizan operaciones aritméticas, desde la calculadora más simple hasta el procesador más complejo, se encuentra un componente fundamental: el sumador. Específicamente, el Sumador Completo (Full Adder) es el bloque de construcción esencial que permite la suma de números binarios de múltiples bits. A diferencia de su contraparte más simple, el semisumador, el sumador completo tiene la capacidad única de manejar un acarreo de entrada, lo que lo hace indispensable para encadenar operaciones y construir circuitos más complejos. En este artículo, exploraremos a fondo su funcionamiento, su estructura interna, sus aplicaciones y por qué es una pieza tan crucial en el mundo de la electrónica digital.

How can a full adder be constructed from two half adders?
A full adder can also be constructed from two half adders by connecting and to the input of one half adder, then taking its sum-output as one of the inputs to the second half adder and as its other input, and finally the carry outputs from the two half-adders are connected to an OR gate.
Índice de Contenido

¿Qué es Exactamente un Sumador Completo?

Un sumador completo es un circuito lógico combinacional que realiza la adición de tres bits binarios. Estos tres bits de entrada son típicamente denominados A, B y C_in (Acarreo de Entrada). El circuito produce dos salidas: una Suma (S) y un Acarreo de Salida (C_out). La magia del sumador completo reside en su capacidad para incorporar el bit de acarreo (C_in) de una etapa de suma anterior. Esto es vital cuando se suman números de más de un bit. Por ejemplo, al sumar 11 + 01 en binario, la primera columna (1+1) da como resultado 0 con un acarreo de 1. Ese acarreo debe ser considerado en la suma de la siguiente columna, y es precisamente el sumador completo el que está diseñado para manejar esta tarea.

Diferencia Clave: Semisumador vs. Sumador Completo

Para apreciar plenamente el sumador completo, es útil compararlo con el semisumador (Half Adder). Un semisumador es un circuito más simple que solo puede sumar dos bits (A y B), produciendo una suma y un acarreo. No tiene una entrada para un acarreo previo. Esto limita su utilidad a la suma del bit menos significativo de dos números binarios o a aplicaciones muy simples.

La principal limitación del semisumador es que no puede ser encadenado para sumar números de múltiples bits, ya que no hay forma de pasar el acarreo generado en una etapa a la siguiente. El sumador completo resuelve este problema al incluir la entrada C_in.

Tabla Comparativa: Semisumador vs. Sumador Completo
CaracterísticaSemisumador (Half Adder)Sumador Completo (Full Adder)
Entradas2 (A, B)3 (A, B, C_in)
Salidas2 (Suma, Acarreo)2 (Suma, Acarreo de salida)
Capacidad de AcarreoNo puede procesar un acarreo de entradaProcesa un acarreo de entrada, permitiendo el encadenamiento
Uso PrincipalSuma de 2 bits únicosBloque de construcción para sumadores de n-bits

Funcionamiento Interno y Tabla de Verdad

El comportamiento de un sumador completo se define perfectamente por su tabla de verdad. Esta tabla muestra todas las combinaciones posibles de las tres entradas (A, B, C_in) y las salidas correspondientes de Suma (S) y Acarreo de Salida (C_out).

" "

Tabla de Verdad del Sumador Completo
EntradasSalidas
ABC_inS (Suma)C_out (Acarreo de Salida)
00000
00110
01010
01101
10010
10101
11001
11111

Analizando la tabla, podemos deducir la lógica:

  • La salida Suma (S) es 1 si hay un número impar de unos en las entradas (es decir, si solo una entrada es 1, o si las tres son 1).
  • La salida Acarreo de Salida (C_out) es 1 si dos o más entradas son 1.

Implementación con Puertas Lógicas

A partir de la tabla de verdad, podemos derivar las expresiones booleanas para las salidas S y C_out. Estas expresiones nos permiten construir el circuito utilizando puertas lógicas básicas como AND, OR y XOR.

What is a full adder in digital electronics?
Full adders are used to generate memory addresses. Full adders are also used in generation of program counterpoints. Full adders are also used in GPU (Graphical Processing Unit). In this tutorial, we discussed all the key concepts related to full adders in digital electronics.

La expresión para la Suma (S) es una operación XOR de las tres entradas:

S = A ⊕ B ⊕ C_in

La expresión para el Acarreo de Salida (C_out) es un poco más compleja:

C_out = (A ⋅ B) + (C_in ⋅ (A ⊕ B))

Esta implementación se puede visualizar como un circuito que utiliza dos puertas XOR, dos puertas AND y una puerta OR.

Construcción a partir de dos Semisumadores

Una manera elegante e intuitiva de construir un sumador completo es utilizando dos semisumadores y una puerta OR. Este diseño resalta la relación modular entre ambos componentes.

  1. El primer semisumador toma las entradas A y B. Produce una suma parcial (S1) y un acarreo parcial (C1).
  2. El segundo semisumador toma la suma parcial (S1) del primer semisumador y el acarreo de entrada (C_in). Produce la suma final (S) y un segundo acarreo parcial (C2).
  3. Finalmente, los dos acarreos parciales (C1 y C2) se introducen en una puerta OR para generar el acarreo de salida final (C_out).

Este método no solo es conceptualmente claro, sino que también es eficiente en términos de diseño de circuitos.

Aplicaciones del Sumador Completo

La verdadera potencia del sumador completo se revela cuando se utiliza como un bloque de construcción para sistemas más grandes. Su capacidad para manejar un acarreo de entrada lo hace perfecto para ser encadenado.

Sumadores de Múltiples Bits: El Sumador de Acarreo Rizado

Para sumar números binarios de más de un bit, como dos números de 4 bits (por ejemplo, A=A3A2A1A0 y B=B3B2B1B0), podemos conectar varios sumadores completos en cascada. Este diseño se conoce como Sumador de Acarreo Rizado (Ripple-Carry Adder).

How do you add a full adder?
Well, when you want to sum inputs with more than 1-bit numbers, for example adding two 4-bit binary numbers, you will need to combine several adders and provide a carry input between them to express that the previous less significant operation produced a carry. A Full Adder can be built using two Half Adders circuits and an OR gate.

Así es como funciona:

  • Un primer sumador completo (o un semisumador, si C_in inicial es 0) suma los bits menos significativos (A0 y B0).
  • El C_out de este primer sumador se conecta al C_in del segundo sumador, que suma A1, B1 y el acarreo recibido.
  • Este proceso se repite para todos los bits. El C_out de cada etapa se "riza" o propaga a la siguiente etapa, de ahí su nombre.

Aunque este diseño es simple y fácil de implementar, tiene una desventaja: la velocidad. Cada sumador debe esperar a que el anterior calcule y propague su bit de acarreo. En un sumador de 32 o 64 bits, este retraso acumulado (latencia) puede ser significativo. Para solucionar esto, se han desarrollado arquitecturas más avanzadas como los sumadores de acarreo anticipado (Carry-Lookahead Adders), que calculan los acarreos de forma más rápida y paralela.

Otras Aplicaciones Cruciales

El sumador completo es omnipresente en la electrónica digital. Algunas de sus aplicaciones más importantes incluyen:

  • Unidades Aritmético-Lógicas (ALU): Son el núcleo de cualquier CPU, y los sumadores son fundamentales para realizar no solo sumas, sino también restas (mediante el complemento a dos), multiplicaciones y otras operaciones.
  • Multiplicadores: La multiplicación binaria se puede reducir a una serie de sumas y desplazamientos, donde los sumadores completos son esenciales. Circuitos como los árboles de Wallace y Dadda utilizan sumadores para sumar eficientemente múltiples operandos parciales.
  • Generación de Direcciones de Memoria: Los procesadores necesitan calcular constantemente las direcciones de memoria, lo que a menudo implica operaciones de suma.
  • Contadores y Temporizadores: Muchos diseños de contadores utilizan sumadores para incrementar su valor en cada ciclo de reloj.
  • Procesamiento de Gráficos (GPU): Las GPUs realizan una cantidad masiva de cálculos en paralelo, muchos de los cuales son operaciones aritméticas que dependen de circuitos sumadores altamente optimizados.

Preguntas Frecuentes (FAQ)

¿Cuál es la principal diferencia entre un semisumador y un sumador completo?

La diferencia fundamental es la tercera entrada del sumador completo: el acarreo de entrada (C_in). Esta entrada permite que varios sumadores completos se conecten en cascada para sumar números de múltiples bits, algo que un semisumador no puede hacer.

¿Se puede construir un sumador completo solo con puertas NAND o NOR?

Sí. Dado que las puertas NAND y NOR son funcionalmente completas, cualquier circuito lógico, incluido el sumador completo, puede construirse exclusivamente con ellas. Por ejemplo, un sumador completo se puede implementar utilizando nueve puertas NAND.

¿Por qué es lento un sumador de acarreo rizado (ripple-carry)?

Es lento debido a la propagación en serie del bit de acarreo. El cálculo de la suma y el acarreo para un bit de orden superior (por ejemplo, el bit 7) no puede comenzar hasta que el cálculo del bit 6 haya finalizado y le haya pasado su acarreo de salida. Este retraso se acumula a lo largo de la cadena de sumadores.

¿Qué es un compresor 3:2?

Un sumador completo puede ser visto como un compresor de datos 3:2. Toma tres entradas de un bit y "comprime" esa información en una salida de dos bits (la suma y el acarreo). Esta perspectiva es muy útil en el diseño de multiplicadores rápidos, donde es necesario sumar muchas filas de bits parciales de manera eficiente.

Si quieres conocer otros artículos parecidos a El Sumador Completo: Guía de Funcionamiento puedes visitar la categoría Juegos.

Subir