Escolar Documentos
Profissional Documentos
Cultura Documentos
Ustedes investigarn acerca de sto en su trabajo especial pero de igual forma aqu les hablar bsicamente qu es eso y con qu se come. Los niveles de integracin son: SSI: (Small-Scale Integration o integracin a pequea escala). Es el nivel de integracin ms bsico y comprende todos aquellos circuitos integrados (desde ahora IC por sus siglas en ingls) que poseen hasta un mximo de diez (10) compuertas. (He ledo documentacin que habla de hasta doce compuertas, pero decid tomar esta descripcin debido a que apareca en ms oportunidades y porque me parece ms lgico debido a las compuertas que integran el resto de los niveles). En este nivel tenemos las compuertas lgicas como las NAND (por ejemplo, el IC 7400 tiene 4 compuertas NAND de dos entradas), las NOT (IC 7404 con 6 compuertas NOT), las AND (IC 7408 de 4x2), las OR (IC 7432 de 4x2), las XOR (IC 7486), memorias de 1 bit, flip-flops, el IC7480 que es un sumador completo de 1 bit, etc. Estas compuertas integran de 10 a 100 transistores. MSI: (Medium-Scale Integration o integracin de mediana escala). Es el nivel de integracin que le sigue al SSI. Comprenden IC de que tienen entre 10 y 100 compuertas (entre 100 y 1000 transistores). En este campo tenemos memorias de palabra (8 bits), multiplexores, decodificadores, sumadores completos -entre ellos el IC7482 que es de 2 bits y el 7483 que es de 4 bits-, registros, contadores, etc.) LSI: (Large-Scale Integration o integracin de alta escala). Comprenden IC's de entre 100 y 1000 compuertas (o entre 1000 y 10000 transistores. Tenemos como ejemplos aqu : memorias ROM y RAM, ALU's (Unidades Lgicas y Aritmticas), microprocesadores de 8 y 16 bits, PLD (Dispositivos Lgicos Programables), etc. A parte de stos estn los VLSI (Very Large-Scale Integration) que tienen entre 1000 y 10000 compuertas y ahora los ULSI (Ultra Large) que son usados en los procesadores ms modernos como los de 32 bits.
Todos los IC comentados hasta ahora son de la serie TTL 74XX que ser los que ms usemos en los prximos meses. La serie CMOS es la 4000. Ms informacin en: http://en.wikipedia.org/wiki/Integrated_circuit
SUMADORES Antes de empezar quisiera recordarles las compuertas XOR (el smbolo de la operacin es un signo de ms circunscrito pero por comodidad usaremos aqu el para no tener que agregar una imagen cada vez que se requiera mostrar el signo. OJO no es una convencin natural, me lo acabo de inventar por comodidad).La XOR u OR exclusivo es parecida a la OR con la nica diferencia que para cuando sus entradas son ambas 1 la salida es cero (por eso lo de exclusivo). La funcin XOR pude por supuesto ser presentado con compuertas AND, OR y NOT. Por ejemplo, la funcin F = A B (Lase A XOR B), es tambin F = A'B+AB'. Existe tambin la compuerta XNOR o NOR exclusivo que es la funcin negada de la XOR. El smbolo de sta es un punto en el centro de un crculo. La funcin F= A XNOR B tiene su equivalencia en F = AB+A'B'. Recuerden que los diagramas de las compuertas XOR y XNOR son:
respectivamente. Dicho sto, empecemos por hablar del semisumador. El circuito semisumador (o H.A. Por Half Adder) es aquel que realiza la suma de dos bits SIN tomar en cuenta algn posible acarreo previo. Digamos que A y B son los bits a sumar, que S es la suma de ellos y que Co es el bit de acarreo de salida, la tabla de la verdad de este circuito es: A B S Co
0 0 1 1
0 1 0 1
0 1 1 0
0 0 0 1
Vemos entonces que Co(A,B)=(3) y que S(A,B)=(1,2). Resolviendo estas funciones obtenemos que: Co = AB y S = A'B + AB'. Si ven la ltima funcin se dar cuenta de por qu razn les habl antes de la
Ok. Pero este circuito nos servira como sumador de un slo bit (o para el bit menos significativo de una suma) pero en realidad es de poca utilidad para sumas de varios bits. En los casos que se requiera un
sumador de varios bits, se hace uso de un Sumador Completo (F.A. Por Full Adder). Veamos entonces como sera un sumador completo de 1 bit (lo que es el IC 7480 internamente). Digamos que A y B son los bits a sumar, que S es la suma de ellos, que Ci es el acarreo de entrada y que Co es el bit de acarreo de salida, la tabla de la verdad de este circuito es: Ci 0 0 0 0 1 1 1 1 A 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 Co 0 0 0 1 0 1 1 1 S 0 1 1 0 1 0 0 1
Analicen la tabla y corrobrenla. De la tabla observamos que: Co(Ci,A,B)=(3,5,6,7) y que S(Ci,A,B)=(1,2,4,7). O sea queCo=A'BCi+AB'Ci+ABCi'+ABCi y S=A'B'Ci+A'BCi'+AB'Ci'+ABCi. Simplific ando vemos que: Co=AB+ACi+ BCi y que S=Ci'(A'B+AB')+Ci(A'B'+AB), como (A'B'+AB)=(A'B+AB')'=(AB)' (XOR es una XNOR negada), si cambiamos las variables (para verlo fcil) y hacemos (AB)=T => S=Ci'T+CiT' => S = CiT , entonces S=CiAB
Si doble negamos la funcin del acarreo de salida para implementar con compuertas NAND, obtendramos la funcin Co=[(AB)'(ACi)'(BCi)']' y el
Este es un sumador completo de un bit, el mismo implementado en el IC 7480. En forma de bloque veramos algo como:
Estas implementaciones son hechas con puras compuertas y los IC's usados usan menos de 10 de ellas por lo que estos sumadores son a nivel de SSI. Si queremos construir un sumador de, por ejemplo, 4 bits, deberemos poner en cascada cuatro sumadores completos de un bit tal como se muestra a continuacin:
Esto no es ms que el IC 7483 (que es un sumador a escala MSI debido al nmero de compuertas que ste usa). El IC7483 es algo como:
y estos sumadores a su vez tambin pueden ser organizados en cascada para implementar sumadores de 8, 12, 16, ... 4n, bits. El acarreo de entrada del primer sumador (quien incluir el bit menos significativo) debe ir a tierra para indicar el cero. Recuerden, cuando la implementacin se hace con puras compuertas lgicas, el tipo de circuito integrado usado tiene nivel de integracin SSI. Puedo disear un circuito con 30 compuertas lgicas, pero por el slo hecho de usar slo compuertas, estamos realizando la implementacin a nivel SSI. Si en nuestro circuito usamos, adems de las compuertas, tambin IC's como el sumador de 4 bits IC7483, estamos haciendo una implementacin que usa tecnologa a nivel MSI. O sea, que si les digo que diseen un sumador BCD a nivel SSI quiere decir que pueden usar nica y exclusivamente chips de compuertas lgicas como el 7400, 7408, etc pero si les digo que pueden realizar su implementacin a nivel MSI, quiere decir que pueden incluir IC's como por ejemplo el 7483 en su diseo. Otro punto de vista para ver el sumador completo en: http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/fulladd.html
Quisiera comentar algo: cuando se realiza la suma de dos nmeros en paralelo, utilizandosumadores completos, se supone que todos los bits estn disponibles al mismo tiempopara poder realizar la operacin; sin embargo, esto no sucede en forma instantnea, ya que analizando el circuito de la Figura 2a, se observa que para obtener el acarreo de salida se tiene ms de un nivel de ejecucin y el tiempo de propagacin
1 1
0 1
1 0
0 0
ya que 1-1 = 0-0 = 0, 1-0=1 y, el ms interesante, 0-1 que debe pedir 1 prestado para formar la resta 10-1 = 1 y por esa razn en este caso la resta es 1 y el bit de prstame tambin es 1. Como ya se ha comentado, y veremos con ms calma ms adelante, lo normal en los sistemas lgicos y la forma en que las computadoras procesan los nmeros negativos es a travs del complemento a dos del nmero. Es por ello que en las computadoras el bit ms significativo representa el bit de signo. Si est activo se dice que el nmero es negativo y el valor del mismo es el complemento a dos de dicho nmero. As pues, para el caso de 0-1, tenemos que el resultado es 11, que es negativo y cuyo complemento a dos es 1, por lo que representa el -1... correcto. OJO: El bit ms significativo es el Po . Vemos entonces que R(A,B)=(1,2) y que Po(A,B)=(1). Resolviendo estas funciones obtenemos que: Po= A'B y R = A'B + AB'. Si ven la ltima funcin se darn cuenta de que es igual al resultado en la operacin de la suma, o sea, R=AB. La diagramacin de este circuito, y un diagrama en bloque del mismo, se ve a continuacin:
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
Pi 0 1 0 1 0 1 0 1
Po 0 1 1 1 0 0 0 1
R 0 1 1 0 1 0 0 1
De la tabla observamos que: Po(A,B,Pi)=(1,2,3,7) y que R(A,B,Pi)=(1,2,4,7). O sea quePo=A'B'Pi+A'BPi'+A'BPi+ABPi y R=A'B'Pi+A'BPi'+AB'Pi'+ABPi. Simplifica ndo vemos que: Po=A'B+A'Pi+ BPi Si lo negamos dos veces para tener su forma con compuertas NAND tendramos que Po=[(A'B)'(A'Pi)'(BPi)']' y que R=Pi'(A'B+AB')+Pi(A'B'+AB), como (A'B'+AB)=(A'B+AB')'=(AB)', entonces R=PiAB funcin que es igual a la de la suma. El diagrama del circuito restador completo y su respectivo diagrama de bloque lo vemos a continuacin:
Como ya les coment, las computadoras actuales utilizan complementos a dos (aparte de por lo prctico que resulta trabajar con los resultados, debido a que con el complemento a 1 podra haber ambiguedad con el nmero cero) para efectuar la operacin resta y para la representacin de nmeros negativos. Los complementos se usan en las computadoras para simplificar y hacer ms rpidas las operaciones aritmticas. La forma en que funciona la resta por complemento ya ha sido estudiada por lo que no ser revisada aqu (si lo desea puede volver a ver el tema 1 y releer la parte de resta por complemento). Entonces, de todo sto podemos inferir que para realizar restas podemos usar tambin nuestros circuitos sumadores tradicionales ya que la representacin de los nmeros negativos vendr dada por un 1 en el bit ms significativo del nmero y el complemento a dos del resto de los bits. Entonces, la forma ms fcil de trabajar con nmeros negativos es asumiendo que en nuestros circuitos todos ellos estarn expresados en la forma de complemento a dos. Veamos un par de ejemplos: Si queremos realizar la resta: 7-3 en binario, tenemos que (7)10=0111 y que (-3)10=1101. Al realizar la suma tenemos que el resultado es 0100 con acarreo 1. Sabemos que en el caso de restas por complemento a dos, este acarreo no tiene efecto, por lo que el resultado es correcto y es (4)10. Pero que pasa si hacemos 3-7. Aqu (3)10=0011 y (-7)10=1001.
La suma es 1100 SIN acarreo que es un nmero negativo y representa al (-4)10 lo que es correcto. Cuando trabajamos de esta forma debemos estar consientes de que 1010 NO representa el nmero 10 sino al -6. Con cuatro bits slo podemos trabajar con nmeros comprendidos entre -8 y 7 (Obvio), as que si queremos trabajar con nmeros ms grandes debemos trabajar a su vez con ms bits.
Si en todo caso, queremos convertir los nmeros positivos a complemento a dos en nuestros circuitos (por cualquiera que fuera la razn), podemos sencillamente implementarlo con el uso de inversores y un sumador para sumar el uno necesario para convertir el complemento a uno en complemento a dos, o usando tambin circuitos sumadores en el que una de las entradas tenga una implementacin con compuertas XOR, tal y como se vio en clase y que por razones de tiempo no colocar el diagrama aqu ahora (4 XOR, cada uno de dos entradas siendo una de las mismas comn a las 4 compuertas... en el caso que esta entrada comn sea cero, las otras cuatro entradas pasarn directas o si es uno, negndolas y llevando ese mismo uno a la pata de acarreo de entrada para sumar el uno necesario para convertir un complemento a uno a un complemento a dos. Este circuitos sirve para sumas, con cero en la entrada comn de las xor, y para restas con un uno. De haber acarreo, ste slo debe ser considerado si se est realizando una suma).
UN EJEMPLO DE APLICACIN: EL SUMADOR BCD Veamos ahora un ejemplo usando los sumadores 7483, en este caso particular el de la suma BCD. Como ya hemos dicho, posiblemente el cdigo ms comnmente empleado sea el CDIGO DECIMAL CODIFICADO EN BINARIO, generalmente llamado cdigo BCD, utilizado en computadoras digitales para representar nmeros decimales. Una caracterstica particular de este cdigo es que por cada dgito decimal se requieren 4 dgitos
las cuales slo son vlidas del 0 al 9, quedando como opcionales 6 combinaciones. Fjense, las sumas 1+2=3, 3+4=7, 8+1=9, etc, o sea, todas cuya suma sea menor o igual a nueve no tienen problemas en BCD ya que todas esas sumas son iguales en binario y en BCD. Pero en el caso de 5+5=10, que es 0101+0101 el resultado es 1010 que tiene sentido en binario pero NO en BCD. El resultado en BCD es 1 y 0000, que son los dos cdigos binarios de los nmeros decimales 1 y 0 que juntos representan el 10. Recuerden que los nmeros BCD son una forma de trabajar los nmeros DECIMALES pero expresados con cdigo binario. Entonces, toda suma cuyo resultado est por encima de 9 debe tener un procesamiento especial. Por otro lado, el nmero mximo que puede formarse de la suma de dos nmeros BCD es el 18 (9+9) o en todo caso el 19 si tomamos en cuenta el acarreo de entrada (9+9+1). La primera etapa de nuestro circuito es elemental, son nuestros dos nmeros binarios de entrada a un circuito sumador. Lo que requerir de procesamiento ser la salida de esta primera etapa. Veamos entonces la siguiente tabla de la verdad: Resultado de la suma en decimal. C4 0 1 2 3 4 5 6 0 0 0 0 0 0 0 S3 0 0 0 0 0 0 0 S2 0 0 0 0 1 1 1 S1 0 0 1 1 0 0 1 S0 0 1 0 1 0 1 0 Cn 0 0 0 0 0 0 0 R3 0 0 0 0 0 0 0 R2 0 0 0 0 1 1 1 R1 0 0 1 1 0 0 1 R0 0 1 0 1 0 1 0 Resultado de la suma en Binario Resultado de la suma en BCD (binario corregido)
7 7 8 9 10 11 12 13 14 15 16 17 18 19
0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 1 1 1 1 1 1 1 1 0 0 0 0
1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1
S es la salida originada por la suma de nuestra primera etapa del circuito y C4 es el acarreo generado en la misma. Vemos que los resultados en AZUL son los generados por nuestra primera etapa. Vemos que para nuestro circuito de salida ninguno de los resultados en VERDE CLARO requieren correccin (El resultado en BCD es el mismo que en binario). En cambio, para todos nuestros resultados en ROJO si requeriremos de una correccin. De aqu podemos concluir que el procesamiento especial al que hice referencia puede resolverse con tan slo sumar 6 (0110) a los resultados de la suma de nuestra primera etapa cuyos valores estn por encima del nueve (ejemplos: 10=1010 que + 0110 es 1 0000, 12=1100 que + 0110 es 1 0010, 19=10011 que + 0110 es 1 1001) y que en todos los casos que se requieren correccin el bit ms significativo de nuestro
resultado a obtener es UNO (Cn=1). CONCLUSIN: R=S si S<=9 y R=S+6 si S>9. De la tabla tambin podemos tambin obtener que:Cn(C4,S3,S2,S1,S0)=(10,11,12,13,14,15,16,17,18,19) o lo que es lo mismo:Cn=C4+F(S3,S2,S1,S0) donde F(S3,S2,S1,S0)=(10,11,12,13,14,15). Este es en realidad nuestro circuito corrector ya que ser ste quien indique cuando es que deben sumarse 0110 (como ya coment, la correccin es siempre que Cn=1). Ejerctese con mapas de K. y resuelva las funciones anteriores. Se dar cuenta de que el resultado de la simplificacin es: Cn=C4+S3S2+S3,S1 y que a su vez, llevndolo a compuertas universales en este caso a NAND, ser: Cn=[(C4)'(S3S2)'(S3,S1)']'
Analizando el circuito, se observa que en los resultados del 0 al 9 no se se realiza ninguna correccin. Por ejemplo, si el resultado es 1001 (910), C4=0 y la salida de la compuerta (1) es1; S3=1 y S2=0, por
lo que la salida de la compuerta (2) es 1; para la compuerta (3), las entradas son 1 y 0 y la salida es 1. Las tres entradas de la compuerta (4) son 1, lo que da como resultado que su salida sea 0. En forma similar se analizan los resultados del 10 al 15 y del 16 al 19 (este ltimo el ms fcil de explicar ya que al ser C4=1 la salida de la compuerta (1) es cero por lo que automticamente la salida de la compuerta (4) es 1); en estos casos la salida Cn=1, por lo que se
5. Disee un multiplicador binario que multiplique un nmero de 4 bits B=b3b2b1b0 por un nmero de 2 bits A=a1a0, para formar el producto C=c5c4c3c2c1c0. Esto puede lograrse mediante compuertas AND y sumadores paralelos de 4 bits. 6. Partiendo del cdigo BCD de 4 bits, disee un circuito que genere el cdigo EXCESO en3, y el complemento a nueve de este ltimo (por supuesto, tambin en exceso a 3) utilizando tecnologa SSI y MSI. En la prxima clase se ver el TEMA 9: Multiplexores y demultiplexores a nivel SSI y MSI. Aplicaciones.