Professional Documents
Culture Documents
C, entonces B C20, lo que hace 4 2 2", El término 2 representa wn bit de acarreo y se puede descartar, conservando (BC), (un sumador binario de m its generaré un acarteo para cualquier suma A > 2*). Por tanto, (4),=(B), +1Cl,|_ acarreo descartado Si B2-1 Si Boe 1 0 bse No 0 1 Boe No =B-€ 1 1 =(B+O> 2 No 1 0 =(B+O)<-2" si * By C son niimeros positivos, La aritmética de complemento a una base se puede utilizar con cualquier base no solo con los nimeros binarios. Para ilustrar este hecho, los siguientes dos ejemplos usaran Ia aritmética de complemento a 10 con ntimeros de tres digitos. ‘Sumar +(75),, y -(21),, utilizando aritmética de complemento a 10 con tres digitos. En primer lugar, determinamos los cédigos de complemento a 10 de los dos ndmeros mediante la ecuaciGn 1.7: Oy 20,52 Capitulo 1 Sistemas numéricos y cédigos Evemp.o 1.52 Después realizamos ¢l célculo como (75),, + (-(21),,). Al sumar los dos cédigos de 3 digitos, obtenemos o75 979 0 Acarreo Al descartar el digito de avarreo, el resultado €s (0,54),,., = (54),., que es el resultado conecto. Sumar +(24),, ¥-(75), De nuevo, comenzamos por determinar los cédigos de complemento a diez para Jos dos ntmeros, por medio de Ia ecuaci6n 1.7: 2g = O20 ane ~(75)y = (9 Al sumac los dos eddigos de tres digitos obtenemos 024 +925 9 4 6 Ef resultado es (9,46),,.,. doride el 9 indica que este niimero representa un valor negativo. El lector debe verificar que (9,46),,., ¢s la representacion correcta del resultado deseado, -(54),,, en un sistema numérico de complemento a diez. Sistemas numéricos con complemento disminuido a una base El complemento dismintuido a una base (NJ, , de un niimero (N), se define como IM= =), -1 (10) donde n es el nimero de digitos de (¥), El complemento a uno es wn caso particular del complemento disminuido a una base para los nameros binarios (r = 2) y est4 dado por IM,,=2-(,-1 aay donde » es el niimero de bits de (N),. Podemos determinar el complemento a uno de un nlimero binario dado en forma directa a partir de la ecuacién 1,11, como se muestra en los siguientes ejemplos, El lector debe verificar los datos de! complemento a uno de la tabla 1,6 despads de estudiar estos ejemplos.Evempco't.53 Esempto 1.54 Evempco 1.55 Seccién 1.4 Representacion de nimeros con signo 53 Determinar el complemento a uno de (01100101),. De la ecuacién 1.11, IMI, * — (1100101), = 1 = (100000000), — (0100101), ~ (00000001), = (10011011), — (00000001) = (10011010), Determinar el complemento a uno de (11010100). De la ecu 2* — (11010100), — (00000001), = (100090000), — (11080100), — (00000001). = (00101100), ~ (00000001), = (00101011), Determinar el complemento a nueve de (40960)... De la eouacidn 1.10, IN ]jg_ = 10° — 40960) — (1001), = (100000), — (40960),,, ~ (00001), (590440), ~ (00001) jg = (5903%,,. ‘Aunque siempre podemos determinar el complemento a uno de un niimero mediante la definicién dada en la ecuacién 1.11, hay métodos mas sencillos. Los ejemplos anteriores sugieren el siguiente algoritmo para el eélculo de IN], ,dado (¥),, y lo presentamos sin demostracion. Algoritmo 1.6 Determinar (NJ, , dado (N), rm Remplacamos cada digito a de (N), por r ~ | =a, Observe que sir=2, basta con complementar cada bit individual de (¥) ey Al comparar las ecuaciones 1,7 y 1.10, vemios que la relacién entre el ‘compiemento a una base y cl complemento disminuido a una base de un namero (N)res ja siguiente. 1M], = IM, +t (iy54 Capitulo 1 Sistemas numéricos y codigos Evempto 1.56 EJempLo 1.57 Evempto 1.58 Evempto 1:59 Ahora debe quedar claro que el algoritmo 1.5 para calcular el complemento a tuna base es consecuencia del algoritmo 1.6. Podemos formular sistemas numéricos que utilicen el complemento disminuido a una base para representar los nimeros negativos de una manera similar a [a que usamos con el complemento a una base. Sin embargo, no haremos esto aquf; nos limitaremos a ilustrar fa aritmética, Aritmética de complemento disminuido auna base En {os siguientes ejemplos ilustramos las principales caracteristicas de la aritmética de complemento disminuido a una base. Los tres primeros ejemplos se centran en la swma de complemento a uno con diversas combinaciones de operandos positivos y negativos, Los nimeros wtilizados en estos ejemplos se tomaron de la tabla 1.6, ‘Sumar +(1001), y (0100). Representamos el nfimero positive como 01001 y el negativo con el complemento auno de 00100, que es 11011. Portanto, 00100 + 11011 = 100100, Observe que Este no es el resultado correcto. Sin embargo, obtenemos el resultado correcto si cl acarreo de salida del bit mas significativo se suma a la posieién de bit menos significativa; es decir, 00100 + 1 = 00101, Este procedimiento se conoce como acarreo final circular y es un paso de correccién necesario en la aritmética de complemento disminuido, Sumar 4(1001), y -(1111),. Representamas el ndmero positive como 01001 y el negativo como 10000. Esto Produce 01001 + 10000 = 11001. Observe que en este caso cl acarreo final circular es 0 y, por tanto, no afecta el resultado, Sumar -(1001), y -(0011),, Sirepresentamos ambos nimeros con su complementoa uno, obtenemos 10110 +11100= 110010, El paso de acarreo final circular produce el resultado correeto, es decir, 10010 +1 = 10011, Los siguientes dos ejemplos ilustran la aritmética de complemento a nueve, ‘Sumar +(75),, ¥ (21), El complemento a nueve de 021 es 978. Por tanto, fa operacién es 075 +978 = 1053, que es el resultado correcio después del procedimiento de acarreo final circular: 053 + 1 = 054,Seccién 1.5 Cédigos de computadora 55 Esempco.1.60 ‘Sumar +(21),, ¥ (75), El célculo es 021 +924 = 945, que es ei resultado correcto, pues el acarreo final circular es 0, B® 1.5 Cédigos de computadora Un eddigo es un uso sistematico y de preferencia estandarizado de un conjunto dado de simbolos para representar informacién. En la vida cotidiana aparecen varias formas sencillas de cdigos. Por ejemplo, al acercarnos a un seméaforo, se sobreentiende que la luz roja significa alto, que Ie luz verde significa siga y «que la seftal Ambar significa precaucién. En otras palabras, et cédigo es Luzroja; Alto Luz mbar: Precaucién Luz verde: Siga Otro cédigo conocido es el que se usa en el beisbol, Cuando un umpire levanta sus brazos con dos dedos en la mano derecha y tres dedos en la mano izquierda, se sobreentiende que la cuenta de! bateador es dos strikes y tres bolas. Estos dos sencillos ejemplos ilustran Ia idea de los cédigos y sin duds que el lector podra imaginar mas ejemplos. Las computadoras y otros sistemas digitales utilizan cédigos mas complejos. parae! procesamiento, almacenamiento e intercambio de informacion de diversos. tipos. Tres tipos importantes de cédigos para computadora son el numérico, el de caracteres, y el de deteccidn y correccién de errores. A continuacién analizare- ‘mos brevemente algunos cédigos importantes de cada una de estas categorias. 1.5.1 Cédigos numéricos Los cédigos numéricos sirven para representar nimeros con fines de proce- samien‘o, y/o de almacenamiento, Los nimeros de punto fijo y de punto flotante son ejemplos de estos cédigos. Niimeros de punto fijo Los mimeros de punto fijo se utilizan para representar ya sea enteros con sigito © bien fracciones con signo. En ambos casos se usan los sistemas de magnitud y signo, de complementoa dos o de complementoa uno para representar los valores con signo. Los enteros de punto fijo tienen un punto binario implicito ala derecha el bit menos significative, como se muestra en la figura 3a, y las fracciones de punto fo tienen el punto binario implicito entre el bit de signo yy el bit de magnitud mas significativo, como se muestra en la figura 1.3b.56 Capitulo 1 Sistemas numéricos y cédigos Evempco 1.61 Evempto 1.62 Bi hese ‘rata racine ef iy2 a-3][a-2]« en © Figura 1.3 Representaciones de nimeros de punt tio. (a) Entero de punto ti. (6) Fraccién de punto fo Dar dos posibles interpretaciones de! numero de punto fijo de 8 bits 01101010, usando el sistema de complemento a dos. Como el bit de signo es 0, el ntimero representa el entero positivo 1101010. si el punto binario se coloca como en Ia figura 1.3a, 0 bien la fraccién positive 0.101010 si el punto binario se coloca como en la figura 1.3b, Dar dos posibles interpretaciones del ntimero de punto fijo de 8 bits 11101010, usando el sistema de complemento a dos. El bitde signo es 1; por tanto, el nimero representa -0010110. obien -0.00101 10, segiin sea la convencién utilizada para colocar el punto binario. : Representaciones con exceso 0 sesgadas Una representacién con exceso ~K de un cédigo C se forma sumando el valor K a cada palabra de cédigo de C. Las representaciones con exceso sc utilizan menudo para representar los exponentes de los niimeros de punto Notante, de modo que el valor minimo del exponente se represente mediante ceros. Observe ‘aue los nmeros con exceso -2" no son sino los némeros de complemento a dos, jcon el bit de signo invertido! La representacion con exceso 8 de la tabla 1.8 se obtiene al sumar (1000), al cédigo de 4 bits de complemento a dos. Observe que el resultado es que el humero mfnimo (8) se representa con 0000, y el maximo (+7), con 1111Seccion 1.5 Cédigos de computadora 87 TABLA 1.8 CODIGO CON EXCESO 8 Decimal | Complementoados | Exceso 8 4 oun i) +6 onto i110 +5 o1or Hoi 4 0100 1100 +3 oon 101 42 010 1010 +1 001 1001 0 0000 1000 1 tut oun 2 10 ove 3 Hon O10! 4 Ho 0100 S ol OIL 4 Iolo 10 7 oot 001 8 1000 0000 Nimeros de punto flotante Los nimeros de punto flotante tienen una forma similar a los nimeros escritos en notacién cientifica, En general, la forma de punto flotante de un mimero.N se eseribe como N=Mxrt (3) donde M, a mantisa 0 significando, es un niimero de punto fijo que contiene los digitos significativos de Ny E, el exponente 0 caracteristica, es un entero de punto fijo, En el caso general, dado un nimero de punto fijo N, donde Nata, 0, 4.), entonces, en forma de punto flotante, 0), xP Nes6a,, Al deducir ta representacién de un nimero de punto flotante, fa mantisa y la caracteristica se codifican por Separado, La base es implicita y no se incluye en la representacién. Lamantisa M muchas veces se codifica con magnitud y signo, porto general como una fraccion, y se puede escribir como M= (Sip, 4B Jou aia) donde (.,,, ...@_,), representa la magnitud de My S,,indica el signo dei numero. $,, 52 elige por Io general de modo que M= (DE KC, @, y entonces 5, = 0 indica un nixmero positive, mientras que namero negativo.58 Capitulo 1 Sistemas numéricos y cédigos Con frecuencia, el exponente £ se codifica en complemento a dos con exceso ~K. El complemento a dos con exceso ~K de un exponente se forma sumando un sesgo de K al valor entero en compiemento a dos de! exponente. En el caso de los nimeros binarios de punto flotante (para os que la base es 1=2), Kes, por le general, 2~', donde ¢ es el nimero de bits del exponente. Por tanto, el N a 2 sl us ' 2 ° - ° DEL. Evempco 1.66 Evemp.o 1.67 e6digo. El cédigo Gray es uno de los tipos mas comunes de cédigos ciclicos y tiene Ia caracteristica de que las palabras de cédigo para dos numeros consecutivos difieren sélo en un bit. Es decir, ladistancia entre las dos palabras de c6digo es 1, En general, a distancia entre dos palabras de codigo binario es igual al nimero de bits en que difieren las dos palabras. Detinir un eédigo Gray para coditicar los ntimeros decimales de 0 a 15. Se necesitan cuatro bits para representar todos los nimeros, y podemos construir el cédigo necesario asignando al bit ‘de la palabra de cédigo el valor 0 si los bits je i+ | del namero binario correspondiente son iguales, y 1 en caso contrario, E! bit mas significativo del ntimero siempre se debe comparar con 0 al utilizar esta técnica. El e6digo resultante aparece en la tabla 1.12. Lamecesidad de observar o medir la posici6n de un eje circular ocurre en muchas aplicaciones. Esto se puede realizar montando un circulo conductor codificado ‘en el eje y dotectando en forma eléctrica la posicién del disco, ,Cémo codificar cel disco de modo que no s¢ lean indicaciones de posicién incorrectas cuando los sensores se muevan de un sector del disco al otro? Podemos obtener el resultado deseado si los sectores del disco se codifiean en un e6digo Gray, puesto que sélo cambiard un bit de posicidn en el eddigo si los sensores se mueven de un sector a! siguiente, La figura 1.5 ilustra la solucion,64 Capitulo 1 Sistemas numéricos y cédigos TABLA 1.12 CODIGO GRAY PARA LOS NUMEROS DECIMALES DE 0A 15, Binario Gray | 0 0000 9000) 1 0001 000 2 010 oor s 001! 0010 4 0100 O10 3 010) ou 6 0110 101 1 ont 0100 8 1000 1100 9 tops hot 10 1010 an " ou 110 12 1100 1010 8 not ton ls 110 1001 1s uy 1000 Figura 1.5 Disco con cédigo GrayEvempco 1.68 Seccién 1.5 Cédigus de computadora 65 1.5.3 Cédigos para deteccién y correccién de errores Un error en un dato binario se define como un valor incorrecto en uno o més bits. Un error simple es un valor incorrecto en un solo bit, mientras que un error amiltiple se refiere a 1a existencia de uno 0 mas bits incorrectos. Los errores pueden deberse a fallas del hardware, interferencia extema (ryido) u otros eventos no deseados. La informacién se puede codificar mediante cédigos especiales ‘que permitan la deteccién ¢ incluso la correccién de ciertas clases de errores. A continuacion ilustramos algunos cédigos sencillos de deteccin y correccin de cerrores, Seré util establecer algunas definiciones y notaciones antes de presentar cddigos especificos. Sean /'y J palabras de informacién binaria de m bits. El ‘peso de 1, w(0), se define como el niimero de bits de J iguales a |. La distancia centre Jy J, dU, J), es igual al niimero de posiciones de bit en que difieren /y J Determinar los pesos de ly Jy la distancia entre ellos si /= (01101100) y J=(11000100), Si contamos los bits | en cada nimero, tenemos que WN =4y Wi) =3 A continuacion, comparamos los dos niimeros bit por bit, observando que difieren de la manera siguiente: 1 0 ft t t Los niimeros difieren en posiciones de tres bits. Por tanto, dl, D=3 Propiedades generales de los codigos de deteccién y correccin de errores Si le distancia enire dos palabras de cédigo de un cédigo C es mayor o igual que d,,,, se dice que el cddigo tiene distancia minima d.... Las propiedades de deteccidn y correccién de errores de un e6digo quedan determinadas en parte por su distancia minima, Esto se ilustra en la figura 1.6, donde los puntos encerrados en un circulo representan palabras de cédigo validas y los no ence- rrados representan palabras que tienen errores. Unimos dos puntos si las palabras correspondientes differen en exactamente una posicién. Para un d,., dado, al menos se necesitan d_, errores para transformar una palabra de cddigo valida, en otra. Si hay menos de d,, errores, entonces se obtiene una palabra que no es del codigo y se puede defectar, Si la palabra que no es del codigo esta mas “cerca” de un codige vilido que de otro, se puede deducir la palabra de codigo original, y asf corregirse el error. En general, un eddigo permite corregir terrores y detectar serrores adicio- rales si y sélo si se cumple la siguiente desigualdad. 2t+st+1 Sd, (1.25)66 Capitulo 1 Sistemas numéricos y codigos ‘Un andlisis de ta ecuacién 1.25 muestra que un eddigo con deteccién de errores simples (s= 1, = 0) requiere una distancia minima de 2; un cddigo con correccin de errores simples (s 1) requiere una distancia minima de 3, y un cédigo con correccién de errores simplesy deteccibn de errores dobles (s= 1= 1) require tuna distancia minima de 4, La figura 1.6 ilustra estas y otras combinaciones. Palabes con error | ratsorace cig aan Ys a Lo Figura 1.6 Relacion entre la distancia minima entre palabras de cédigo y ta capacidad para detectar y corregir ertores de bit. (Las palabras unides difiran ‘exaciamente en una posicion de bit, (a) Doteccidn de errores simples (SED), {b) Correccion de errores simpies (SEC) 0 correccion de errores dables (DED). {e) (SEC y DED) 0 TED. (d) DEC (SEC y 26D), 0 4ED. Cédigos de paridad sencillos Los cédigos de paridad se forman a partir de un cédigo C, concatenando (|) un bit de paridad, P, con cada palabra de cédigo de C, La figura 1.7 ilustra et ‘concepto. En un cddigo de paridad impar, el bit de paridad se especifica como 00 1 demodo que w(P|) sea impar. El bit de paridad de un cédigo de paridad par se selecciona de modo que w(P | C) sea par. La figura 1.8 muestra la forma en que se utiliza la codificacian con paridad en una cinta magnética de nueve pistas , Bits de tnformacién t Weep Figura 1.7 Informaciin cositicada con paridad.Evempco 1.69 Evempto 1.70 Seccién 1.5 Cédigos de computadora 67 1011000 0 n ° t rn Pista de pariad a Figura 1.8 Coditicacion con paridad en cinta magnetica. Concatenar un bit de paridad con el cédigo ASCII de los caracteres 0, X, = y BEL para obtener un édigo con paridad impar. Caricter_ | Cédigo ASCI_| Cédigo con paridad impar 0 0110000 10110000 x 1011000 01011000 = o1t1100 10111100 BEL 000111 00000111 Codificar el mensaje CATCH 22 en cédigo ASCII con paridad par y agrupar la palabra codificada en segmentos de 16 bits. Segmento 1: (11000011 01000001) cq) Segmento2: (11010100 1100001) 4sen Segmento3: (011001000 10100000) 4se4} Segmento 4: Observe que este mensaje se puiede guardar en cuatro palabras de memoria de una computadora de 16 bits como Palabra X 1100001 10100000) Palabra + 1: 110101001 1000011 Palabra.¥ +2: 0100100010100000 Palabra X +3: 10110010101 1001068 Capitulo 1 Sistemas numéricos y codigos La deteceién de errores en informacién codificada con paridad se realiza ‘con facilidad, veriGicando que una palabra de codigo tenga la paridad correcta. Por ejemplo, si la paridad de una palabra de cédigo con paridad impar es en realidad par, entonces ha ocutrido un error detectable. Es facil construir circuitos gicos para detectar la paridad, como veremos en secciones posteriores del texto. Los cédigos de paridad son eédigos con distancia minima igual a 2 y por tanto pueden servir para detectar errores simples. De hecho, sirven para detectar cualquier niimero impar de errores, pues tales errores eambiardn ta paridad de la palabra de e6digo. Por otro lado, los errores en un niimero par de bits no cambian la paridad y, por tanto, no se pueden detectar mediante tun e6digo de paridad. Codigo dos de cinco El cédiga dos de cinco es un cédigo para deteccién de errores que tiene exactamente 2 bits iguales a | y3 bits iguales a0 en cada palabra de cédigo, yes representative de los cédigos mde n. Ladeteccidn de errores se realiza contando 1 niimero de unos de tna palabra de eédigo. Se nota un error cuando el niimero de unos no €s exactamente igual a 2. Esto implica que los e6digos dos de cinco permiten fa deteecién de errores simples y también de errores maltiples en bi adyacentes, La tabla 1.13 presenta un eddigo dos de cinco para los digitos decimales. Cédigos de Hamming En 1950, Richard Hamming publicé la deseripcién de una clase de cédigos para cortecciin de errores que han tenido amplio uso. Los eédigas de Hamming se pueden ver como una extensién de los eédigos de paridad simple, en cl sentido de que se utilizan varios bits de paridad 0 bits de verificactin, Cada bit de verificacién se define sobre un subconjunto de los bits de informacién de una palabra. Los subconjuntos se traslapan de modo que cada bit de informacion esta en al menos dos subconjuntos. Los ¢édigos para correccién de errores TABLA 1.13 CODIGOS DOS DE CINCO PARA LOS DIGITOS DECIMALES. Cédigo dos de cinco. ‘oni tor oncor Ho onto oni lonto ani00 row 9 11000)Seccién 1.5 Cédigos de computadora 69 simples (SEG) permiten la deteccion y correccién de cualquier error en un dinico bit. Los cédigos para correceién de errores simples y detsccién de errores dobles (SEC/DED) permiten detectar pero no corregir errores dobles, ademas de detectar ¥ corregir los errores simples. Las propiedades de deteecién y correccién de errores de un cédigo de Hamming estan determinadas por el niimero de bits de verificacién utilizados y {a forma como los bits de verificacién se definen en relacién con tos bits de informacién, La distancia minima d,,, ¢5 igual al peso de la palabra de eédigo ‘no nula con peso minimo, én otras palabras, d.,, es igual al numero de unos de {a palabra de cédigo con menos unos. No es un objetivo de este libro analizar con detalle et disefio de los codigos de Hamming. Sin embargo, utilizaremos los dos eédigos de Hamming que aparecen en la tabla 1.14 para ilustrar las Propiedades de estos codigos. Ademas, presentaremos un método para el dise‘io de codigos de Hamming SEC sencillos, Cédigo de Hamming 1, El codigo permite corregir errores simples pero no deteciar errores dobles, pues su distancia minima es 3. Esto se puede ver con claridad cn ¢! siguiente andlisis. Un error simple en el bit extremo izquierdo de la palabra de eédigo 0100110 produce ta palabra errénea 1100110, La tabla 1.15 muestra la diferencia y Ia distancia entre cada palabra de c6digo valida y la palabra errénea, Observe que slo la palabra de cédigo donde ha ocurrido el error tiene una distancia 1 con respecto a la palabra errénea. Esto significa que ningiin error simple en cualquier otra palabra de cédigo podria haber producido 1a palabra TABLA 1.14 DOS CODIGOS DE HAMMING PARA PALABRAS DE INFORMACION DE CUATRO BITS 0011011 010101 00101101 0011120 0110110 0100110 100110 101101 1010101 110011 ‘01100011 0111000 01111000 1000111 10000111 1001100 10011100 to10010 10101010 1011001 10110001 1100001 11001001 1101010 11010010 1110100 11100700 mun wnt70 Capitulo 1 Sistemas numéricos y c6digos, errénea, Por tanto, la deteccidn de la palabra errénea 110010 equivale a corregit el error, pues el Gnico error simple posible que puede producir el patrén es un error en el bit exiremo izquierdo de ta palabra de e6digo 0100110, El andlisis anterior también sugiere un procedimiento de detecei6n y correccién de errores. Es decir, podriamos determinar la diferencia entre una palabra de datos y cada palabra de cédigo vilida posible, Una distancia de 0 indicaria una concordancia valida, una distancia de 1 indicaria wn ecvor simple en Ia palabra de cédigo correspondiente, en !a posicién que corresponde al bit | de la diferencia, y una distancia mayor o igual que 2 respecto a todas las palabras dde cbdigo indicaria un error multiple. Aunque este procedimiento funciona en teoria, no seria practico para eédigos eon un gran niimero de palabras de cédigo Mis adelante analizaremos algunos méiodos practicos. ‘Nuestro anilisis tambien revela que varias palabras de eddigo tienen una distancia 2 con respecto a la palabra erronea. Por tanto, un error doble en cualquiera de estas palabras produciris {a misma palabra errinea que el error simple (examine fa figura 1.6). Esto implica que, en general, js errores dobles ‘no se pueden detectar con este cédigo. La correccién de errores simples aunadla a la deteccién de errores dobles requiere un eSdigo con una distancia minima de 4, Los bits de verificacién del eédigo se definen de modo que den tna paridad par con un subconjunto de los bits de informacién, come sigue: TABLA 1.15 EFECTOS DE LOS ERRORES SOBRE LAS PALABRAS DE CODIGO de eddigo ‘000000 TOOHO t1o0110 4 0001011 Hoon, Howtos st 010101 1OL0 | Hijoor 5 OOLILO 1100110 1111000 4 100110 a I ovunio Hoon hoowoit a ono 100110 HOWE 4 11000, hoa Hon 5 1ooort) Hawi 100001 2 Tot L00 FOOL w1ai0 3 In10010 Hoorto ono100 3 lon tant Foor, oni 1100001 Hogi 0001 11 Holt Hoon 00 T 100 1101 Hono oni tint thoi 011001Seccidn 1.5 Cédigos de computadora 71 Esta relacién se puede especificar de manera conveniente mediante una mattiz conocida como mairiz generatriz, 0 matriz G, como se muestra a continuacién, Cada colurna de la matriz G corresponde a un bit dé la palabra de eédigo, segtin se indica, LOOK 11IT [1000 m% my my -]0100110]_]0100 pm py ms firs G=l/oororotl=|a010p pe pe | ooo1o0nt loool py, pe py Hh hy he % La codificacién de una palabra de informacién i para obtener una palabra de cédigo ¢ se puede expresar en términos de la matriz generatriz G como sigue. emi (2n La decodificacion de una palabra de eédigo se puede expresar de manera conveniente en términos de una matriz H conocida como masriz de verificacién de paridad. La matriz H se puede deducir de la matriz G como sigue, para el c6digo anterior. Py Py Py Py 100 br 1oroo H=| Pa Pn Py Pp OL O}=]1 101010 Py Pas Pry Py O01 rorroot (tay Una n-tupla ¢ es una palabra de e6digo generada por G si y solo si He" =0 (1.29) Sea d una palabra de datos correspondiente a una palabra de eédigo c, que hha sido corrompida por un patron de error e, Entonces d=ere (130) decodificacién comienza con el edlculo del sindrome s de d para determinar si existe un error. Si no hay error, la decodificacién concluye al ‘liminarse los bits de verificacion, dejando s6lo los bits de informacién originales. Si se encuentra un error corregible, se corrige antes de eliminar los bits de verificacién. Si se encuentra un error no corregible, el proceso termina con una seflal de error que indica la situacién. El sindrome de d se calcula como sigue, utilizando #7: saa! an = He +e" = Hel + He a4 He! =Hel 32) Los sindromes para la matriz # dada en Ia ecuacién 1.28 apareven en la tabla 1.16, Observe que el patron de cada sindrome es igual al patron de la columna de Ia matriz H que corresponde al bit errnco. Cédigo de Hamming 2. La distancia minima es 4, ya que ninguna palabra de cédigo no nula tiene un peso menor que 4. Por tanto, el cédigo tiene las72 Capitulo 1 Sistemas numéricos y cédigos TABLA 1.16 SINDROMES Y PATRONES DE ERROR []Patron'de error | Sindrome =| Significado |) 0v00000 000 Sin err ooo00et oot Enor ene, 000010 010 Enor ene, oooo100 100 Erroren ¢, 001000 on Brior en 0010000 101 Enor en, a1o0000 110 Error en f, 1000000 i Error en i, propiedades de correceién de errores simples y deteccién de errores dobles. Las matrices generatriz y de verificacién de paridad son las siguientes: 10000411] ._ | o1o0r110 ©= | oororios (1.33) 00011011 ‘01111000 41100100 “=| toroo10 34) 10110001 Observe que cada columna de la matriz H de Ia ecuacién 1.34 tiene un nnimero impar de unos. Tales cédigos de Hamming se tlaman cédigos con columnas de peso impor y tienen varias propiedades deseables, inciuidas la correecién de errores simples, 'a deteccién de errores dobles y la deteccién de otros errores multiples. Ademas, permiten el uso de circuitos de codificacion y decodificacién relativamente econdmicos y répidos. Es por esto que, los cédigos con columnas de peso impar se utilizan con frecuencia en Ia prictica. La forma més facil de disefiar un cédigo de Hamming es especificando la matriz., Para cualquier entero positivo m > 3, existe un cédigo SEC (mm,k) con las siguientes propiedades: © Longitud de eddigo: w= 2" — 1 © Numero de bits de informacion: & = 2"- m—1 + Nimero de bits de verificacion: n — k= m * Distancia minima: d= 3 La matriz H para tal e6digo es wna matriz.n x m formada por todas las m-tuplas binarias distintas de cero como columnas. La matriz de la ecuacién 1.28 es un ejemplo de tales matrices, con m = 3. Observe que podemos determinar las demas matrices H para m=3 reordenando las eohimnas,Evempto 1.71 @® 1.6 Resumen Seccién 1.6 Resumen 73 Obtenemos un cédigo de Hamming (15,11) cuando m= 4. Una posible smatriz H para tal e6digo es la siguiente: TLLL011 10001000 TL101 1301 100100 1101 10100110010 TOI! 10011010001 H= 135) Podemos eliminar /columnas arbitrarias de una matriz H de un codigo de Hamming para obtener oiro eédigo de Hamming con las siguientes propiedades: * Longitud de eédigo: -I-1 + Niimero de bits de informacié mm — 11 ‘# Niimero de bits de verificacién: » —&=m + Distancia minima: d,,, 23 Estas propiedades eonduces a la posibilidad de discRtar eédigos con mejores propiedades de deteccidn y correccion de errores y longitudes de eédigo mas tiles, Disefar un cédigo de Hamming para codificar cinco bits de informacién (k= 5). Se necesitan cuatro bits de verificacién (m = 4), ya que param =3,4=2!—3-1 =4.<5. Sin embargo, para m= 4, k= 2*—4— 1 = 11> 5, Pero podemos obtener un cédigo (9,5) eliminando seis columnas de la matriz: H de un cédigo (15,11). ‘Ateliminar seis columinas de la ecuacién 1.35 obtenerios 11101000" 441010100 a 4 = trovioo10 We 101110001 La matriz. generatriz. correspondiente es HOO0OLI EE 10001110 6 = | enioo1101 aay (OO101011 ooo 10111} Esto concluye nuestro estudio de los eédigos de deteccién y correccién de errores. Los lectores que escen aprender més acerca de estos eédigos pueden consultar {a referencia bibliogratica [8). Hemos completado nuestra introduccion alos sistemas numéricos y los cédigos de computadoras. FI lector debe estar ahora familiarizado con los sistemas numéricos decimal, octal ¥ hexadecimal y podra convertir los nlimeros, de cualquiera de estas bases a cualquier otra. Ademas, el lector debera ya entender las operaciones aritméticas en todas as bases y Ia forma en que pueden74 Capitulo 1 Sistemas numéricos y cédigos REFERENCIAS BIBLIOGRAFICAS PROBLEMAS representarse los niimeros negativos en las computadoras. También, deberé haber adquirido cierta familiaridad con tos ntimeros de punto fijo y de punto flotante, y comprenderé en general los cédigos de caracteres decimal codificado en binario (BCD) y ASCII. Ast mismo, presentamos los codigos Gray y de exceso 0 sesga- dos. Por iltimo, el lector debera haber adquirido un conocimiento general de los cédigos de deteccién y correccién de errores simples. Puede lograr una compren- sion més detallada de estos temas consultando la bibliografia. 1. M.Y. Hsiao, "A Class of Optimal Minimum Odd-Weight-Column SEC-DED Codes, “/BM Journal of Research and Development, Vol. 14, No. 4, pags. 395-401, julio 1970. 2. K. Hwano, Computer Arithmetic. Nueva York: Wiley, 1979. 3. D.E.Knunt, Semiriumerical Algorithms. Reading, MA: Addison-Wesley, 1969. 4, S. Lin ¥ DJ, Costeus0, Error Control Coding: Fundamentals and Applications, Englewood Cliffs, Nb: Prentice Hall, 1983. 5. W.W. Peterson y BJ. Wetvon, Jx., Error-correcting Codes, 2a. edicién ‘Cambridge, MA: MIT Press, 1972, 6.1.F, Waxeriy, Microcomputer Architecture and Programming. Nueva York: Wiley, 1981. 7.8, Waser ¥ M.J. FLYNN, Introduction to Arithmetic for Digital Systems. Nueva York: Holt, Rinehart, and Winston, 1982. 8. JEEE Sranoaro For Binary Froarine-point Axstusenic, ANSVIEEE Std. 754- 1985. Institute of Electrical and Electronic Engineers, 345 East 47th St., Nueva York, NY, agosto 1985. 9. Iseart, Koren, Computer Arithmetic Algorithms. Englewood Cliffs, NJ: Prentice Hall 1993. 1.1 Caleule A +B, 4—B, Ax By A~ B para las siguientes parejas de nimeros binarios. (a) 10101, 1011 () 1101011, 1010, (by 1011010, 101111 (1010101, 101010 (©) 101.1911 fe) 10000, 1001 (a) 10110110, 01011011 hy 101.0101, 110.11 1.2 Caleule A+B, A~B, Ax By A * B para las siguientes parejas de nimeros octales. (a) 372, 156 (©) 1000.77 (b) 704, 230 (a) 423, 651 1.3 Caleule A+ B, A~B, Ax By A ~ B para las siguientes parejas de nimeros hexadecimales, (a) 2CF3, 28 (©) 945,17 (b)_FFFF, 1000 (a) 372,15614 18 7 19 Seccin 1.6 Resumen 75 Convierta los siguientes nuimeros decimales a nimeros binarios, octales y hexadecimales. (a) 07 (a) 065 ) ois 17425 (©) 0375 (2808 Convierta los siguientes ndmeros binarios a ndmeros octales, hexadecimales y decimales utilizando el método de conversion mas adecuado, @ 1101 «@) go1101 tb) 101110 fe) 1010111 (©) 0.101 () 10110110.001 Convierta los siguientes nimeros octales a nimeros binarios, hexadecimales y decimales utilizando el método de conversién més adecuado. (a) 65 (@) 2000 () 371 eon (©) 24051 m7 Convierta los siguientes nimeros hexadecimales a nimeros binarios, octales y decimales utilizando el método de conversién mas adecuado. (a) 4e (a) 2000 (b) ape te) 2014 [e) FRAT () 3D65E Determine el complemento a dos de los siguientes nimetos binarios, suponiendo n= 8. (a) 101010 @ uit (b) 101011 (©) 10000000 to «11000 Determine ¢! complemento a uno de los siguientes numeros binarios, suponiendo n= 8. (10101 (@) 10000000 (b) 1010011 (©) 100001 eo w ont 1.10 Calcule 4 + B, A — B, A + By ~A ~ B para las siguientes parejas de niimeros, suponiendo un sistema numérico de complemento a dos y n= 8. Verifique sus resultados mediante aritmética decimal. Explique los resultados extrafios. (a) 1010101, 1010 fe) 111oi010, 101111 (hd j 101011, OLO1010 (1) 10000000, 08111111 Repita e1 problema 1.10 para los siguientes nimeros, utilizando un sistema numérico de complemento a uno. (@ 101011, 1101 (© 1010101, 0101010 (by 10111010, 11010 td) 10000000, ONT76 Capitulo 1 Sistemas numéricos y cédigos Laz M3 Ltd 115 1.16 Lay 1.18 120 121 122 Muestre Ja forma en que una computadora de 16 bits con un sistema numérico de complemento a dos realizaria los siguientes célculos. (2) (16850), + (2825),, = (2) (6) (16850), ~ (2825). = (2), (5 (2825). ~ (16850), = () (d) ~(2925)j9 ~ (16850),y = (2) Codifique los siguientes nimeros en los eddigos BCD y exceso 3. ta) 38 fe) 94708 () 1950 (a) 625 Codifique las siguientes cadenas en c6digo ASCII. Represente las cadenas codificadas mediante nimeros hexadecimales, (ay 1980 tc), COMPUTER ENG (by A=b+C (@) ‘The End FRING Defina un cédigo de cuatro bits para la representacién de digitos decimaies, con la propiedad de que las palabras de e6digo para cualesquiera dos digitos cya diferencia sea uno difieran s6lo en una posicién de bit, y que esto también se cumpla para los digitos 0 y 9. {Cuantos errores de bit se pueden detectar en un eédigo dos de cinco? {Cudntos errores, si acaso, se pueden corregir en un cédigo dos de cinco? Demuestre sus respuestas en forma matemitica. Examine el disco con cédigo Gray de la figura 1.5. Suponga que los indicadores sefialan lo siguiente: A esta desactivado, B esti activado, C std activado y D esté parpadeando, Localice la posicion del disco segin Jos nameros de sector. Se grabardn los siguientes mensajes de ocho bits en la cinta magnética de nueve pistas de Ia figura 1.7, Determine el bit de paridad para que cada ‘mensaje tenga paridad impar, (a) PIOL11010 fe) 10011001 (by P01 11000, a polo! 1010 Sea 10111001 una palabra errénea obtenida mediante el c6gigo de Hamming 2. Determine la palabra de cédigo correcta, calculando la diferencia y la distancia entre fa palabra errénea y cada palabra de cédigo valida. Desarrolle una tabla de sindromes para el cédigo de Hamming 2 que considere el caso libre de errores, exclusivamente errores simples ¥ exclusivamente errores dobles. {Existe una caracterizacién sencilla de los sindromes de errores dobles? 2Existen patrones de error con tres 0 mas errores detectables por el ebdigo? Utilice Ia tabla de sindromes desarrollada en el problema 1.20 para decodificar las siguientes palabras, fa) 10010111 fe) totii0 thy 10011011 (6) 01011000 (e) oo1tit10 fe) 11100001 4a) 0080111 «hy 01101000 Desarrolle las matrices generatriz y de verificaciin de paridad para el cédigo ‘SEC de Hamming, codificando patabras de informacién con una longitud de 6 bits.Seccién 1.6 Resumen 77 1.23 Codifique todas las palabras de informacién para un c6digo definide por la siguiente matriz de verificacién de paridad. Observe que los cédigos con una matriz de verificacién de paridad en la forma de la ecuaci6n |.28 se llaman cédigos separables, puesto que los bits de informacion se pueden separar como bloque de los bits de verificacién. El cédigo que resulta de la siguiente matriz no es separable, pues los bits de informacién y los de verificacién estin mezclados. 11110007 =| L100110 wot 1.24 ,Qué propiedades de deteccién y correccién de errores tiene el c6digo definido en el problema 1.23? Elabore una tabla de sindromes para este cédigo. Describa las caracteristicas interesantes de los sindromes. 1.25 Deseriba las ventajas y desventajas de los cédigos separables que tienen la forma representada por Ia matrizde la ecuacidn 1.28, en comparacién con los cédigos no separables de Ia forma representada por la matriz del problema 1.23.En este captiulo presentamos las herramientas mateméticas basicas para el diseRo tégico de compuiadoras y las concepios matematicas subyacentes. £1 material no s6lo es en st un tema importante, sino que también proporctona la base para los conceptos avanzados {que se analizarén en seceiones posteriores det texto, El material de este capitulo pretende ser independieme de los elementos de circuito especificos ilizados para consiruir circuitos digitales, En los siguientes capitulos analizaremos ta aplicacién de estas herramientas mateméticas a diversos tipos de elementos de cireuitos.: Métodos algebraicos para el andlisis y sintesis de circuitos logicos ® 2.1 Fundamentos del algebra booleana Las herramientas de andlisis y sintesis presentadas en este capitulo se basan en los conceptos fundamentales de! algebra booleana y, por tanto, analizaremos ahora este tema, En 1849, George Boole presenté una formulacién alzebraica de los procesos del pensamiento y el razonamiento gico [1]. Esta formulacién se conoce como algebra booleana, que resumiremos a continuacién. 2.1.1 Postulados basicos La descripcién basica de la formulacién de! élgebra booleana se basa en conceptos de la teoria de conjuntos, donde se define formalmente un digebra booleana ‘como un conjunto matemético distributivo y complementado [2]. Resumiremos aqui esta definicién mediante un conjunto de postulados que sintetiza los ‘elementos y propiedades basicos de un algebra booleana, Postulado 1, Definicién. Un digebra booleana es un sistema algebraico cerrado formado por un conjunto K de dos 0 més elementos y los dos operadores + y +5 de manera altemnativa, para cada a y 6 un conjunto K, a+ b pertenece a K y a+ b pertenece a K (+ se Hama OR y * se llama AND). Postulado 2. _Existenciade loselementos1y0 En cl conjunto cexisten los elementos | (tuno) y 0 (cero), tinicos, tales que para toda a en K (@) a+0= () a+ 1 =a, donde 0 es el elemento neutro para la operacién +y 1 es el elemento neutro para Ja operacion *, Postulado 3. Conmutatlvidad de las operaciones + y+ Para toda a ybenk (a) a+b=b+a, (b) at b=bea.Evemrco 2.1 JEMPLO 2.2 Capitulo 2 Métodos algebraicos para el andlisis y sintesis de circuitos Isgicos Poslulado 4, Asociatividad de las operaciones +y+ Para toda a, bycenk (@) at te)=(ath)+0, (b) a> (b+c)= (a> 6) re. Postulado 5. _Distributividad de + sobre + y de~ sobre + Para toda a, bycenk @) a+ (b+ c)=(atd)(a+0), (b) a+ (b+0)= (ab) + (are), Postulado 6. Existenciadel complemento Paratoda aen K existe un tinico elemento amado a (complemento de a) en K tal que @) a+a=1, (b) a+7=0. Con este conjunto de premisas, podemos desarrollar otras relaciones itiles, que llamaremos teoremas. Para simplificar la notacién en el resto del texto, suprimiremos el punto (+) al indicar la operacion «. atbec=(atb)*(ate) at be=(at bate) Antes de desarroltar los teoremas, éXaminemos los postulados con detalle para entender exactamente lo que signiican. 2.1.2 Diagramas de Venn para los postulados [2] Podemos representar los postulados de manera grfica en forma de diagramas de Venn. Esta descripcién gritiea es posible, ya que el dlgebra de conjuntos es tun algebra booleana en la que los conjuntes son los elementos del algebra, la operacién de interseccién corresponde a * y It operacién de unién corresponde a+. En el diagramade Venn. los conjuntos se muestran como contornos cerrados, es decir, circulos, cuadrados, elipses, ete. (Los diagramas de Venn para los conjuntos a, , a+b y a+ baparecen en la figura2.\, Oteas notaciones frecuentes paraatbesavboauby paraa+b,ab.aaboarb. Podemos utilizar los diagramas de Venn para ilustrar los postulados. Elegimos como ejemplo el postulado 5. Utilizar el diagrama de Venn para ilustrar el postulado 5. Del andlisis de Ia figura 2.2, es evidente que e! conjunto a + be y el conjunto (a + bXa + e) son dos tepresentaciones de la misma érea sombreada y, por tanto, a+ be es igual a(u+ bXa+c).Evempto 2.3 Seccién 2.1 Fundamentos del algebra booleana 81 a 6 El conjunto « esta sombreado. El conjunto # asta sombreado, a b El conjunto a b esta sombreado. Elconjunto a+b esta sombreado. Figura 2.1. Ejemplos de diagramas de Venn Es interesante examinar algunas facetas del postulado 6. Este postulado se refiere al complemento de a, Sia es el conjunto sombreado de fa figura 2.3, el, comptemento de a, %, €8 el drea fuera de a en cl conjunto universal. En otras palabras, a y ason mutuamente excluyentes y se encuentran dentro del conjunto universal. Como son mutwamente excluyentes, no tienen un area comiin y. por tanto, su interseccién es el conjunta vacio: a* a=0. La unién de a y aes por de- finicién el conjunto universal: a + « Ademés, como el conjunto universal 1 contiene a todos los demas “conjuntos, su complemento debe ser el conjunto vacio, 0. Par tanto, T=0 y 0 El diagrama de Venn es una herramienta muy itil no sélo para visualizar los postulados ya presentados, sino tambicn Jos teoremas importantes del algebra booleana que describimos a continuacién 2.1.3 Dualidad El principio de dualidad es un concepto muy importante en el Algebra booleana, En pocas palabras. cl principio de dualidad establece que, si una expresion es valida en el algebra booleana, entonces su expresién dual también es valida, Determinamos la expresién dual remplazando todos los operadores + por +, todos los operadores + por +, todos los unos por ceros y todos los ceros por unos. Determinar la expresién dual de a+ (be) = (a+ bXa +e)82 Capitulo 2 Métodos algebraicos para el anélisis y sintesis de circuitos légicos El conjunto a+ 6 esta sombreado.. bn El Conjunto 2+ ¢ asta sombreado. Se ¢ El conjunto (a + bya-+ ¢) asta somoreado, Figura 2.2 Diagramas de Vern para ol postulago 5.Seccién 2.1 Fundamentos del digebra booleana 83. Conjunto vacio 0 Seta Conjuntoz" Conjunto aa Conjunto a +a Figura 2.3 Diagramas de Venn quo lustran el postulado 6. ‘Al cambiar todos los operadores + por = y viceversa, obtenemos la expresion dual ab +0) =ab +ac Al obtener e/ dual, no debemos alterar la posicién de los paréntesis existentes. Observe que las dos expresiones del dltimo ejemplo son las partes (@) y (b) del postulado 5. De hecho, presentamos los postulados 2 a 6 como expresiones duales. Utilizaremos ampliamente el principio de dualidad al demostrar los teore- mas del algebra booleana. De hecho, una vez que hayamos utilizado los84 Capitulo2 Métodos algebraicos para el analisis y sintesis de circuitos l6gicos postulados y los teoremas demostrados anteriormente para demostrar la validez de una expresi6n, podremos usar Ia dualidad para demostrar la validez de la cexpresion dual. 2.1.4 Teoremas fundamentales del algebra booleana Ahora enunciaremos algunos teoremas utiles del algebra booleana. En estos teoremas, las letras @, 4, ¢,...representan los elementos de un digebra booleana. El primer teorema describe la idempotencia y se expresa como sigue. Teorema 1. Idempotencia (@) ataza, (b) ara=a. Demostracién. Podemos demostrar la parte (a) o (b) de este teorema, Supongamos que queremos demostrar la parte (a): ata=(atayl [P2(b)] Slatuya+a) — [Pota)] +a tPs(a)} +o {PoC =a 1P2(a)] Indicamos a la derecha los postulados que justifican wn paso en particular, Hay que recordar que podemos utilizar de manera indistinta las expresiones de lados opuestos de una igualdad; por ejemplo, el teorema I dice que podemos intercambiar {a} por {a* a} y viceversa EI siguiente teorema enfatiza las propiedades de los elementos tinicos | y0. Teorema 2. Elementos neutros para los operadores + y + (@atizt. (o) a+ 0=0. Demostracién, De nuevo, demostraremos la parte (a) del teorema atls@+n (P2¢b)] ath (P3(b)| ° =(a+ aa) |POCad] ata-t IPStan] a+a 1P2(b)) 1 soca ‘Como la parte (a) de este teorema es vélida, el principio de dualidad implica que la parte (b) también es valida. Teorema 3. Involucion aEvempto 2.4 Evempto 2.5 Evempto 2.6 Seccién 2.1 Fundamentos del algebra booleana 85. Demostracién. Porel postulado 5,a*a=0ya+a=|. Portanto, wes et complemento de a, y también aes el complemento de @ Como el complemento de wes tinico, se sigue que T= a, Ahora utilizaremos el material anterior para resumir todas las propiedades de los elementos dnicos 1 y 0 en la tabla 2.1. Las propiedades * (AND) de | y 0 nos recuerdan las propiedades fundamentales de la multiplicacion en las matematicas ordinarias; sin embargo, las propiedades + (OR) hacen ver de inmediato que no estamos tratando con las matemiticas que hemos estudiado con anterioridad, y no podemos suponer ninguna de las propiedades maternaticas ‘usuales para su uso en el algebra booleana, Solo debemos utilizar los postulados ¥ teoremas que estamos desarrollando, pues trabajamos en un sistema comple- tamente nuevo y diferente, Enel siguiente teorema establecemos la propiedad de absorcion del algebra booleana, La absorciGn no tiene contraparte en el algebra “ordinaria”, Teorema 4. Absorclén (@) at+ab=a. (b) ala 4) =a. Demostracién. Demostraremos ta parte (a). atab=a:l4ah — [P%Xb)] Sully [PS] (b+) [PRbIT 1 (Tal P2ibi} Podemos visualizar ficilmente el teorema 4 con un diagrama de Venn, Los siguientes ejemplos ilustran el uso de este teorema. (V+ ++ ZN [TAA)] [14] ABC+B=B [T4(a)) TABLA 2.1_PROPIEDADES DE LOS ELEMENTOS 0 Y 1 ee f oR ‘ADN. ‘COMPLEMENTO wos86 Capitulo 2 Métodos algebraicos para el andlisis y sintesis de circuitos logicos Los siguientes tres teoremas son similares a la absorcién en el sentido de que pueden servir para eliminar elementos adicionales de una expresin booleana, Teorema 5. (a) a+ab=a+h, (b) a+ 6) = ab. Demostracién. 1a parte (a) del teorema se demuestra como sigue: a+ab=(a+aa+b) — [PS] =(a+b) [P6«a)] =(a+b)-I [P30b)) =(a+b) [P2(b)] Los siguientes ejemplos ilustran el use del teorema 5 para simplificar las expresiones booleanas. Evempvo 2.7 B+ABCD=B+ACD — [TSia)) Evemp.o 2.8 FX+Y4+2)=7N4Z) (TSO) Esempto 2.9 (X4YAFHFZ=+ NZ (TSKb)) Evempto 2.10 AB+(AR)CD=AR+CH (TS) Teorema 6, (a) ab + ab =a. (b) (a+ bya + B= a. Demostracién. La parte (a) del teorema se demuestra como sigue: ab+ab=ath +b) [PS(b)] a [Po«a)] (P20) Los siguientes ejemplos ilustran el uso del tearema 6 para simplificar expresiones booleanas. Evempto 2.11 es ABC+ABC=AC — [TO{a)] Evempto 2.12 (AD+B+CKAD+ (BFC) =AD — (TO(b))Seccién 2.1. Funciones de algebra booleana 87 Evewpco 2.13 Simplificar i + ¥+ 7+ AW Xe Foz (WHR 4 V4 ZW 4K 4 ¥ +2). WA4 WER +Y+ZWEX+Y+Z) — (THD)] = (WHERE IDWHR +) [F6(b)) W+ ky [T6(b)) Teorema 7. (@) a6 + abe= ab + ac. (b) + ba+F + e)=(a+ bXa+e). Demostractin, La parte (a) del teorema se demuestra como sigue’ ah +abe = aib+be) — [PSibi) =abte (TS) =ab+ae — [PS(b)} Los siguientes ejemplos ilustran ef uso del teorema 7 para simplificar las expresiones boofeanas. EJempLo 2.14 AV+ATOH +E) say t+ D (TT) EvempLo 2.15 (EF FG +P G+ HET (TID) Esempto 2.16 = ak eee 2 (A+ B+ CMB + O(A4 B)=(A+ BB+ CMAS B) [TIDY] =BB+C) {T6¢b) =B (rb Evempro 2.17 wet may + weve + fmiytwxy ture (TQ) = w+ wy + wre (T6¢a} e+ wrt (re¢ay} = (rst En los siguientes capitulos veremos que estos teoremas forman la base de algunos métodos estindar y automatizados por computadora para simpliffcar expresiones booleanas. Al trabajar con Algebra boateana, con frecuencia necesitamos determinar el complemento de tuna expresién booleana. El siguiente teorema proporciona la base para esta operacion.88 Capitulo2 Métodos algebraicos para el analisis y sintesis de circuitos logicos Teorema 8, Teorema de OeMorgan (a) a> b (o) a b= ath Demostracién, Demostremos la parte (a): Si X= a+b, entonces X- L.SiX+Y=0yX+ 4+ 5). Por et postulado 6, X’ | entonees ¥=.X, ya que el complemento de. es tinico. OyxeX= Por tanto, sca ¥=ab'y calculemos + Vy X ¥: X-¥ = (a+ baby dahya +b) = (ibra + ahi = wah) + (aby (aah + athhy Ob + ath h) =b- 044-0 o+0 0 (thy + ab (hay 4 ab tla sab) + (a+b) beh + (b+ by =a+ib+hy =att Por tante, por la unicidad de X, ¥ [P3ib)) IPSibil Pid)! pavbo) [Poih). P30 {P3¢b). Povo) eo {Prat (paca) {Paci Isto) |P3ral (pac)| IP) [Peta] rr)! en consecuencia ab=ato Podemos generalizar el teorema 8 coma sigue, @aphen ee @) a Satb+ La regla para complementar una expresin es utilizar la relacién (a) 0 (b), reemplazanda cada operador + (OR) por un operador * (AND) y viceversa, y reemplazando cada variable por su complemento. Debemos tener cuidadv: al aplicar el teorema de DeMorgan, hay que respetar la precedencia de los operadores: tiene precedencia sobre +. EI siguien~ te ejemplo ilustra este punto importante.Esempto 2.18 Evempto 2:19 Esempto 2.20 EJempio 2.21 Seccién 2.1 Funciones de algebra booleana 89. aFbe-ateo abo =a-b+a Observe que: 7+ Fe 44-5 +E Los siguientes ejemplos ilustran el uso del teorema de DeMorgan, Complementar la expresion a (6 + 2(x +2), y simplificar el resultado de modo que los tnicos términos complementados sean variables individuales. GO+RRFa) =G+GFURFH) — (TR) =atbGa ta IT8(a)} [T8«)} IT8@)) m3) (Tia) Repetir el ejemplo 2.20 para la expresion a(b + 6) + ab, abo ra = abpactab (PSO) (Total {T8(a)} [789] Como ilustra este iltimo ejemplo, con frecuencia podemos simplificar el ‘proceso de complementar una expresidn reduciéndola antes de aplicar el teorema de DeMorgan. Af, el eorema de DeMorgan presenta la técnica general para complementar ‘expresiones booleanas. Sera de especial utilidad en la manipulacién de expre- siones booleanas a fin de darles formatos adecuados para su realizacién con tipos especificos de compuertas logicas.90 Capitulo2 Métodos algebraicos para el analisis y sintesis de circuitos logicos Evempto 2.22 Evempto 2.23 Evempto 2.24 El dltimo teorema fundamental del algebra booleana que consideraremos es el teorema de consenso. Teorema 9. Consenso (a) ah + de + he = ub Hae Wb) (GF DMG Heb He) = (a HME Fe), Demostracién, De aqui en adelante, wtilizaremos los postulados 3 y 4 sin indicarlo de manera explicita ub + ac + he =ab + ae +1 >be {P2¢b)] = ab +e + (a + abc [P6«a)| 1b + Ge +abe + abe IPS«b)] = (ab + abe) + (ae + Geb) ih + fie [rata La clave para utilizar este teorema es un elemento y su complemento, encontrar los términas asocindos y eliminar el término incluido (el términa de ~consenso”), el cual esta compuesto de los términos asociados. E| teorema de consenso es util para reducir expresiones booleanas y para desartollar expresiones en los diversos algoritmos de minimizacion automatizads que describiremos mas adelante, AB+ACD+ BCD=AR+ACD — [T9Ha)} @FPME+ EMD += hat ba +e) [TIb)| ABC +AD+ BD4+CD=ABC4(A+ B)D4CD [PSD] =ABC4ABD+CD [780b)) ABC + ABD 179%) ABC + (A+ BD IT8«ch)) =ABC+.4D+ BD [Ps] En cada uno de los ejemplos anteriores, complemento son fa ¢lave para reducir la expresion. Es importante sefialar que es facil demostrar los teoremas presentados por medio de diagramas de Venn, Por tanta, aconsejamos a los lectores utilizar esta imagen grafica como ayuda para recordar los teoremas importantes, La tabla 2.2 resume los postulados y teoremus bisicos det algebra booleana, Mas adelante presentaremos el teorema 10, incluido en esta tabla, mi to © expresion y suSeccién 2.2 Funciones de conmutacién 91 TABLA 22 POSTULADOS Y TEOREMAS DEL ALGEBRA BOOLEANA Expresion| Dual PXa):a+0 P26) PHa)iatb=b+e Pb) sab = ba PAayiatbeer= (athe — PAB): athe) = (abre PSka)iathe=(a+b\a+c) — PS(h):alb-+e) = ab tac Pola): @ PO) ad =0 Ti(a):a+a THO)sa-a=a THa)ia+1 72):8-0=0 13: =a Tala) ia + ab Tb) > ala +h) = 0 T5(a):a +b T5(b): ala +b) =ab T6(a): ab + ab T6(6): (a + ba +B) =a 71a): ab + abe = ab + ae TIb): (a + bila +b+0) =(a+bha+c) T 8a): a+b = ab Tab) 9a) ab+actbe=ab+ac — THA): (tbat OH) = (athlete) TOK): flay tps sore) HL eee I AES Osa. oct) THO): Fer. Roose) bs, + AO ays ooo DMR, + FU Agee ee ® 2.2 Funciones de conmutacién Hemos enunciado tos postulados y teoremas del dlgebra booleana en forma general, sin especificar los elementos del conjunto K. Por tanto, los resultados son validos para cualquier algebra booleana. En el siguiente andlisis, nos centraremos en el Algebra booleana en la que K={0, 1}. Esta formulacién se conoce como digebra de conmusacion, El concepto de funcién es bien conocido para los que estan familiasizados con él dlgebra ordinaria. Las funciones de conmutacion representan el concepto correspondiente para el élgebra de conmutacién y se pueden definir como sigue. ‘Sean X;, Xs, ... %, imbolos Hamados variables, cada uno de los cuales representa el elemento 0 0 I de un algebra de conmutacién (se dice que 0.0 1 es el valor de Ja variable) y sea,/(X, Xs,» Aa) una funcién de conmutacion de X,, X> La funcién ftiene el valor 0 0 1 segin el conjunto de valores asignado a XX» Como hay n variables y cada variable tiene dos posibles valores, hay 2 maneras de asignar estos valores a las n variables. Ademés, existen dos valores posibles para la funcion f(x), x2, .... &,): Por tanto, hay 2"'diferentes funciones de conmutacién de n variables. Si n= 0, fas dos funciones de conmutacion de cero variables son fr=0 fi=l92 Capitulo 2 Métodos algebraicos para el andlisis y sintesis de circuitos l6gicos Si m= 1, las cuatro funciones de la variable 4 son fy=0. Deduciremos ahora las 16 funciones de dos variables 4 y B. Definamos /(4, B) como sigue: f(A. B) = iAB+iAB+i AB +iAB donde (= (és; adopta tos valores binarios 0000, 0001, 0010, .., 1111. Las 16 funciones resultantes son: f(A. B) = AB+ AB = f(A, B) = AB f(A. B)= AB+ AB4AB=A4B AB+AB=A AB4+AB+AB=A+B JiylA. B) = AB + ful B) = AB+AB+AB+AB=1 Al evaluareada una de estas funciones para cada combinacién de A y B, podemos resumir la informacién anterior en forma de tabla, como en Ja tabla 2.3. TABLA 2.3 _DIECISEIS FUNCIONES DE DOS VARIABLES AB 00 or 10 ut Podemos describir una funcién de conmutacién mediante una expresion de conmutacién como sigue: S(A, B.C) = AB+ AC+ACSeccién 2.2 Funciones de conmutacién 93, Sid=1y8=C=0, el valor de la funcién fes 1. lo que verificamos como sigue: £1.00) =1-04T-041-0 =1-040-041-1 [13] =04041-1 (720)] =1 [P2Ca)1 =I {P2¢b)1 Podemos calcular otros valores de manera similar; por cjemplo, si y C=0, podemos ver que f=0. 2.2.1 Tablas de verdad Podemos representar una funcién de conmutacién mediante varias expresiones de conmutacién diferentes, pero equivalentes, Si evaluamos una funcién de cconmutacién para todas las posibles combinaciones de entradas y presentamos os resultados como una tabla, obtenemos una representacion nica de la funcion Namada tabla de verdad. Por ejemplo, podemos utilizar las tablas de verdad, como las tablas 2.4a, by ¢, para mostrar las operaciones bisicas OR, AND y de complemento, utilizadas en el digebra de conmutacién, considerando cada una como una funcién de conmutacién y exhibiendo todas las posibles combinaciones de los elementos. Si evaluamos Ia funcién f(4, B, C) = AB + AC + AT para todas las combinaciones de entradas posibles y las presentamos en forma de tabla, cobtenemos Ia tabla de verdad que se muestra como tabla 2.Sa. Al reemplazar cada 0 de la tabla 2.5a por F (falso) y cada 1 por 7 (verdadero) obtenemos una forma altemativa de la tabla de verdad, que se muestra en la tabla 2.55 y que TABLA 2.4 TABLAS DE VERDAD PARA LAS FUNCIONES OR, AND Y NOT. Kab) = 0h TABLA 25 TABLAS DE VERDAD PARA fA. By AB+ ACH AC ABC | SABC) _ABC | fia, B.C FFF] FE FFT r FTE F r rv - r r FIT TEE TET TE Ter @ @)94 Capitulo 2 Métodos algebraicos para el andlisis y sintesis de circuitos I6gicos Abc | demuestra a correspondencia uno a uno que existe entre el Algebra de conmutacién y ¢l calculo funcional de verdad (41. ‘También podemos utilizar la tabla de verdad como un medio conveniente para evaluar las funciones de conmutacién. Por ejemplo, consideremos nuestra funcién anterior f(A, B,C) =AB+ AC + AE Podemos obtener cada término de la tabla de verdad, uno a la vez, como sigue: | fc |assic| ¢ AC | ABSA) 4AC | fA AC) 000 ot 010 ot 100 101 10 mt 1.0=0 |o+0=0 | 0 Hist |o+t=t \ 1.0=0 |o+0=0 0 Vet=1]o+r 1 0-0=0 |0+0 1 0-120 |0+0=0 0 140=1 1 140-1 ' 2.2.2 Formas algebraicas de las funciones de conmutacién Hasta ahora hemos visto varias formas diferentes de las funciones de conmuta- ccién, ineluidas las expresiones algebraicas, las tablas de verdad y los diagramas de Venn, Ahora definiremos otras formas especfficas de las funciones que demostrarén ser muy utiles. Formas SOP y POS Las funciones de conmutacién en la forma de suma de productos (SOP) se construyen al sumar (OR) términos producto (AND), donde cada 1érmino producto se forma mediante el AND de varias variables complementadas o sin complementar, cada une de las cuales ¢s una literal. Un ejemplo de forma SOP de una funcién de cuatro variables es f(A, B,C, D) = ABC + BD + ACD Las funciones de eonmutacién en Ia forma de producto de sumas (POS) se construyen al considerar el producto (AND) de términos suma (OR), donde cada término suma se obtiene mediante el OR de varias lterales, Un ejemplo de ta forma POS de una funcién de cuatro variables es (A, B.C, D) = (A+ B4 CK B+ C+ DVA+ E+ D) Formas canénicas Las formas canénicas de las funciones de conmutacidn son ciertas formas SOP y POS con caracteristicas especiales. Como hemos visto, podemos representar ‘una funeién de conmutacién mediante expresiones de conmutacidn diferentes pero equivalentes, En cambio, las formas canénicas SOP y POS son tinicas para cada funcién. Mintérminos. Parana funcién de n variables, si un término producto contiene ‘cada una de las n variables exactamente una vez, ya sea en forma complementada © no complementada, el término producto es un mintérmino, Si una funciénSeccion 2.2 Funciones de conmutacion 95 representa como una suma sélo de mintérminos, decimos que la funcidn tiene la forma de suma cundnica de productos (SOP eanénica). Por ejemplo, L(A. 8,0) es la forma SOP candnica de la funcién f(4, B, C), con cuatro mintérmines. Para simplificar la escritura de Ia forma candnica SOP, con freevencia se usa una notacion especial. en ta que cada mintérmino se representa mediante un cédigo binario de m bits. Cada bit representa una de las variables del mintérimino como sigue: ARC + ABC + ABC + ABC (2b Variabte no complementada: | Variable complementada: 0 Las variables se enumeran en ¢! mismo orden en cada mintérmino. Lo importante de esta niotacién es que. para que un mintérmino valga |, cada variable ne complementada del mintérmino debe valer | y cada variable complementada debe valer 0. Con este cédigo, podemos escribir los mintérminas f_(4. B.C) en una de las siguientes formas equivalentes: Namero de interno Mindeming | mintéemino Age Asc| ol age} iit Eseribimos cada mintérmino en forma abreyiada como m,. donde / € ho nh, ni iy el entero decimal igual al codigo binario correspondiente para el mintérmino. Asi. podemoy escribir /.(4. B, C)en forma compacta como Fag(A, B,C) = my + my + mg + ms Podemos simplificar atin mas si escribimos ta fancién en forma de lista de mintérminos como sigue: FAL B.C) = Y3m(2.3.6.79 Las tres ecuaciones (2.1), (2.2) y (23) ilustran tres formas diferentes. pero equivalentes, de representar ta forma canénica SOP para fy(4. 6. ©) #t orden de las variables en la novacidn funcional de las ecuaciones (2.2) y (2.3) €s muy importante, ya que determina ef orden de los bits en los ntimeros de! mintérmino, Pademos demostrar este hecho facilmente, camhiando la elacion de orden de las variables en la funcion fA, B.C) a f.(B. C, A) como sigue: J B.C. A) = J) m2. 3.6.7) my tomy + my + my CA + BCA + BCA + BCA = ABC + ABC + ABC + ABC ea96 Capitulo2 Métodos algebraicos para el analisis y sintesis de circuitos légicos Observe que Ja ecuacidn (2.4) no es idéntica a 1a (2.1), aunque las Tistas de mintérminos sean iguales. Continuamos trabajando con la ecuacidn (2.4) para obtener J,.A. B.C) = J,(B, CA) = ABC+ABC+ABC+ ABC wm =m, tm +m +m, = Doma, 3.5.7) (25) Las ecuaciones (2.4) y (2.5) son iguales; la diferencia en las listas de mintérminos refleja el orden de las variables en la notacién funcional, Podemos dedueitfécilmente la tabla de verdad para fo(, B, C) a partir de ‘su forma SOP candénica: rym | Salidas ABC ABC | 5,64.8.0) Un andlisis cuidadoso de la tabla muestra que cada fila se numera segén su cédigo decimal, y que los tinicos unos que aparecen en la tabla son los de las filas que corresponden a miatérminos m, Por tanto, en general, podemos eliminar todos los pasos intermedios y sdlo escribir 1a tabla de verdad directamente a partir de la lista de mintérminos, como se muestra a continuacion para la funcin f (4, B, Cy: Complement TIA B.0) =¥m00, 1.4.5) 7 =m, i =m ° ° 1 em, i om, ° 0 Ademas, podemos ver que la tabla de verdad para f(A. 8. C) tiene unos en tas filas 0, 1, 4 y 5, Por tanto, f,(A. B.C) = J m02, 3,6,7) AA, BO = Ym. 1,4.5)Evempto 2.25 Seccién 2.2 Funciones de conmutacin 97 Observe que todos los mintérminos compuestos por tres variables (que suman 2= 8) estén en la lista de mintérminos para f, (4, B, C) 0 la lista para J, (4, B, ). En general, cada uno de los 2* mintérminos den variables siempre aparecerd en la forma SOP canénica para f(x, 4X) 01a de F(X). Dada Ia funcién S\A,B,Q,2) = ABOZ + ABQZ + ABOZ + ABOZ, expresar las funciones /(4, B, 0, Z)y F(A, B, Q, Z) en forma de lista de mintérminos. F(A, BQ, ABQ? + ABQZ + ABOQ7Z + ABOZ + my + my + my Lm.1,.5.7 F(A. B, Q, Z) contendra los 12 (2'~ 4) mintérminos restantes. La lista de ‘mintérmvinos para esta funcién es FIA. B.Q.2) =m, +m, +m, +m +mg +m, Emig tomy tims Ms HM Mig = Yom. 3.4,5.8.9, 10, 11.12, 13.14.15) Debemos recordar de! algebra de conmutacién que Fes, Sin embargo, como AI Fate tgeneeety SX kye ee) + Flay entoneces Qo En otras palabras. tz suma (OR) de todos los mintérmings de n variables (iy one Mgr,) @8 igual a 1. Por diltimo, es importante obsetvar que. si bien AB+AB=1 (PoC) y AB+AYB=1 (77) son expresiones vilidas, AB+ ABI. Un error comin de los estudiantes del algebra de conmutacién es igualar la expresién ancerior a 1. Maxtérminos. ‘Si un término suma de una funcién de n variables contiene cada luna de fas variables exactamente una vez en forma complementada 0 10 complementada, el término suma es un maxtérmino, Si representamos una98 Capitulo 2 Metodos algebraicos para el andlisis y sintesis de circuitos légicos funci6n como producto de términos suma, cada uno de los cuales es un maxtérmino, decimos que la funcién tiene la forma eandnica de producto de sums (POS canénica). Por ejemplo, FIA B.C) = (AE BACKAF BY OVAL BEOWAS BEC) (27) ¢s la forma POS candnica de una funcién f,(4, B, C), que tiene cuatro maxtérminos, Adoptamos una notacién especial para los maxté , como hicimos con los mintérminos, con ta diferencia de que el eddigo se intercambia como sigue Variable no complementada: 0 Variable complementads: 1 Lo importante de esta notacién es que, para que un maxtérmino valza 0. toda variable no complementads del maxtérmine debe valer 0 y toda variable complementada debe valer 1. Ast. podemos representar los maxtérminos de Sold. BC) €omo sigue: Codigo del | _Listade Mastérming | mastering | eintermine AtB+C AB+E M, A+B+O M, AL B+O M, Eseribimos cada maxtérmino en forma abreviada como Mf, donde /es el entero decimal del cOdigo binario correspondiente para ¢] maxtérmino, Asi, J,{A, B.C) = MyM, MMs ex) =P] Mw.t4sy a» La ttima forma es la forma de lista dle maxtérminas. Las ecuaciones (2.7).(2.8) y (2.9) son formas POS eandnicas equivalentes para f, (4, B, C). Como en el «aso de las ecuaciones (2.2) y (2.3), el orden de las variables en las ccuaciones (2.8) y 2.9) es muy importante. La tabla de verdad para f,(4, 8, C) es My, M, My M, Satidas AsBeC AtBee Aswec Ateee| (ako 0 1 1 1 1 1 1 1 Cada fila de la tabla se numera segiin ¢l eddizo decimal, como to hicimos con Jos mintérminos. Observe que los tinicos ceros de la tabla aparecen en los renglones i correspondientes a los maxtérminos , Por tanto, como hicimosEvempto 2.26 Seccién 2.2 Funciones de conmutacion 99 con los mintérminos, podemos generar la tabla de verdad mediante una inspeceiGn directa de la lista de maxtérminos, Al comparar las tablas de verdad para f(A, B.C)y f(A, B,C) vemos que Sal B.C) = Ym (2.3, 6.71 f(A. BO) T]™00.1.4.5) (2.10) Por tanto, las funciones f(4, B,C) y f,(4, B, C) son iguales y la ecuacién (2.10) muestra fas formas SOP y POS candnicas para fu(d, B, ©). Dada fa funcién st4, B, C)= At B+ Q(A+B+ OA+B+OA+8+O, construir la tabla de verdad y expresar a funcién con maxtérminos y con mintérminos. (A. B.C)=(A4+ B+ CAF BFE) (A+ B+ OV A+B4+E) = MMMM, [] 0.3.5.7) Los maxtérminos colocan ceros en las filas 1, 3, Sy 7 de la tabla de verdad. Nam, de fila Entradas) Satidas ws | are | fac) = TT M.3.5.7) =m, “”, “Mm, e-e-e-e+ “4M, De la tabla de verdad para /(4, B, C), observamos que J(A, B.C) = Ym, 2, 4.6) Por tanto, F(A, B.C) = mi3.5.7) m+ My + Mg + my wT Ww =ABC+ ABC + ABC 4 ABC En conseeuencia, SIAL B.D100 Capitulo 2 Métodos algebraicos para el analisis y sintesis de circuitos logicos =(AFB4 CAF B+ OF B+ OU4 84H ot oir vo 7 = MMMM, []ma.3.8.7 Por tanto, hemos demostrado de manera algebraic que StA, B,C) = Tas 3,7) = Lm, 2, 4,6 fo que es obvio si examinamos la tabla de verdad. Al manejar funciones, queda clara una relacion entre los mintérminos m, y los maxtérminos M4, Por ejemplo, para wna funcion #(4, B, C) tenemos que 01 01 (cOdigo de! mintérmino) (cédigo del maxtérmino) y viceversa. Esto ocurre en el caso general; es decir, ri, = M, 40) =m (2.12) ings son complementarios entre si. Mm Por tanto, los mintérminos y maxtérmi Evewpto 2.27 Dada la funcién /(4, 6, ©) del ejemplo 2.26, determinar Ia relacién entre tos maxtétminos para la funcién y su complemento. La tabla de verdad es: Num, de fla|intradas| Salidas | _ Sali FAB) | FAB.) =[]M0.2.4,6) SM, 1 0 “M, 1 0 ~M, 1 o =M, ! ‘Como los renglones 0, 2,4 y 6 tienen cefos, 'a forma candnica de J(4, B, C)es F(A, BC) = T] M0.2.4.6) : por tanto, F(A, B.C) =] MU,3,5.7)