Está en la página 1de 36
APENDICE B ————— Logica digital B.1. Algebra de Boole B2. Puertas B33. Circuitos combinacionales Implementacién de las funciones booleanas Multiplexores Decodificadores Array légico programable Memoria de solo lectura Sumadores B.4. Circuitos secuenciales Biestables Registros Contadores B.S. Lecturas recomendadas y sitios web Sitio Web recomendado 8.6. Problemas Apéndice B Légica digital 733 de datos binarios. A to largo de este libro, hemos supuesto la existencia de elementos de memoria que pueden estar en uno de dos estados estables y de citcuitos que pueden operar con datos binaries bajo la accion de sefiales de control para implementar distintas funciones, En. este apénidice, sugerimos cSmo se pueden implementar estos elementos de memoria y cizcuitos, en I6gi digital, concretamente con citcuites combinacionales y secuenciales. El apéndice comienza con wn breve repaso del ilgebra de Boole, que es el fundamento matemstico de la Wgica digital. Luego pre- ‘sentaremos el concepto de puerta. Finalmente, se describen los circuites combinacionales y secuem Ciales, que se consiruyen con puerta. E: funcionamiznto de los computadores digitales se basa en la memorizacién y procesamiento CRM La circuiteria digital en computadores digitales y otros sistemas digitales, se disefa y se analiza con el ‘uso de una disciplina matemtica denominada digebra de Boole. El nombre es en honor al materitico inglés George Boole, que propuso los principios bisicos de este élgcbra en 1854 en su tratado, An imes- tigation of the laws of thought on which to found the mathematical theories of logic and probabilities En 1938, Claude Shannon, un investigador asistente en el departamento de Ingenieria Eléctrica del MLLT,, sugirié que cl dlgebra de Boole poxiria usarse para resolver problemas de disefo de cincuitos de cconmutacién [SHAN38}. Las técnicas de Shannon se usaron, consecuentemente, en el andlisis y diseno de cireuitos electetnicos digitale, El digebra de Boole resulta ser una herramienta iil en dos Seas + Analisis: es una forma concisa de describir el funcionamiento de los circuitos digitales. + Diseno: dada una funcién deseada, se puede aplicar el dlgebra de Boole para desarrollar wna implementacién de complejidad simplificada de esta funcisn, Como con cualquier slgebra, e!lgebra de Boole usa variables y operaciones. En est variables y las operaciones son ldgicas, Por tanto, una variable puede tomar el valor 1 (VERDADE- RO) 00 (FALSO). Las operaciones logicas basicas son AND, OR y NOT, que se representan simbo- licamente con los signos punto, mis y rayado superior: AANDB= A+A AOR=A+B NOTA =A. La operacién AND es verdadera (valor binario 1) si y soto si los dos operandos son verdaderos. El resultado de la operacién OR es verdad si y solo si uno o ambos operancios son verdad. La operacicin Uunitaria NOT invierte el valor de! operando. Por ejemplo, consideremos la ecuacién D=A+B8-0) Des igual a 1 si Aes 10 iB = Oy C = 1. En otro caso Des igual a0. ‘Se necesitan varias aclaraciones en relacign con la notacién, En ausencia de paréntesis, la opera cidn AND es preferente a la operacién OR. Ademds, cuando no hay ambigiedad, la operacién AND. se representa con una simple concatenacién en lugar de con el operador punto, Por tant 734 Organizacion y arquitectura de computadores Tabla B.1. Opsraciones booleanas. A+BOC=A4+(@-Q=A+BC Jo que quiere decir: hacer AND con B y C; luego hacer la OR con el resultado y A. La Tabla B. 1 define las operaciones légicas bésicas en una forma conocida como tabla verdad. que simplemente enumera el valor de una operacién para cads combinacién posible de los valores de los operandos. La tabla también enumera otros ives operadores iiles: XOR, NAND y NOR. Lt exclusive-or (XOR) de dos operandos Igicos es 1 si y solo si, uno de los operandos vale 1 La funcién NAND es el complemento (NOT) de la funcién AND, y Ia NOR es el complemento de la OR: ANAND B = NOT(A AND B) ANOR B = NOT(A OR B) = AFB Como veremos, estas tres operaciones nuevas pueden ser dtiles para implementar ciestos circuitos digitale. La Tabla B.2 resume las identidades clave del dlgebra de Boole. Las ecuaciones se han organiza do en dos columnas para mostrar la complementariedad, o dualidad, propias de las operaciones AND Tabla B2. Identidades basicas del algebra de Boole, Apéndice B /Légice digital — 735 YOR, Hay dos clases de identidades: las reglas basieas (o postulados) que se afirman sir demostra cid, y otras identidades que se pueden derivar de los postulados basicos, Los postulados definen la _manera en la que expresiones booleanas se interpretan, Una de las dos leyes distributivas merece ser destacads ya que difiere de lo que encontrarfamos en un dlgebra norm: A+ (B CO) (A +B)-(A+C) Las dos iltimas expresiones, se denomminan teorema de DeMomgan. Se pueden reeseribir de la siguien- te forma: ANOR B= AANDB ANANDB = AORB Se invita al lector a verificar kas expresiones ile ta Tabla B.2 sustituyendo las variables A, B y C por valores reales (unos y ceros). EI bloque fundamental de construcci6n de tedos los circuitos logicos digitales son las puertas. Las Fanciones Idgicas se implementan interconectando puertas. Una puerta es un eireuito electronico que produce como seral de safida una operacién booteana sencilla de las semales de entrada. Las puerias bisicas usalas en légica digital son AND, OR, NOT, NAND y NOR. La Figura B.1 muestra estas cinco pue Ja puerta se define de tres formas: si. polo grilico, notacién algebraica y tabla verdad. La simbologia usada aqut y a lo largo del apéndice cs el estinda EFI ‘Sul 91 (IEEES4). Hay que destacar que la operacién de inversién (NOT) se denota por un circulo. Cada puerta tiene una o dos entradas y una salida, Cuando los valores de entrada cambian, 1a seital de salida correcta aparece casi instantineamente, retrasada solo por el tiempo de propagacién dd la sefial a través de la puerta (conocido coma retardo de puerta). El significado de esto se v la Seocién B3. ‘Adem de las puertas indicadas en la Figura B.1, se pueden usar puertas con tres, custro 0 mis ‘entradas. Por tanto, se puede implementar X + ¥ + Z con una simple puerta OR de wes entradas, Normalmente, no se usan todos los tipos de puerta en implementacién. El diseao y la fabricacién pueden ser nis seneillos si solo se usan uno o dos tipos de puertas. Por tanto, es innpostante id ‘car conjuntos de puertas funcionalmente completos. Esto significa que cuskquier funcién booleana se puede implememar usando solo las puertas del conjunto, Los siguientes conjuntos son funcional te completos: + AND. OR, NOT + AND, NOT + OR, NOT + NAND + NOR 736 Organizacién y arquitectura de computadores mae ent | —settopateo | agro [neha : “| D> ven) Ee = tale row | tele 7 $ a talt pak 5 vor | sper F F wo) sf)" . a = (ATR) @ Figura Puertas ldgicas bésicas. Deberia quedar claro que las puertas AND, OR y NOT constituyen un conjunto funcionalmente completo, ya que representan tres operaciones del élgebra de Boole. Para que las puertas AND y NOT formen un conjunto completo, debe haber una forma de sintetizar la operacion OR a parti de las ope- raciones AND y NOT. Esto se puede hacer uplicando el tcorema de DeMorgn: A+B=A-B AOR B = NOT(NOT A)ANDINOT B)) De igual forma, las operaciones OR y NOT son funcionalmente completas porque se pueden usar para sintetizar a operacién AND. La Figura B.2 muestra cémo se pueden implementa: las funciones AND, OR y NOT \inicamente con puertas NAND, y la Figura B.3 muestra lo mismo para NOR. Por esta raz6n, se pueden imple- ‘mentar circuitos digitales sinicamente con puertas NAND o NOR, como frecuentemente se hace Con las puerta, se aleanza el nivel més primitive de la ciencia ¢ ingenieria de computadores. Un {examen de tas combinaciones de transistores usaklas para constrair puertas sale de este mundo para entrar en ef mundo de la ingenieria electrdnica, Para nuestros propésitos, sin embargo, nos es Avena B/ Logica digital — 737 OSD — pH st] >> Figura B.3. Uso de las puertas NOR. suficiente describir emo se pueden usar las puertas como blogues de construeci6n para implen Ios circuitos Hogicos esenciales de un computador digital. B.3. CIRCUITOS COMBINACIONALES Un circuito combinacional ex un conjunto de puertas interconeciadas cuya salida, en un momento dado, es funci6n solamente de Ia entrada en ese instante, Como ocurre con una puerta seni laapa- ricién de la entrada viene seguida casi inmediaiamenie por la aparicién de la salida, con solo retardos de puerta 738 Organizacién y arquitectu de computadores En general, un circuito combinacional consiste en m entradas, ‘una puerta, un circuito combinacional puede detinirse de tres formas arias y mu salidas binarias. Como + Tabla verdad: para cada una de las 2* combinaciones posibles de las n sefales de entrada, se cesumera el valor binario de eada una de las mr seiales de salida. ‘+ Simbolo grafico: describe la organizacién de las interconexiones entre puerias. + Keuaciones booleanas: cada sefal de salida se expresa como una Funcién boolean de las seftales de entrada, IMPLEMENTACION DE LAS FUNCIONES BOOLEANAS ‘Cualquier funci6n booleana se puede implementar en electrGnica en forma de red de puertas. Para una funcidn dada, hay una serie de realizaciones alternativas, Considérese 1a funcidn booleana represen: tada por la tabla verdad de la Tabla B.3. Podemos expresar esta funcida sencillamente detallande las combinaciones de los valores de A. B, y C que hacen que F valga 1 = ABC + ABC + ABC (Bl) Hay tres combinaciones de los valores de entrada que hacen que F valga 1. y si se ds cuslguiera dle estas tres combinaciones, el resultado seri 1. Este tipo de expresién, por razones evidentes, se ‘conoce como ta forma suma de productos (SOP, sum of products). La Figura Bl, muestra una senci- 1a implementacisn con puertas AND, OR y NOT. Se puede obtener tambign otra forma de la tabla ‘verdad. La forma SOP indica que la salida es 1 si cualquiera de las combinaciones de entrada que pro- ducen | es cierta, También se puede decir que la salida es | si ninguna de las combinaciones de entra- dda que producen O'es cietta, Por tanto: F = (ABO « (ABC) + (ABO) - (ABO) (ABO) Figura B.4. Implementacién de la suma de productos de la Tabla B.3. Apendice B /Légica digital 739 Esta expresién se puede reescribir usando una generalizacién del teorema de DeMorgen: (KY Z=K+V+Z Por tanto, (A+B+D *At+B+O (B.2) F=A4B+O-A+B+O- At a+O- A+ STAT BS CAT BY O)-(AIB+O-(A4B4 Esta dltima expresidn esté en Ia forma de producto de sumas (POS, product of sums), como se ilustra en la Figura B.S. Por claridad, no apareeen las puertas NOT. En su lugar, suponemos que se dispone de cada sefal de entruda y de su complement, Esto simplifica el diagrama logico y hace inxs legibles las entradas a las puerta. Por tanto, se puede realizar una funcién booleana tanto en la forma SOP como en lt forrn POS. En este momento, podria parecer que la eleveién dependeria de sila tabla verdad contiene mais unos. 6 ceros para Ie funcién de salida: la SOP tiene un término para cada 1, y la POS tiene un término para cada 0. Sin embargo, hay otras considersciones: + Generaimente es posible obiener una expresidn booleana mas sencilla de ta tabla verdad que de las formas SOP 0 POS. + Puede ser preferible implementar li funeidn con puertas sencillas (NAND o NOR), ae pee oe> Figura BS. Implementacién del producto de sumas. 740 Organizacibn y arquitectura de computadores ‘menos puertas para implementar la funcidn, Para llevar a cabo esta simplificacién se pueden usar tes métodos: + Simplificacién algebraica + Mapas de Karnaugh + Tablas de Quine-McKluskey ‘Simplificacién algebraica. La simpliticacién algebraica supone la aplicacién de las identdiades de la Tabla B.3, que reduce la expresin booleana a otra con menos elementos Por ejemplo, supongamos de nuevo la Ecuacién B.1. Un poco de razonamiento deberia conven- ‘cer al lector de que una expresi6n equivalente es F=AB+BC (B3) ©, incluso mas sencillamente, Esta expresion se puede implementar como se indica ea la Figura B.6. La simplificacién de ta Ecuaci6n B.1 se ha hecho esencialmente por observacién, Para obtener una expresién mas compleja, se necesita un procedimiento més sistemstico, Mapas de Karnaugh. Si se quiere simplificar, los mapas de Karnaugh som una forma conve niente de representar un funcién booleana cont pocas variables (de cuatro a seis). El mapa es un cconjunto de 2* cuadrfculas, que representan las posibles combinaciones de los valores de ” variables binarias. La Figura B.7a muestra el mapa de cuatro cuadriculas para una funcién de dos variables. Es cconveniente, para Futuros propésitos, enumerar las combinaciones en el orden 00, 01, 11, 10, Como las euadriculas corresponden a combinaciones que se van a usar para escribir informactén, las com- binaciones se escriben habitualmente extemamente, en la parte superior de las cuadriculas. En el ceaso de tres variables, la representacién es un conjunto de ocho cuadrfeulss (Figura B.7b), con los, valores de una de las variables la izquierda y para las otras dos variables encima de las cuadriculas, Para cuatro variables, se necesitan 16 cuadriculas, con la disposicion indicada en la Figura B.7e. EI mapa se puede usar para representar cualquier funcién booleana de la siguicnte forma, Cada ccuadricula coresponde a un Gnico producto en ta forma de suma de productos, con valor 1 carres- pondicnte « la variable y valor 0 correspondiente a la NOT de dicha variable, Por tanto, ef prexlucto »—[>- Figura B.6._ Implementacién simplificada de la Tabla 8.3. Aplindice B Logica digital 741 AB ow oo ay Ae (oF = Ric + ABCD + Ane ane Dd (4 Egetads spies st map Figura 8.7. La utilizacién de los mapas de Karnaugh pera representar funciones booleanas. Al correspon af cura cuadricula dela Figura B 7, Para cad uno de estos productos de a fun cion, se coloca un I en a cuadrculs comespondiese, Porta, pare ol ejemplo de dos variables, el mapa corresponde a AB + AB. Dada la tabla verdad de una funcidn booleana, es facil construir ¢l mapa: pars cada combinacion de los valores dela variables que dan corn resutdo cn at verdad, s¢ pone un 1en la cuadreula corespondient. La Figura 8.7 muesra el resulld pan a Tabla verdad de la Tabla B. 3. Para pasar de una expresion bootana aun maps primero cs nccesario poner la expresién en lo que se denomina forma candnica: cada término de la expresién debe conte- her cada variahle. Asi por empl, si se tiene la Eovacion A-3, deems exit primero a la forma completa de Ia Beuacgn A} después pasal al mapa Los rétulos usados en Ja Figura B.7d enfatizan ta relacién entre las variables y las filas y ccolumnas del mapa. Aqui, las dos filas que abarca el simbofo A son aquellas en las que la variable Tabla B.3. Funcidn booleana do tres variables. 742 Organizacion y arquitectura de computadores ‘A-vale 1; las filas que no abarca el sfmbolo A son aquellas en las que A vale 0 (lo mismo ocurre para B,C, yD) Una vez que se ha creado ef maps de una funcién, podemos escribir, a menudo, una expresién algebraica sencilla anotando el conjunio de unos del mapa. El principio es el siguiente, Dos easillas aadyacentes cualesquiera deren en solo una de las variables. Si dos casillas adyacentes contienen tn 1, entonces los correspondientes cérminos producto differen solo en tna varinble. En tal caso, los dos términos se pueden fundir en uno climinando esta variable. Por ejemplo, en la Figura B.Ba, las la funcién se puede Este proceso se puede ampliar de varias formas. Primero, el concepto de adyacencia se puede ampliar para ineluir el recubrimiento alrededor del borde del mapa. Por tanto, la casilla mis alts de © © © on © ow «f WJ «0 0 off i a u u | 5D (WARD a © » oo uw © w a afi aft ( at aa an a nO nha (e 0 w wae one oe o a on wo uw ? i] w ye ! de fe ~ 1 a uf 3 Kw an a od we Figura B.8, Utilizacién de los mapas de Karnaugh. Apéndice 8 /Légica digital 743 ‘una columna es adyacente a la més baja, ¥ la ca jaquierda de la ils es adyacente festd mis a ka derecha, Estas condiciones se ilustran en las Figuras B. 8b y ©. Segundo, podemos aru par no solo dos casillas, sino 2" casillas adyacentes, es decir, 4,8, ete, Los tres siguientes ejemplos de 1a Figura B.X, muestran agrupaciones de cuatro casilas. Hay que destacar que en este caso, se pued ur dos de las variables, Los tres dltimos ejemplos muestran grupos de ocho cuadriculas, que permiten eliminar tres variables. ara simplificar podemos resumir las reglas como sigue: 1, Entre Jas casas mareadas (casillas con un 1), encontrar aquellas que pertenezcan @ un nico Dloque lo mayor posible ya sea de 1, 2. 4 w 8 easillas, y rodear el bloque con un circulo. 2, Seleccionar bloques adicionales de casillas marcadas tan grandes y tan pocas Como sea pos be, pero que incluyana cada easila mateada al menos una ver. Los resultados pueden no set tinicos en algunos casos. Por ejemplo, si una casilla marcada se combina exactamente con ‘tras dos, y no hay una cuart para completar un grupo mayor, entonces se puede elegir entre dds agrupaciones. Cuando se seleccionan grupos se permite usar el mismo uno mis de una vez. ‘Seguir dibujando eftculos alrededor de las casillas asladas marcadas, o de parejas de casillas marcadlas adyacentes, o de grupos de cuatro, ocho, etc. de forma que cada cuadrado marcado pertenezca al menos a un eftculo; luego utilizar el menor niimero posible de bloques para incluir a todas las casillas marcadas. La Figura B.9a, basada en la Tabla B.3, ilustrael procesdimiento, Si queda algdn 1 aislado despues de haber agrupado, entonces, eada uno de ellos se rodea con un eireulo como si fuera un grupo de unos. Finalmente, antes de pasar el mapa a una expresién simplificada Booleana, cualquier grupo de unos que esté completamente solapado por otros grupos se puede eliminar, Es lo que se muestra (we = eb + Ach Grupos solapados. 744 Organizacién y arquitectura de computadores cen la Figura B.9b. En este caso e grupo horizontal es redundante y se puede ignorar a la hora de crear la expresién tooleana. Es necesario mencionar ana earacterstica adicional de los mapas dle Kamaugh. En algunos casos, ciertas combinaciones de valores de las variables no se dan nunca, y por consiguiente, Ia salida correspondiente no se produce tampoco. Fstas se denominan condiciones de «indiferencia». Para ‘cada una de estas condiciones, se coloca la letra «do en la casilla correspondiente del mapa, Cuando se hace la agrupacién y simplificacién, cada «d» puede tratarse como un 1 0 un 0, eligiendo to que conduzea a una expresion mas sencilla. Un ejemplo, presentado en [HAYER8!, ilustra lo que hemos estado discutiendo, Nos gustaria desarrollar las expresiones booleanas para un circuito que suma un 1 los digitos decimales empa- quetados, Recordemos de la Seccién 9.2 que con decimales empaquetados, cuda digito decimal se representa con un eddigo de cuatro bits, de una forma obvia. ‘Asi, 0 = 0000, 1 = 0001 1000, y 9 = 1001. Las eombinaciones de cuatro bits restantes, de 1010 a 1111, no se usan, Este e6digo también se denomina Decimal Codificado en Binatio (BCD, Binary Coded Decimal) {La Tabla B.4 muestra Ia tabla verdad para producir un resultado de cuatro bits que ¢s la entrada ‘BCD de cuatro bits incrementads en 1. La suma es en médulo 10. Asi,9 + 1 = 0, También, hay que rnotur que seis de los eédigos de entrada producen «indiferencias» como resultado, ya que esas no son ‘entradas BCD vatidas. La Figura B.10 muestra el resultado de los mapas de Kemaugh para cada una de las variables de salida. Las casllas wd» se usan para loprar las mejores agrupaciones posibles. Tabla B.4. Tabla verdad de un contador digitel de un digito, Apéndice B /Logica digital 745 ep cp wow oo or 1), 1. i ala wi fa wT faye (X= 0B + we + BoD Figura B.10. Mapas de Karnaugh para el ejemplo det contador. El método de Quine-Mckluskey. Cuando se incrementa en mis de cuatro variables, ef méto. do det mapa de Karnaugh se vi haciendo cada ver mas incémodo. Con cinco variables, se necesita dos mapas de 16 > 16, con un mapa situado encima del otro, en tres dimensiones, para conseguir la adyacencia. (Seis variables requieren cuatro tablas de 16 X 16 en cuatro dimensiones! Un provedi- ‘mien(o alternativo es una técnica tabular, dentominada método de Quine-MeKluskey. Este mStado es adecuado para programar en un computador y asf tener una herramienta aitomsiea que produzea expresiones booleanas minimizadas, Este método se explica mejor mediante un ejemplo, Consideremos la siguiente expresisn: ABCD + ABCD + ABC D + ABCD + ABCD + ABCD + ABCD + & Supongames que esta expresién se ha obtenido de una tabla verdad. Nos gus lexpresi6n minima adecuada para implementarla con puertas, El primer paso es construir una tabla en ta que cada fla correspond a un término producto de la ‘expresisn. Los términos se agrapan de acuerdo con el mimero de variables complementadas, Es decir, ‘empezamios con el termino sin complementos, si existe, luego todos los términos con un complet (o, etc, La Tabla B.S muestra la lista para nuestra expresién ejemplo, indicando con las lineas hori ‘omtales las agrupaciones, Para mds claridad, cada término se representa con un | para cada variable sin complementar y con un 0 para cada variable complementada. Por tanto, agrupames términos de acuerdo con el nimero de unos que contiene. La columna «indice» es simplemente el equivalente decimal y es Gti para fo que se expticar El siguiente paso es encontrar todas las parejas de términos que differen en solo una variable, decir, todos los pares de términos que son iguales excepto que, una variable es 0.en uno de los térmi- nos y 1 en el otro, Debido a la manera en ta que se sgrupan términos, podemos hacerlo empezando 746 Orgonizacién y arquitoctura do computadoros Tabla BS. Primer paso del método de Quine-Mckluskey __ (para ABCD + ABCD ~ ABCD + ABCD + ABCD + ABCD + ABCD + ABCD) con el primer grupo y comparar cada término del primer grupo con cada término del segundo grupo. Después comparamos cada término del segundo grupo con todos ls témninos del tercer grupo, y asf sucesivaente. Cuando se encuentra un emparejamiento, se coloca una marea en cada término, se combina el par eliminando la variable en la que éifieren los dos térmings¥ se aftade a a nueva lista Asi por ejemplo, los uérminas ABCD y ABCD se combinan para producir el érmino ABC. Este pro- ‘ces continia hasta que se haya analizado la abla original entra. El resultado es una nueva tabla con los siguientes elementos: acD ABC ABD, BcDy = ACD Apc BCD, ABD, La nueva tabla se organiza en grupos, como indicamos antes, ce La misma forma que la primera tabla, La segunda tabla se process, después, de la misma manera que la primera. Es decir, se com- prueban términos que difieren en solo una variable y se produce un nuevo érmino pars una fercera tabla, En este ejemplo, la tercera tabla que se hace contiene solamente un término: BD. En general, el proceso continuaria a través de sucesivas tablas hasta una tabla en la que no haya ‘emparejamientos. En este caso, hay implicadas tes tablas. ‘Una vez se haya completado et proceso deverito anteriormente, tenemos que eliminar muchos de Jos posibles 1érminos de la expresién, Aquellos términos que no hayan sido eliminados se usan para ‘construir una matriz, como se ilustra en la'Tabla B.6, Cada fila de la matriz eorresponde a uno de los términos que no se han eliminado (no tiene marca) en cualquiera de tas tablas usadais anterionmente, Cada colunma se cortesponde con uno de los términos de la expresi6n original. Se coloca una X en cada interseceién de una fla y una columna tal que el elemento de la fila sea “compatible” ‘mento de la columna. Es decir, las variables presentes en el elemento de la fila tienen el ‘que lay variables presentes en el clemento de la columna. Después, se rodea con un ci X que esté sola en una columna. Enionces, se sitta un cuadrado alrededor de cada X en cualquier fila Apéndice B / Logica digital 747 Tabl Utimo paso del método de Quine-MeKluskey [para F = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD). {que tenga un eirculo en la X. Si cada columna tiene ahora una X encerrad en un cusdrado 6 en cireulo, entonces ya se ha coneluido, y los elementos de esa fila euyas X estén marcadas constituyen Ja expresi6n minima, Por tanto, en nuestro ejemplo, la expresién final es: ABC + ACD + ABC + ACD En Jos casos en los que algunas columnas no tengan ni un efreulo ni un cuadrado, se necesita un proceso adicional. Fsencialmente, seguimos afaciendo elementos a la expresign hasta que se cubran todas las columnas, Resumamas el método Quine-MeKluskey para intentar justficar intwtivamente eémo se realiza Ja minimizaciGn, La primera fase de Ia operacion es razonablemente sencilla, El proceso elimina variables jnnecesarias en términos producto. Enionces, Ia expresién ABC + ABC es equivalemte AB, dado que ABC + ABC = AB(C + C)SAB ‘Tras la eliminacidn de las variables, nos queda una expresion que es claramente equivalemte a fa expresion original. Sin embargo, puede haber términos redundntes en la expresién, como encontra- ‘mos agrupaciones redundantes en los mapas de Karnaugh. La organicacisn de la matriz asegura que se incluye (cubre) cada término de la expresién original y lo hace de forma que minimiza e! nimero de uérminos en Ia expresién final Implementaciones NAND y NOR. Ora consideracién en la implementacidn de funciones booleanas concieme a los tipos de puertas usados. Fs a menudo deseable implementar una funci6n buoleana solo eon puertas NAND 0 salo con puerta NOR. Aunque pueda no ser la implementaciin ‘con un minimo de puertas, tiene la ventaja de la regularidad, gue puede simplificar el proceso de fabricacién, Consideremos de nuevo la Ecvaciéin F=BA+O Como el complememo del complemento es el valor original, F = BA + ©) = (AB) + (BC) 748 Organizacion y arquitectura de computadores a 4 Figura B.11. Impiementacién con NAND de le Tabla B.3. aplicando el teorema de DeMorgan, F=(AB)- (BO) ‘que tiene tes operadores NAND, como se ilustra en la Figura B.U MULTIPLEXORES El moltiplexor coneeta varias entradas con una tinica salida, En un momento dado, se selecciona tuna de las entradas para que pase ala salida, La Figura B.12 muestra una representacion en diagram de bloques general Representa um multiplexor de 4 a 1. Hay cuatro lineas de entrada, llamadas DO, D1, D2 y D3. Se selecciona una de estas lineas para dar la sefial de salida F. Para Seleccionar una de las cuatro entra- das posibles, se necesita un cédigo de seleceién de dos bits, que se implementa con dos lineas de seleceisn llamadas $1 y $2, ‘La tabla verdad de la Tabla B.7 define un ejemplo de un multiplexor de cuatro a uno, Bs na forma simplificada de una tabla verdad. En vex de mostrar todas las combinaciones posibles de kis variables de entrada, muestra la salida como dato procedente de la lines DO, D1, D2, 0 D3. La Figura B.13 muestra una implememtacién usando puertas AND, OR y NOT. SI y S2 se conectan a las puer- tas AND de forma que, para cualquier combinacién de SI y $2, res de las puertas AND tengan la salida a 0. La cuarta puerta AND sacar el valor de la Linea seleccionada que seri 00 1. Por tanto, vwo— PI uumpuexon = mt ast pa Figura B.12. Representacién de multiplexor de 4a 1 Apendice B /Loaice digital 749 Tabla B.7. Tabla verdad de un multiploxor 4 a1. bo bt ba, bs Figura B13. Implementacion de un multiplexer. tues de Jas entradas de la puerta OR son siempre 0, y la sala de la pucria OR seri a puerta de entrada selecctonads., Usando esta organizacion regular, de ocho 1 uno, de 16.2 uno, ete. ual al valor de fell construir multiplexores Los multipiexores se usin en cireuitos digits para controlar enrutamiento de sefales y datos, Un ejemplo es la carga del contador de programa (PC). El valor a cargar en el contador de programa puede venir de una 9 varias fuentes diferentes: + De un contador binario, sie! PC se va a incrementar para la siguiente instruccién, + Del regisito de instruceion, st se aeabo de ejecutar und instruceion de salto usando direecio. namiento directo, + De la silida de ta ALU, sila instruceidn de salto especitica ta direccidn usanida moxto de des- plazamiiemo, 750 Organizavién y arquitwctura de camputadores me AL cm Au, Com Atv L114 LL Lt S—fcurmexor] ——S?—furrinevor) 82 cee su las sa Fe re, Xs Figura 8.14. Multiplexor de antrada al contador de programs. Las dlistinias entradas se pueden coneciar Ins Hineas de entrada de un multiplexor con el PC conectado a ls Hine de sida. Las lineas seleceionadas determinan cul es el valor a cargar en el PC. Como el PC contiene varios bits, se wsan varios multiplexores, uno por bit. La Figura B.14 ilus- tra esto para ditecciones de 16 bits. DECODIFICADORES {Un deeadificador es un citcuito combinacional con varies lineas de sada, con una sola de ellas selec- cionada en un instante dado, dependiendo del patron de lineas de entrada. Ea general, un decouifica- dor tiene 1 entradas y 2" salidas. La Figura B.15 muestra un decadificador con wes entradas y acho salidas, Figura B.15. Decodificador con tres entradas y 2° = 8 salides Apéndice B / Logics digital — 751 Los decodificadores tienen muchos usos en computadores digitales. Un ejemplo es la decoditica clin de direceiones, Supongamos que queremos construir una memoria de 1 KB usando cuatro chips RAM de 256 % 8 hits. Queremos un espacio de direcciones Gnico y unifieado, que se pueda descom- poner como sizue: Direceion (0000-00FF 0 0100-01FF 1 0200-02 0300-038 3 Caxla chip requiere echo lineas de direccién, y estos se toman de los ocho bits menos significa vos de fa direccidn, Los dos bits mis significatives de los diez bits de direecidn. se usin pari selec | —+a Figura 8.29. Biostables basicos. a oo a} fo cm) | bow Ras i Ce owas desta Figura B.30. Registro paralelo de ocho bits. 764 Organizacion y arquitecture de computedores entradaserie —{p gl —{p a Figura B.31. Registro de desplazamiento de cinco bits. Jos registros de fos valores provenientes de las lineas de sefales, dela DI a la DIB. Estas Hines pue= den ser salidas de multiplexores, ya que los datos que se pueden eargar en un registro pueden prove nir de una gran variedad de fuentes. Registro de desplazamiento. Un rezisiro de devplazamiento acepts y/o ranstiere informeeién Via serie. Consideceios, por ejemplo, la Figura B31, que muestra un registro de desplazamiento de éinco bits consiruko a partir de biestables D sineronos. Los datos se introdueen dnicamente através del biestable que estd mas als izquietda. Con eada pulso de rel, los datos se desplazan a ta dene- ‘cha una posicion, y el bit mas a la derecha se transfiere fuer Los registros: de desplazamiento se pueden usar como interfaz de dispositivos serie de E/S. pueden usarse en Ia ALU para realizar desplazamiente logicos y funciones de rotacién. imo us9, necesitan equiparse con circuiteria de lectura/escritura tanto paralela como CONTADORES (Otra categoria sil de circuitos secuenciales ¢s !a de contador, Un contador es un registro euyo valor se puede incrementar ficilmente en 1, médulo la capacidad del registro, Asi, un registro hecho con Diestables puede contar hasta 2" ~ 1. Cuando el contador se ineremenia mis alld ee su valor maximo, se pone a 0. Un ejemplo de un contador en la CPU es e| contador de programa, Los contaslores pueden ser asfacronos 0 sineronos, dependiendo de ta Forma en que operen. Los: ‘contadores asincronos son relativamente Tents, ya que la salica de un biestable produce un cambio cen el estado det siguiente biestable. En un contador sinctono, todos los biestables cambian de estado a la vee, Como el iiltimo tipo es mucho mas répido, es! tipo que se usa en CPU. Sin embargo, es til ‘empezar la discusi6n con una deseripeiin del contador asinerono. Contador asincrono, Un contador asincrono se denomina también contador de onda ripple). ya {que el eambio que se produce para incrementar el contador empieza en un extremo y se transite ‘como tna onda» hasta ef otro extremo, La Figura B.32 muestra una implementacicin de un contador de cuatro bits usando biestables JK, jumo con un diagrasna de tiempo que usta su comportamicn- to, El diggrama de tempo esta idealizado ya que no muestra ef retardo de propagacicn que se pro- duce cuando las stiles bajan en a serie ds biestbles. La slid del biestable mis la iquiercla (Q,) ex el bit menos significante, El disefio se podria amplar fécilmemte « un eiimero arbitrate bits inadiendo en cascada mas biesables. Apéndice B /Léaiea digital — 765 ate lo o o e 5 (ty lag deep Figura 8.32. Contador ondulado. En la implementacién mostrada, cl contador se incrementa con cada pulso de reloj. Las entradas Jy K de cada biestables se mamtienen a | constante. Eto quiere decir que, cuando hay un pulso de feloj, ha salida en Q se invierte (de a 0: de Oa 1). Nétese que el cambio de estado se produce cu do-cae el flanco del pulso de reloj: esto se eonace como biestable disparade por flanco. Usando bies- lables que responden « In transicion en un pulso de reloj, en vez de en et pulso misino, proporcions tun control del tiempo mejor en circuitous complejos. Si se analizan los patrones de salida de este con- tador, se puede ver el cielo 0000, O00. 11101111, 0000, ete Contadores sincronos. FI contudor asincrono tiene la cesventaja del retarto as bio de valor, que es proporeional sl tamafo de| contador Para superar esta desventaj, ccontadores sineronos, en los que todos los biestables de! contador cambian al misino tiempo. ssubseccidn, presentams el disefio de un contador sinctono de tres bits. Al mismo tiempo, ilustrare ‘mos algunos conceptos inisicos en el disefio de cireuitos sineronos, Para un contador de tres bits, necesitamos tres biestubles. Vamos a usar biestables J-K. [Ltamemos a las silidas sin complementar de los tres biestables A. B, ¥ C respeetivamente, donde C representa el bit menos significative, El primer paso es construir la tabla verdad que relaciona las ‘entradas J-K con las validas, para pesler disemar ol testo del cireuito, Dichs tabla verdad se muestra con la Figura B.33a. Las primeras tres columnas muestran las combinaciones posibles de ls sais A.B y C. Estin listadas en el orden en que aparecen cuando se increment el contador. Cade fila indica cl valor actual de A. B, Cy las entradas a los tres biestables que se necesitaran para obtener el proximo valor de A. B. y C. 786 Organizacidn y arquitectura de computadoras ABC BRA Rode Ke Do oouoe 1a “ 0 (fae vera 1 ‘ Vol Mt ao on lo ut Be we (by Mapa de Kamo ow. oo bee (er Diagram igen alte Rete) Figura B.33. Disefo de un contador sincrano. Para comprender la forma en la que se ha hecho fa tabla verdad de ta Figura B.33a, puede ser siti ‘eestructurar la tabla caracteristica del biestable J-K. Recordemos que esta tabla verdad se presentaba ccommo sigue: IK oo Q o 1 i 0 Lo Apéndice B /Léeica digital 767 En esta forms, fa tabla muestra el efecto que tas entradas 3 y K tienen en lr salida, Alora considers _mos la siguiente reorganizacton de la mista informacisn: Qa, JK o 0 @ 0 er) 1 od ot 0 1 ou 0 l En esta forma, la tabla proporciona el valor de la siguiente sala cuando se eonocen kas entradas y la sald neal, Esta es exaciamente la informacién que se necesita para disefiar el contador a, de hecho, cualquier circuito secuencial. En esta forma, ta tabla se denomina tabla de excitaciones. Volvamos a la Figura B.33a, Consideremos la primera fils, Queremos que el valor de A perm: nezca a 0, que el valor de Ba 0, y que el valor de C cambie de (1a 1 con la siguiente aplicacién del puso de rela. Li tabla de excitaciones muestra que para mantener una salida a 0, debemos tener kis cntradas J ~ 0 ¢ indiferencia para K. Para que haya un transicién de 0 a 1, las entradas deben ser Ty K =d, Estos valores se encuentran en fa primera fila de la tabla, Com un sazonamiento simi- lar, se puede rellenar el resto de Ia tabla, Una vee consiruid a tabla verdad de ta Figura B33, vemos gue fa tabla mueste fos valores requetidos para fos as entradas} y K como funciones de los valores cinales de A. B,C, Con ba ayuda de mapas de Kamaugh, podemos oblener Iss expresiones booleahas para ests ses uncon, Esto se muestra en fa parte b de ft fir, Por ejemplo, el maps de Karnaueh ota vaiable Ja (i ciada J del testable que produce la sida A) da gar a la expresin Ja = BC. Ciao se deriva las seis expresiones, es un problem sencillodisetar el eireuito real, como se muestra en la pate © de Ia fir Cra os ened [GREGYS} es una intoduceidn fil de leet sobre los canceptos de este capo, [STONMG] es una exeetente innronceign corta Hay un serie be ibros de Yexto que hacen un tratamiento mas profundo: como [MANOOS] y [FARHO$} / SITIO WEB RECOMENDADO. + Logica digital: coloccin tl de diggramas de cireuitos i

También podría gustarte