Vous êtes sur la page 1sur 17

ARITMETICA DIGITAL: OPERACIONES Y CIRCUITOS

INTRODUCCION
Las computadoras y calculadoras digitales efectan las diversas operaciones aritmticas con nmeros que se representan en forma binaria. El tema de la aritmtica digital puede resultar muy complejo si se desea entender todos los mtodos de clculo y la teora abarcada por ellos. Afortunadamente, este nivel de conocimiento no es indispensable para la mayora de los tcnicos, por lo menos hasta que se convierten en programadores experimentados de computadoras. En este captulo nos concentraremos en los principios bsicos que se necesitan para entender la forma en que las mquinas digitales (es decir, las computadoras) realizan las operaciones aritmticas bsicas. Primero observaremos cmo se realizan diversas operaciones aritmticas con nmeros binarios mediante el uso de lpiz y papel; luego estudiaremos los circuitos lgicos reales que estas operaciones efectan en un sistema digital.

6-1 ADICIN BINARIA La adicin o suma de dos nmeros binarios se efecta exactamente en la misma forma que la suma de nmeros decimales. De hecho, la adicin binaria es ms simple, ya que existen menos casos que deben aprenderse. Primero repasaremos brevemente la adicin decimal: 3 7 6 + 4 6 1 8 3 7 LSD

El digito menos significativo (LSD; least-significant digit) se opera primero, produciendo una suma de 7. Luego se suman los dgitos que se encuentran en la segundo posicin, para producir una suma de 13, lo que produce un acarreo de 1 en la tercera posicin. Esto produce un resultado de 8 en la tercera posicin. En la adicin binaria se siguen los mismos pasos generales. Sin embargo, slo pueden ocurrir cuatro casos al sumar dos cifras binarias (bits) en cualquier posicin. Estos son: 0+0=0 1+0=1 1 + 1 = 10 = 0 + acarreo de 1 a la siguiente posicin 1 + 1 + 1 = 11 = 1 + acarreo de 1 a la siguiente posicin El ltimo caso ocurre cuando los dos bits que se encuentran en cierta posicin son 1 y existe un acarreo desde la posicin anterior. A continuacin se dan varios ejemplos de la suma de dos nmeros binarios (los equivalentes decimales estn entre parntesis):

011 (3) 110 (6) 1001 (9)

1001 (9) 1111 (15) 11000 (24)

11.011 (3.375) + 10.110 (2.750) 110.001 (6.125)

No es necesario considerar la adicin de ms de dos nmeros binarios al mismo tiempo, ya que en todos los sistemas digitales la circuitera que en realidad efecta la suma slo puede manejar dos nmeros a la vez. Cuando van a sumarse ms de dos nmeros, se suman los dos primeros y el resultado se agrega al tercer nmero; y as sucesivamente. Esto no constituye una desventaja grave, ya que las mquinas digitales modernas pueden realizar comnmente una operacin de adicin en microsegundos o menos. La suma o adicin es la operacin aritmtica de mayor importancia en los sistemas digitales. Como veremos ms adelante, las operaciones de sustraccin, multiplicacin y divisin, que se efectan en la mayora de las computadoras y calculadoras digitales modernas, en realidad utilizan nicamente la adicin como operacin bsica. 6-2 REPRESENTACIN DE NMEROS CON SIGNO En las computadoras digitales, los nmeros binarios se representan por medio de un conjunto de dispositivos de almacenamiento binario (por lo general flip-flop ). Cada dispositivo representa un bit. Por ejemplo, un registro de FF de 6 bits podra almacenar nmeros binarios que van desde 000000 hasta 111111 (de 0 a 63 en decimal). Esto representa la magnitud del nmero. Como la mayora de las computadoras y calculadoras digitales manejan nmeros negativos y positivos, se necesita algn medio de representacin para el signo del nmero (+ o -). Esto se lleva a cabo agregando otro bit al nmero denominado bit de signo. En trminos generales, la convencin comn que se ha adoptado es que un 0 en el bit de signo representa un nmero positivo y un 1 representa un nmero negativo. Esto se ilustra en la figura 6-1. El registro A contiene los bits 0110100. El cero en el bit del extremo izquierdo (A6) es el bit de signo que representa +. Los otros seis bits son la magnitud del nmero 1101002, que es igual a 52 en decimal. De este modo, el nmero almacenado en el registro A es + 52. En forma anloga, el nmero almacenado en el registro B es 52, ya que el bit de signo es 1, que representa -. El bit de signo se utiliza para indicar la naturaleza positiva o negativa del nmero binario almacenado. Los nmeros en la figura 6-1 estn formados por un bit de signo y seis bits de magnitud. Estos ltimos son el verdadero equivalente binario del valor decimal que representan. Lo anterior recibe el nombre de sistema signo-magnitud para la representacin de nmeros binarios con signo. Aunque el sistema signo-magnitud es bastante sencillo, por lo general las computadoras y calculadoras no lo utilizan, porque la implementacin del circuito es mucho ms compleja que la de otros sistemas. El sistema ms empleado para representar nmeros binarios con signo es el sistema de complemento a 2. Antes de estudiarlo, primero veremos cmo formar el complemento a 1 y el complemento a 2 de un nmero binario. Forma complemento a 1 El complemento a 1 de un nmero binario se obtiene cambiando cada 0 por 1 y viceversa. En otras palabras, se cambia cada bit del nmero por su complemento. A continuacin se ilustra este proceso.

