sábado, 2 de mayo de 2009

Sumadores

Hasta ahora hemos visto como se pueden usar puertas interconectadas para implementar funciones como enrutamiento de señales, de codificación, ROM. Un área esencial a la que no nos hemos dirigido todavía es a la aritmética. En esta breve visión general, veremos la función de suma.
La suma binaria difiere del álgebra booleana en que el resultado incluye un término de acarreo, así:

No obstante, la suma se puede aplicar con términos booleanos. En la siguiente tabla puede verse la lógica para sumar 2 bits de entrada para producir 1 bit de suma y un bit de acarreo. Esta tabla de verdad podría implementarse fácilmente en lógica digital.



Sin embargo, no estamos interesados en realizar la suma con un par de bits. Más bien queremos sumar dos números de n bits. Esto se puede hacer poniendo juntos a un conjunto de sumadores de forma que el acarreo de un sumador sea la entrada del siguiente.

En la siguiente figura se muestra un sumador de 4 bits
:



Para que funcione un sumador de varios bits. Cada uno de los sumadores de un BIT debe tener tres entradas, incluyendo el acarreo del siguiente sumador inferior. Las dos salidas se pueden expresar:
Suma = A(negado)B(negado)C+ A(negado)B+C(negado)+ABC+AB(negado)C(negado)
Acarreo = AB + AC + BC

Esta figura es una implementación usando puertas AND, OR y NOT


Entonces tenemos la lógica necesaria para implementar un sumador de varios bits como se muestra esta otra figura. Hay que notar que como la salida de cada sumador depende del acarreo del sumador previo, hay un retardo que crece del bit menos significativo al más significativo. Cada sumador de un bit experimenta cierto retardo de puerta, y este retardo de puerta se acumula. Para sumadores grandes, el retardo acumulado puede hacerse inaceptablemente alto.


Si los valores de acarreo se pudieran determinar sin tener que pasar a trabes de todas las etapas previas entonces cada sumador de un bit podría funcionar independientemente, y el retarde no se acumularía. Este puede lograr con un procedimiento conocido como acarreo anticipado. Veamos de nuevo el sumador de 4 bits para explicar este método.

Nos gustaría proponer una expresión que especificara el acarreo de entrada a cualquier etapa del sumador sin referirnos a los valores de acarreo previas. Tenemos,

C(0) = A(0) B(0) (A-4)
C(1) = A(1)B(1) + (A(1) + B(1))C(0) (A-5)


Substituyendo la ecuación A-4 en la A-5
C(1)= A(1)B(1) + A(1)A(0)B(0) + B(1)A(0)B(0)


Siguiendo el mismo procedimiento, tenemos,
C(2)=A(2)B(2)+A(2)A(1)B(1)+A(2)A(1)A(0)B(0)+A(2)B(1)A(0)B(0)+B(2)A(1)B(1)+B(2)A(1)A(0)B(0)+B(2)B(1)A(0)B(0)

Este proceso se puede repetir para sumadores arbitrariamente grandes. Cada término de acarreo se puede expresar en forma SOP como función de solo las entradas originales, sin dependencia de los acarreos. Por tanto, solo se dan dos niveles de retardo de puerta a pesar del tamaño del sumador

Para números grandes, este procedimiento se vuelve demasiado complicado. Evaluando la expresión para el bit más significativo de un sumador de n bits, se requiere una puerta OR con n-1 entradas y n puertas AND de 2 a n+1 entradas. Por consiguiente el acarreo anticipado se hace normalmente con solo 4 u 8 bits a la vez. La figura muestra como se puede construir un sumador de 32 bits a partir de 4 sumadores de 8 bits, pero puede ser sustancialmente más rápido que pasar a través de 32 sumadores de 1 bit.

4 comentarios:

  1. << L-U-I-S >> ...ShadowKid Ztyle

    MMMM...yo tambien hize este blog...este...muy xvre ah..!!! aunque no entendí muy bien acerca de como funciona las sumas o sumadores en la memoria ROM... increible...como no pude entender... le preguntaré a mi compañero Viviberto que hizo esa parte del blog para que me explique y lo publique para que resuelva sus dudas tambien.

    GRACIAS MUCHACHOS POR APOYAR EN RELIZAR ESTE BLOG...!

    Comenten !!!

    ResponderEliminar
  2. Yo fui otro de los autores de este blog y aun sigo creyendo que el funcionamiento de la memoria rom es muy complejo...hay cosas que no terminand de sorprendernos y como algo tan pequeño y al parecer "simple" es de gran importancia para las computadoras.

    ResponderEliminar
  3. Aqui pude ver el rol fundamenal que cumple las operaciones logicas para el funcionamiento de la memoria rom.

    Resulta dificil entender ciertas cosas pero las figuras son de gran utilidad.

    ResponderEliminar