1 0 1 1 0 1 nmero binario original 0 1 0 0 1 0 se complementa cada bit para formar el complemento a 1

De este modo, se afirma que el complemento a 1 de 101101 es 010010.

A6 0

A5 1

A4 1

A3 0

A2 1

A1 0

A0 = +52 10 0

Bit del signo

Magnitud = 52 10

B6 1

B5 1

B4 1

B3 0

B2 1

B1 0

B0 = -52 10 0

Bit del signo

Magnitud = 52 10

Figura 6-1

Representacin de nmeros con signo en forma de signo magnitud.

Forma complemento a 2 El complemento a 2 de un nmero binario se obtiene tomando el complemento a 1 y sumndole 1 al bit menos significativo. A continuacin se ilustra este proceso para el nmero 1011012 = 45 10 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 equivalente binario de 45 se complementa cada bit para formar el complemento a 1 se suma 1 para obtener el complemento a 2 representacin en complemento a 2 del nmero binario original

Entonces decimos que 010011 es la representacin del complemento a 2 de 101101. El siguiente es otro ejemplo de conversin de un nmero binario a su representacin en complemento a 2: 1 0 1 1 0 1 0 1 0 0 1 1 1 0 1 0 1 0 0 nmero binario original complemento a 1 se suma 1 representacin en complemento a 2 del nmero binario original

Representacin de nmeros con signo mediante el complemento a 2 El sistema complemento a 2 para representar nmeros con signo, trabaja de la siguiente manera: Si el nmero es positivo, la magnitud est representa por su equivalente binario verdadero y se agrega un cero antes del bit ms significativo. Esto se muestra en la figura 6-2 para el nmero +4510 Si el nmero es negativo, la magnitud est representada por su equivalente en complemento a 2 y se agrega un 1 antes del bit ms significativo. Lo interior se ilustra en la figura 6-2 para el nmero -4510

El sistema complemento a 2 se emplea para representar nmeros con signos porque, como se ver ms adelante, permite efectuar la operacin de sustraccin mediante una adicin. Esto es importante ya que significa que la computadora digital puede usar la misma circuitera tanto para sumar como para restar, ahorrando as en hardware.

= +45 10 0 1 0 1 1 0 1

Bit del signo

Nmero binario verdadero

= -45 10 1 0 1 0 0 1 1

Bit del signo

Complemento a 2

Figura 6-2

Representacin de nmeros con signo en el sistema complemento a 2.

Negacin La negacin es la operacin de convertir un nmero positivo a su equivalente negativo o un nmero negativo a su equivalente positivo. Cuando los nmeros binarios con signo se presentan en el sistema complemento a 2, la negacin se efecta simplemente al hacer la operacin de complemento a 2. Para ilustrarlo, comencemos con +9 cuya representacin con signo es 01001. Si se le hace complemento a 2, se obtiene 10111. Est claro que este es un nmero negativo. por que el bit de signo es un 1. En realidad, 10111 representa -9, que es el equivalente negativo del nmero con el que se empez. Asimismo, se puede comenzar con la representacin de -9, que es 10111. Si se

emplea el complemento a 2, se obtiene 01001, que reconocemos como +9. Estos pasos se diagraman a continuacin: empezar con complemento a 2 (negar) volver a negar 01001 = + 9 10111 = - 9 01001 = + 9

Por tanto, se niega a un nmero binario con signo al someterlo a complemento a 2. Esta negacin cambia el nmero a su equivalente del signo opuesto. En el ejemplo 6-1 utilizamos la negacin en los pasos (d) y (e) para convertir nmeros positivos a sus equivalentes negativos. Caso especial de la representacin en complemento a 2 Siempre que un nmero con signo tiene un 1 en el bit de signo y todos los bits de magnitud son ceros, su equivalente decimal es -2N, donde N es el nmero de bits que hay en la magnitud. Por ejemplo, 1000 = -23 = -8 10000 = -24 = -16 100000 = -25 = -32 y as sucesivamente. As, podemos decir que el intervalo completo de valores que se puede representar en el sistema complemento a 2 que tiene N bits de magnitud es -2N a + (2N -1) En total, existen 2 N+1 valores diferentes, incluido el 0. Por ejemplo, la tabla 6-1 incluye una lista de todos los nmeros con signo que pueden representarse con 4 bits utilizando para ello el sistema complemento a 2 (note que la secuencia inicia en -2N = -23 = -810 = 10002 y contina hasta +(2N -1) = +23 1 = + 710 = 01112, al sumar 0001 en cada paso como en los contadores ascendentes. Tabla 6-1 Valor decimal +7 = 23 -1 +6 +5 +4 +3 +2 +1 0 -1 -2 Representacin binaria con signo mediante complemento a 2 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110

-3 -4 -5 -6 -7 -8 = -23

1101 1100 1011 1010 1001 1000

6-3 ADICIN EN EL SISTEMA COMPLEMENTO A 2 Ahora investigaremos cmo se realizan las operaciones de adicin y sustraccin en mquinas digitales que usan la representacin en complemento a 2 para nmeros negativos. En los diversos casos a ser considerados, es importante observar que el bit de signo de cada nmero se opera en la misma forma como los bits de magnitud. Caso I: Dos nmeros positivos. La adicin de dos nmeros positivos es bastante sencilla. Considere la suma de +9 y +4: +9 +4 0 1001 0 0100 0 1101 cosumando sumando suma = +13 bit de signo Note que los bits de signo del cosumando y el sumando son 0 y el bit de signo de la suma es 0, lo que indica que la suma es positiva. Note asimismo que el cosumando y el sumando se forman con el mismo nmero de bits. Esto siempre debe llevarse a cabo en el sistema complemento a 2. Caso II: Nmero positivo y nmero negativo menor. Considere la adicin de +9 y -4. Recuerde que el nmero -4 estar en su forma complemento a 2. De este modo, +4 (00100) debe convertirse a -4 (11100) bits de signo +9 -4 0 1001 1 1100 1 0 0101 cosumando sumando este acarreo se descarta; el resultado es 00101 (suma = + 5) En este caso, el bit de signo del sumando es 1. Observe que el bit de signo tambin participa en el proceso de adicin. De hecho, se genera un acarreo en la ltima posicin de la suma. Este acarreo siempre se descarta , de modo que la suma final es 00101, que es equivalente a +5.

Caso III: Nmero positivo y nmero negativo mayor. Considere la adicin de -9 y +4: -9 +4 10111 00100 11011 suma = - 5 bit de signo negativo Aqu la suma tiene un bit de signo 1, lo que indica un nmero negativo. Como la suma es negativa, sta se encuentra en su forma complemento a 2, de manera que los ltimos cuatro bits, 1011, representan en realidad el complemento a 2 de la suma. Para determinar la verdadera magnitud de la suma, debemos tomar el complemento a 2 de 11011; el resultado es 00101 = +5. De este modo, 11011 representa el nmero -5. Caso IV: Dos nmeros negativos. -9 -4 10111 11100 1 10011 suma = - 5 bit de signo este acarreo se descarta; el resultado es 10011 (suma = -13) Este resultado final vuelve a ser negativo y est en forma complemento a 2 con un bit de signo 1. Al negar este resultado (al sacar su complemento a 2), se produce 01101 = +13.

Caso V: nmeros iguales y opuestos. -9 +9 10111 01001 1 00000 Se descarta; el resultado es 00000 (suma = 0) El resultado es obviamente 0, como se esperaba.

6-4 SUSTRACCION EN EL SISTEMA COMPLEMENTO A 2 La operacin de sustraccin que utiliza el sistema complemento a 2 en realidad comprende la operacin de adicin y realmente no difiere de los varios casos que se consideraron en la seccin 6-3. Cuando se resta un nmero binario (el sustraendo) de otro nmero binario (el minuendo), el procedimiento es el siguiente: 1. Niegue el sustraendo. Esto cambiar el sustraendo a su valor equivalente con signo contrario.

2. Smelo al minuendo. El resultado de esta suma va a representar la diferencia entre el sustraendo y el minuendo. Otra vez, igual que en todas las operaciones aritmticas de complemento a 2, es necesario que ambos nmeros tengan el mismo nmero de bits en sus representaciones. Consideremos el caso donde +4 se restar de +9. minuendo (+ 9) sustraendo (+ 4) 01001 00100

Se niega el sustraendo para producir 11100, lo que representa -4. Ahora, sume esto al minuendo. 01001 (+ 9) +11100 (- 4) 1 00101 (+5) se descarta; as que el resultado es 00101 = + 5 Cuando el sustraendo se cambia por su complemento a 2, en realidad se convierte en -4 as que sumamos -4 y +9, que es lo mismo que restar +4 de +9. Este es el caso II que se muestra en seccin 6-3. Por tanto, cualquier operacin de sustraccin en realidad se convierte en una adicin cuando se emplea el sistema complemento a 2. Esta caracterstica del sistema complemento a 2 lo ha convertido en el mtodo que ms se utiliza, ya que permite que la misma circuitera efecte la adicin y la sustraccin. El lector debe verificar los resultados de utilizar el procedimiento anterior en las siguientes restas: (a) +9 (-4); (b) -9 (+4); (c) -9 (-4); (d) +4 (-4). Recuerde que cuando el resultado tiene un bit de signo 1, ste es negativo y est en forma complemento a 2. Desborde aritmtico En cada uno de los anteriores ejemplos de adicin y sustraccin, los nmeros que se sumaron constan de un bit de signo y 4 bits de magnitud. Las respuestas tambin constan de un bit de signo y 4 bits de magnitud. Cualquier acarreo hacia la sexta posicin de bit fue descartada. En todos los casos que se consideraron, la magnitud del resultado fue lo suficientemente pequea como para caber en 4 bits. Veamos la suma de +9 y +8. +9 +8 0 0 1 1001 1000 0001 magnitud incorrecta

signo incorrecto

El resultado tiene un bit de signo negativo, lo que es obviamente incorrecto. La respuesta debe ser +17, pero la magnitud 17 necesita ms de 4 bits y, por tanto, sobrepasa la posicin de bit de signo. Esta condicin de desborde siempre produce un resultado incorrecto y se detecta al examinar el bit de signo del resultado y comparndolo con los bits de signo de los nmeros que se suman. En una computadora, se utiliza un circuito especial para detectar

cualquier condicin de desborde y para sealar que la respuesta es errnea. Encontraremos un circuito de este tipo en uno de los problemas de final de captulo. 6-5 MULTIPLICACION DE NMEROS BINARIOS La multiplicacin de nmeros binarios se lleva a cabo de la misma forma que la multiplicacin de nmeros decimales. En realidad el proceso es ms simple, ya que las cifras multiplicadoras son 0 y 1, de modo que siempre se multiplica por 0 y 1 y no por otros dgitos. El siguiente ejemplo ilustra los nmeros binarios sin signo. 1001 1011 1001 1001 0000 1001 1100011 multiplicando = 9 10 multiplicador = 11 10 productos parciales producto final = 99 10

En este ejemplo, el multiplicando y el multiplicador estn en forma binaria verdadera y no usan bits para el signo. Los pasos que se siguen en el proceso son exactamente los mismos que en la multiplicacin decimal. Primero, el LSB del multiplicador es examinado; en nuestro ejemplo, es un 1. Este 1 multiplica al multiplicando para producir 1001, que se escribe como el primer producto parcial. Despus, se examina el segundo bit del multiplicador. Este es un 1, as que 1001 se escribe para el segundo producto parcial. Note que este segundo producto parcial se corre un espacio hacia la izquierda en relacin con el primero. El tercer bit del multiplicador es 0, de modo que se escribe 0000 como tercer producto parcial; una vez ms se corre un espacio hacia la izquierda en relacin con el producto parcial anterior. El cuarto bit del multiplicador es 1, de manera que el ltimo producto parcial es 1001 que se corre una vez ms un espacio hacia la izquierda. Los cuatro productos parciales se suman para obtener el producto final. La mayor parte de las mquinas digitales slo pueden sumar dos nmeros binarios a la vez. Por esta razn, los productos parciales que se forman durante la multiplicacin no pueden sumarse todos al mismo tiempo. En su lugar, se suman de dos en dos; es decir, el primero se suma al segundo, su suma se agrega al tercero y as sucesivamente. Este proceso se ilustra ahora para el ejemplo anterior: suma suma 1001 1001 11011 0000 011011 1001 1100011 primer producto parcial segundo producto parcial corrido a la izquierda suma de los dos primeros productos parciales tercer producto parcial corrido a la izquierda suma de los tres primeros productos parciales cuarto producto parcial corrido a la izquierda suma de los cuatro primeros productos parciales que es igual al producto final total

suma

Multiplicacin en el sistema complemento a 2 En las computadoras que emplean la representacin en complemento a 2, la multiplicacin se efecta en la misma forma antes descrita, siempre y cuando el multiplicando y el multiplicador se pongan en forma binaria verdadera. Si los dos nmeros a multiplicar son positivos, ya estn en forma binaria verdadera y se multiplican tal como son. El producto resultantes, desde luego, positivo y se le da un bit de signo de 0. Cuando los dos nmeros son negativos, estarn en forma de complemento a 2 para convertirlos a un nmero positivo y luego se multiplican. El producto se mantiene positivo y se le da un bit de signo de 0. Cuando uno de los nmeros es positivo y el otro negativo, al negativo se le convierte primero en una magnitud positiva tomando su complemento a 2. El producto estar en forma de magnitud verdadera. Sin embargo, el producto tiene que ser negativo, ya que los nmeros originales tienen signos contrarios. De este modo, el producto se cambia a su forma complemento a 2 y se le da un bit de signo 1. 6-6 DIVISION BINARIA El proceso para dividir un nmero binario (el divisor) es el mismo que se sigue para nmeros decimales, que generalmente se conocer como divisin larga. El proceso real es ms simple en binario, porque cuando se verifica cuntas veces el divisor cabe en el dividendo, slo hay dos posibilidades 0 y 1. Para ilustrar lo anterior, considere los siguientes ejemplos de divisin: 0011 1001 011 0011 11 0 0010.1 1010.0 100 100 100 0

11

(9 + 3 = 3)

100

(10 + 4 = 2.5)

En la mayor parte de la mquina digitales modernas las sustracciones que son parte de la operacin de divisin generalmente se efectan utilizando la resta en complemento a 2- es decir, tomando el complemento a 2 del sustraendo y luego sumndolo. La divisin de nmeros con signo se lleva a cabo en la misma forma que la multiplicacin. Los nmeros negativos se vuelven positivos por complementacin y la divisin se lleva a cabo despus. Si el dividendo y el divisor son de signo opuesto, el cociente resultante se cambia por un nmero negativo por complementacin a 2 y se le da un bit de signo de 1. Si el dividendo y el divisor tienen el mismo signo, el cociente se deja como un nmero positivo y se le da un bit de signo de 0. 6-7 ADICIN EN BCD En el captulo 2, dijimos que muchas computadoras y calculadoras utilizan el cdigo BCD para representar nmeros decimales. Recuerde que este cdigo toma cada dgito decimal y lo representa con un cdigo de 4 bits que va de 0000 a 1001. La suma de nmeros decimales que estn en forma BCD pueden entenderse mejor considerando los dos casos que pueden ocurrir cuando se suman dos cifras decimales.

Suma igual a nueve o menos Considere la suma de 5 y 4 utilizando BCD para representar cada dgito: 5 + 4 9 0101 + 0100 1001 BCD para 5 BCD para 4 BCD para 9

La suma se realiza como en la adicin binaria normal y el resultado es 1001, que es el cdigo BCD para 9. Para poner otro ejemplo, tome 45 sumado a 33: 45 0100 0101 + 33 + 0011 0011 78 0111 1000 BCD para 45 BCD para 33 BCD para 78

En este ejemplo, los cdigos de 4 bits para 5 y 3 se suman en binario para producir 1000, que es el BCD de 8. En forma anloga, la suma de las posiciones de la segunda cifra decimal produce 0111, que es el BCD para 7. El total es 0111 1000, que es el cdigo BCD de 78. En los ejemplos anteriores, ninguna de las sumas de los pares de dgitos decimales excedi de 9; por tanto, no se produjeron acarreos decimales. Para estos casos el proceso de adicin BCD es bastante sencillo y es en realidad igual a la adicin binaria. Suma mayor que nueve 6 + 7 +13 Considere la suma de 6 y 7 en BCD: 0110 + 0111 1101 BCD para 6 BCD para 7 grupo de cdigo no vlido para BCD

La suma 1101 no existe en el cdigo BCD; es uno de los seis grupos de cdigo de 4 bits prohibidos o no vlidos. Esto ha ocurrido porque la suma de los dos dgitos excede de 9. Siempre que esto ocurre, la suma tiene que ser corregida aadindole un seis (0110) para tomar en cuenta la omisin de los seis grupos de cdigos no vlidos: 0110 + 0111 1101 0110 0001 0011 1 3 BCD para 6 BCD para 7 suma no vlida sume 6 para corregir BCD para 13

Como se mostr anteriormente, al aadir 0110 a la suma no vlida, se produce el resultado BCD correcto. Note que se produce un acarreo en la segunda posicin decimal. Esta adicin de 0110 tiene que realizarse siempre que la suma de las dos cifras decimales sea mayor que 9. Para poner otro ejemplo, tome 47 ms 35 en BCD:

47 0100 0111 + 35 + 0011 0101 82 0111 1100 1 0110 1000 0010 8 2

BCD para 47 BCD para 35 suma no vlida en el primer dgito sume 6 para corregir se corrige la suma en BCD

La adicin de los cdigos de 4 bits para los dgitos 7 y 5 produce una suma no vlida y se corrige sumando 0110. Note que esto genera un acarreo de 1, que se realiza para agregarse a la suma en BCD de los dgitos de la segunda posicin. Considere la adicin de 59 y 38 en BCD:

1 59 0101 1001 + 38 + 0011 1000 97 1001 0001 0110 1001 0111 9 7

BCD para 59 BCD para 38 se realiza la adicin sume 6 para corregir BCD para 97

Aqu la adicin de los dgitos menos significativos (LSD) produce una suma de 17 = 10001. Esto genera un acarreo a la siguiente posicin del dgito que se sumar a los cdigos para 5 y 3. Ya que 17 > 9, tiene que sumarse un factor de correccin de 6 a la suma de LSD. La adicin de esta correccin no genera un acarreo; ste ya se gener en la adicin original. Para resumir el procedimiento de adicin en BCD, considere los siguientes puntos: 1. Sume utilizando la adicin binaria ordinaria, los grupos de cdigo BCD para cada posicin del dgito. 2. Para aquellas posiciones donde la suma sea 9 o menor, no se necesita correccin. La suma est en la forma BCD adecuada. 3. Cuando la suma de dos cifras es mayor que 9, deber agregarse una correccin de 0110 para obtener el resultado. Este caso siempre produce un acarreo a la siguiente posicin del dgito, de la adicin original (paso 1) o bien de la adicin de la correccin. El procedimiento de la adicin en BCD es evidentemente ms complicado que la adicin binaria directa. Esto sucede tambin con las otras operaciones aritmticas en BCD.

6-8 ARITMTICA HEXADECIMAL Los nmeros hexadecimales se utilizan ampliamente en la programacin de computadoras, en lenguaje de mquina y n conjuncin con la memoria de la computadora (es decir,

direcciones). Cuando se trabaje en estas reas, habr situaciones donde los nmeros hexadecimales tengan que restarse o sumarse. Adicin hexadecimal La adicin de nmeros hexadecimales se efecta de manera similar a la adicin decimal, siempre y cuando recuerde que le mayor dgito hexadecimal es F y no 9. Para realizar esta operacin se sugiere el siguiente procedimiento: 1. Sume los dos dgitos hexadecimales en decimal, insertando mentalmente el equivalente decimal para nmeros mayores de 9. 2. Si la suma es 15 o menos, sta puede expresarse directamente como un dgito hexadecimal. 3. Si la suma es mayor o igual a 16, reste y acarree un 1 hacia el dgito de la siguiente posicin. Sustraccin hex Recuerde que los nmeros hexadecimales son una forma muy eficaz de representar nmeros binarios. As, podemos restar nmeros hexadecimales utilizando el mismo mtodo que usamos para los nmeros binarios. El sustraendo hex se complementar a 2 y luego se sumar al minuendo y cualquier acarreo de la posicin MSD ser descartado. Cmo se complementa a 2 un nmero hexadecimal? Una forma consiste en convertirlo en binario, completar a 2 el equivalente binario y luego reconvertirlo en hexadecimal. Este proceso se ilustra a continuacin.

73A 0111 1000 0011 1100 8C6 1010 0110

nmero hex convierta a binario complemente a 2 reconvierta a hex

Existe un procedimiento ms rpido. Se resta cada dgito hex de F, luego se suma 1. Ensayemos este procedimiento para el mismo nmero hex del ejemplo anterior. F -7 8 + 8 -3 C 1 C F F reste cada dgito de F -A 5 6 sume 1 equivalente hex del complemento a 2

6-9 CIRCUITOS ARITMETICOS Una funcin esencial de muchas computadoras y calculadoras es la realizacin de operaciones aritmticas. Estas operaciones se efectan en la unidad aritmtica-lgica de una computadora, donde se combinan compuertas lgicas y flip-flops de manera que puedan sumar, restar, multiplicar y dividir nmeros binarios. Estos circuitos efectan operaciones

aritmticas a velocidades que son humanamente imposibles. Comnmente, una operacin de adicin se llevar menos de 1 ms. Ahora estudiaremos algunos de los circuitos aritmticos bsicos que se utilizan para efectuar las operaciones aritmticas que se analizaron antes. En algunos casos nos internaremos en el proceso real del diseo, aunque los circuitos puedan hallarse comercialmente en forma de circuitos integrados, a fin de ofrecer mayor prctica en el uso de las tcnicas aprendidas en el captulo 4. Unidad aritmtica-lgica Todas las operaciones se llevan a cabo en la unidad aritmtica -lgica (ALU) de una computadora. La figura 6-3 es un diagrama de bloque que muestra los elementos principales que se incluyen en una ALU comn. La finalidad primordial de la ALU consiste en aceptar datos binarios que estn almacenados en la memoria y ejecutar operaciones aritmticas con estos datos, de acuerdo con instrucciones que provienen de la unidad de control. La unidad aritmtica-lgica contiene cuando menos dos registros de flip-flops: el registro B y el registro acumulador. Tambin contiene lgica combinatoria, que efecta las operaciones aritmticas sobre los nmeros binarios que estn almacenados en el registro B y el acumulador. Una secuencia comn de operaciones puede ocurrir de la siguiente manera: 1. La unidad de control recibe una instruccin (de la unidad de memoria) especificando que un nmero almacenado en cierta localidad de la memoria (direccin) se sumar al nmero que est almacenado en ese momento en el registro acumulador. 2. El nmero que se sumar se transfiere de la memoria al registro B. 3. El nmero contenido en el registro B y el nmero en el registro acumulador se suman en los circuitos lgicos (por el comando emitido desde la unidad de control). La suma resultante se enva entonces al acumulador para ser almacenada. 4. El nuevo nmero en el acumulador puede permanecer ah para que se pueda sumar otro nmero a l, o, si el proceso aritmtico particular llega a su fin, puede ser transferido a la memoria para ser almacenado. Estos pasos deben evidenciar la forma en que el registro acumulador deriva su nombre. Este registro acumula las sumas que ocurren cuando se efectan adiciones sucesivas entre los nuevos nmeros tomados de la memoria y la suma acumulada anteriormente. De hecho, para cualquier problema aritmtico que contenga varios pasos a seguir. el acumulador generalmente contiene los resultados de los pasos intermedios conforme se obtienen, as como el resultado final cuando el problema termina.

Figura 6-3

Partes funcionales de una ALU.

Acumulador

Unidad de memoria

Circuitos lgicos

Unidad de control

Registro B

Unidad aritmtica-lgica 6-10 SUMADOR BINARIO PARALELO Las computadoras y calculadoras realizan la operacin de adicin de dos nmeros binarios puede tener varios dgitos binarios. La figura 6-4 ilustra la adicin de dos nmeros de 5 bits. El consumando se almacena en el registro acumulador; es decir, el acumulador contiene cinco FF, almacenando los valores 10101 en FF sucesivos. En forma anloga, el sumando, el nmero que se sumar al cosumando se almacena en el registro B (en este caso, 00111). El proceso de adicin se inicia sumando los bits menos significativos (LSB) del cosumando y del sumando. As, 1 + 1 = 10, lo cual significa que la suma para esa posicin es 0 con un acarreo de 1. Este acarreo debe sumarse a la siguiente posicin junto con el cosumando y el sumando de esa posicin. De este modo, en la segunda posicin, 1 + 0 + 1 = 10, que es, una vez ms, una suma de 0 y un acarreo de 1. Este acarreo se suma a la siguiente posicin junto con los bits del cosumando y del sumando en esa posicin y as para las restantes posiciones, como se ilustra en la figura 6-4. En cada paso de este proceso de adicin se efecta la suma de 3 bits; el bit del cosumando, el bit del sumando y el bit del acarreo de la posicin anterior. El resultado de la adicin de estos tres bits produce 2 bits: un bit de suma y uno de acarreo, que se sumar a la siguiente posicin. Debe estar claro que se sigue le mismo proceso para cada posicin del bit. Por tanto, si podemos disear un circuito lgico que pueda duplicar este proceso, entonces

simplemente tenemos que emplear circuitos idnticos para cada posicin de bit. Esto se ilustra en la figura 6-5. En este diagrama las variables A4, A3, A2, A1 y A0 representan los bits del cosumando almacenados en el acumulador (que tambin se denomina registro A). Las variables B4, B3, B2, B1 y B0 son los bits del sumando almacenados en el registro B . Las variables C4, C3, C2, C1 y C0 representan los bits de acarreo que estn en las posiciones correspondientes. Las variables S4, S3, S2, S1 y S0 son los bits de salida de la suma para cada posicin. Los bits correspondientes del cosumando y del sumando se alimentan a un circuito lgico llamado sumador total, junto con un bit de acarreo de la posicin anterior. Por ejemplo, los bits A1 y B1 se alimentan al sumador total 1 junto con C1, que es el bit de acarreo producido por la adicin de los bits A0 y B0. Los bits A0 y B0 se alimentan al sumador total 0 junto con C0. Como A0 y B0 son los LSB del cosumando y el sumando, parece que C0 siempre tendr que ser 0, puesto que no puede haber acarreo hacia esa posicin. Sin embargo, veremos que habr situaciones donde C0 tambin pueda ser 1. Figura 6-4 Cosumando Proceso comn de adicin binaria. 1 + 0 1 0 1
Almacenados en el registro acumulador Almacenados en el registro B

Sumando Suma Acarreo (Se sumar a la siguiente posicin)

0 1 0

0 1 0

1 1 1

1 0 1

1 0 1

Figura 6-5Diagrama de bloques de un circuito sumador en paralelo de 5 bits que emplea sumadores totales. B4 B3 B2 B1 B0
Bits del sumando del registro B

C5 ST #4 S4 A4

C4 ST #3 S3 A3

C3 ST #2 S2 A2

C2 ST #1 S1 A1

C1
Sumador Total #0

C0

S0 A0
Bits del cosumando del registro A

La suma aparece en las salidas S4, S3, S2, S1, S0

El circuito sumador que se utiliza en cada posicin tienen tres entradas: un bit A, un bit B y un bit C y produce dos salidas: un bit de suma y uno de acarreo. Por ejemplo, el sumador total 1 tiene las entradas A0, B0 y C0 y produce salidas S0 y C1. El sumador total 1 tiene como entrada A1, B1, C1 y como salidas S1 y C2; y as sucesivamente. Esta disposicin no se repite en tantas posiciones como haya en el cosumando y en el sumando. Aunque este ejemplo es para nmeros de 5 bits, en las computadoras modernas los nmeros generalmente van de 8 a 64 bits. La disposicin de la figura 6-5 recibe se llama sumador paralelo ya que todos los bits del cosumando y del sumando estn presentes y se alimentan a los circuitos sumadores simultneamente. Esto significa que las adiciones en cada posicin se llevan a cabo al mismo tiempo. Este procedimiento es distinto del que se sigue al sumar en papel, ya que se toma cada posicin una a la vez empezando con el LSB. Evidentemente, la adicin en paralelo es extremadamente rpida. Posteriormente hablaremos ms de este tema.

Vous aimerez peut-être aussi