45
1 ARQUITECTURA DE COMPUTADORAS I Prof. Rosendo Perez Revision 1.6d

ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

Embed Size (px)

Citation preview

Page 1: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

1

ARQUITECTURA DE COMPUTADORAS I  Prof. Rosendo Perez Revision 1.6d

Page 2: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

2

REPRESENTACION DE LA INFORMACION  

• Codificación de números de punto fijo con y sin signo • Números reales (números de punto flotante) • Caracteres para impresión de texto

NUMEROS DE PUNTO FIJO  Todos los números a representar tienen exactamente la misma cantidad de dígitos y la coma esta siempre ubicada en el mismo lugar. Ej.: 0,23 5,12 9,11 En binario 11,10 01,10 00,11 En una computadora los números no se almacenan como decimales sino que se presupone que ocupan un lugar determinado que los identifica como tales RANGO Y PRECISION EN NUMEROS DE PUNTO FIJO  RANGO: Expresa la diferencia entre el mayor y menor numero representable. PRECISION: Distancia entre dos números consecutivos en una serie numérica. Ej.: Con 3 dígitos en decimal Rango: 0.00 a 9.99 Precisión: La mitad entre dos valores consecutivos 0.01 y 0.02 � max. Error 0.005. LA LEY ASOCIATIVA DEL ALGEBRA NO SIEMPRE FUNCIONA EN LA COMPUTADORA  A+(B+C)=(A+B)+C)  

En el caso de números en el formato de punto fijo con representación finita donde suponemos un registro que puede almacenar un solo digito. Ej.: A:7, B:4 y C:-3. A+(B+C)= 7 + (4-3)= 8 (A+B)+C= (7+4) - 3= 11 - 3 FUERA DE RANGO (A+B)+C = ( 7 + 4 ) – 3 = 9 – 3 = 6 Se produjo un desborde en el resultado intermedio al utilizar un formato de punto fijo de longitud finita. La única solución es detectar el desborde y modificar el tamaño del registro donde se almacena el mismo, pero no siempre es posible hacerlo. SISTEMAS DE NUMERACION POSICIONAL 

Page 3: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

3

Analiza la utilización de sistemas numéricos con bases arbitrarias BASE o RAIZ: de un sistema de numeración define el rango de valores posibles.

∑−

−1

:.:

n

mi

ii kbVALOR

donde k es la base Existen en este caso n digitos a la izquierda de la coma y m a la derecha. Ej.: 541,25

Base: 10 � k= 10 n = 3 m = 2 = 5 x 102 + 4 x 101 + 1 x 100 + 2 x 10-1 + 5 x 10-2 = 500 + 40 + 1 + 2/10 + 5/100 = 541,25 Ej.: binario (1010,01)2

K = 2 n = 4 m = 2 = 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20 + 0 x 2-1 + 1 x 2-2 = 8 + 0 + 2 + 0 + 0/2 + ¼ = 10,25 CONVERSION ENTRE SISTEMAS  Es simple pasar de binario a decimal, no al revés. Si hay parte entera y decimal, se operan por separado Conversión de la parte entera de un número de punto fijo  La representación era bi x 2i + b i-1 x 2 i-1 + … + b1 x 21 + b0 x 20

dividiendo el numero por 2 bi x 2i-1 + b i-1 x 2 i-2 + … + b1 x 20 con un resto de b0.

METODO DE LOS RESTOS  Ej.: 23 23/2 = 11 resto 1 bit menos significativo

Page 4: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

4

11/2 = 5 resto 1 5/2= 2 resto 1 2/2= 1 resto 0 1/2 = 0 resto 1 bit mas significativo (23)10 = (10111)2

En forma inversa = (10111)2 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 16 + 0 + 4 + 2 + 1 = 23 CONVERSION DE LA PARTE FRACCIONARIA DE UN NUMERO DE PUNTO FIJO  METODO DE LAS MULTIPLICACIONES Una fracción binaria esta representada por:

b-1 x 2-1 + b-2 x 2-2 + b-3 x 2-3 +… si multiplicamos por 2

b-1 + b-2 x 2-1 + b-3 x 2-2 +… Ej.: 0,375 0.375 x 2 = 0.75 bit mas significativo 0.75 x 2 = 1.5 0,5 x 2 = 1 bit menos significativo (0.375)10 = (0.011)2

(0.011)2 = 0 x 2-1 + 1 x 2-2 + 1 x 2-3

= 0 +1/2 + 1/8 = 0 + 0.25 + 0.125

Page 5: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

5

= (0.375)10 FRACCIONES NO EXACTAS  No todas las fracciones representadas en el sistema decimal tienen un numero racional exacto en binario. Ej.: (0,2)10 0.2 x 2 = 0. 4 0 0.4 x 2 = 0. 8 0 0.8 x 2 = 1. 6 1 0.6 x 2 = 1. 2 1 0.2 x 2 = 0. 4 0 Para números de un solo digito, solo 0 y 0.5 dan soluciones exactas Para números de 4 dígitos lo hacen 0 , 0.25, 0.5 y 0.75  REPRESENTACION BINARIA Vs DECIMAL. REPRESENTACION DE NUMEROS EN LOS SITEMAS BINARIO, OCTAL Y DECIMAL   Para pasar a octal se divide el número binario en grupos de 3, y para el hexadecimal en grupos de 4. (10110)2 = (010)2 (110)2 = (2)8 (6)8 = (26)8 (10110110)2 = (1011)2 (0110)2 = (B)16 (6)16 = (B6)16 CONVERSIÓN DE UN NUMERO DECIMAL A OCTAL   Para convertir un número en el sistema decimal al sistema de numeración Octal, debemos seguir los pasos que mostraremos en el siguiente ejemplo Convertir el número decimal 323.625 a el sistema de numeración Octal

1. Se toma el numero entero y se divide entre 8 repetidamente hasta que el dividendo sea menor que el divisor, para colocar entonces el numero 0 y pasar el dividendo a formar el primer dígito del numero equivalente en decimal

2. Se toma la parte fraccionaria del numero decimal y la multiplicamos por 8 sucesivamente hasta que el producto no tenga números fraccionarios

3. Pasamos la parte entera del producto a formar el dígito correspondiente 4. Al igual que los demás sistemas , el numero equivalente en el sistema decimal , esta

formado por la unión del numero entero equivalente y el numero fraccionario equivalente.

Page 6: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

6

Conversión de decimal a octal

CONVERSIÓN DE UN NUMERO OCTAL A BINARIO  

La ventaja principal del sistema de numeración Octal es la facilidad conque pueden realizarse la conversión entre un numero binario y octal. A continuación mostraremos un ejercicio que ilustrará la teoría. Por medio de este tipo de conversiones, cualquier numero Octal se convierte a binario de manera individual. En este ejemplo, mostramos claramente el equivalente 100 111 010 en binario de cada numero octal de forma individual.

Figura 11: Conversión de octal a binario

CONVERSIÓN DE UN NUMERO DECIMAL A UN NUMERO HEXADECIMAL  

Convertir el número 250.25 a Hexadecimal

1. Se toma la parte entera y se divide sucesivamente por el numero decimal 16 (base) hasta que el cociente sea 0

2. Los números enteros resultantes de los cocientes, pasarán a conformar el numero hexadecimal correspondiente, teniendo en cuenta que el sistema de numeración hexadecimal posee solo 16 símbolos, donde los números del 10 hasta el 15 tienen símbolos alfabéticos que ya hemos explicado

3. La parte fraccionaria del numero a convertir se multiplica por 16 (Base) sucesivamente hasta que el producto resultante no tenga parte fraccionaria

4. Al igual que en los sistemas anteriores, el numero equivalente se forma, de la unión de los dos números equivalentes, tanto entero como fraccionario, separados por un punto que establece la diferencia entre ellos.

Page 7: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

7

Conversión de decimal a hexadecimal

CONVERSIÓN DE UN NUMERO HEXADECIMAL A UN NUMERO DECIMAL  

Como en los ejemplos anteriores este también nos ayudará a entender mejor este procedimiento: Convertir el numero hexadecimal 2B6 a su equivalente decimal.

1. Multiplicamos el valor de posición de cada columna por el dígito hexadecimal correspondiente.

2. El resultado del número decimal equivalente se obtiene, sumando todos los productos obtenidos en el paso anterior.

Conversión de hexadecimal a decimal

ARITMETICA DE LAS COMPUTADORAS  SUMA: Similar a la realizada a mano para números decimales 0+0=0 0+1=1 1+0=1 1+1=0 y nos llevamos 1 (arrastre)

Arrastre 11110000 Sumando A 01111100 (124)10 Sumando B 01011010 (90)10 11010110 (214)10

Page 8: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

8

SUMA BINARIA  

Suma binaria

La suma o adición binaria es análoga a la de los números decimales. La diferencia radica en que en los números binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). Del gráfico anterior podemos sacar las siguientes conclusiones:

1. Los números o sumandos se suman en paralelo o en columnas, colocando un numero encima del otro. Todos los números bajo la misma columna tienen el mismo valor posicional.

2. El orden de ubicación de los números no importa (propiedad conmutativa).

Reglas para la suma binaria

En la figura anterior se indican las reglas que rigen la suma binaria y en la figura proxima se muestra un circuito lógico llamado semisumador, que suma 2 bits (A y B) que genera un bit de suma y un bit de acarreo cuando este se produce.

La operación de un semisumador como el anterior mostrado en la figura se puede sintetizar mediante las siguientes 2 operaciones booleanas: S=A(xor)B (suma) Co=A·B (acarreo) Para realizar una suma binaria donde se tenga presente un carry de entrada se debe implementar un circuito que tenga presente esta nueva variante; como es el caso del sumador completo.

El sumador completo tiene 3 entradas que se suman y son: A, B, y Cin (entrada de arrastre), y las salidas habituales S y Co (suma y salida de arrastre)

Semisumador

Page 9: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

9

Sumador completo

RESTA: Se resuelve igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10-1=1 y me llevo 1, lo que en decimal equivale a decir 2 – 1 = 1. Esa unidad prestada debe devolverse, sumándola a la posición siguiente. 10001 (17) 10 -01010 -(10 ) 10 00111 ( 7 ) 10   RESTA BINARIA  

Resta binaria

La resta o sustracción de números binarios es similar a los números decimales. La diferencia radica en que, en binario, cuando el minuendo es menor que el sustraendo, se produce un préstamo o borrow de 2, mientras que en decimal se produce un préstamo de 10.

Al igual que en la suma, el proceso de resta binaria, se inicia en la columna correspondiente a la de los dígitos menos significativos. En la figura 5 se indican las reglas que rigen la resta binaria y en la figura 6 se muestra un circuito lógico, llamado semirrestador (HS), que sustrae un B de un bit A y suministra un bit de diferencia (Di) y un bit de préstamo (Bo).

La operación de un Semirrestador como el mostrado en la figura anterior se puede resumir mediante las 5 ecuaciones booleanas:

Di=A·B(neg)+A(neg)·B= A(xor)B (diferencia) Bi=A(neg).B (borrow)

En la figura siguiente se muestra el proceso de resta de 2 números binarios de 5 bits. El objeto de esta operación es ilustrar el manejo de los préstamos y plantear la necesidad de un restador completo de 2 bits que tenga, como entradas, el minuendo, el sustraendo, y el préstamo anterior y ofrezca como salidas, la diferencia y el préstamo, si existe.

Page 10: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

10

En la figura se muestra el diagrama de bloques, conexión en bloques utilizando semirrestadores y una puerta OR y el diagrama lógico de un restador completo.

Figura 6: Semirrestador

Restador completo

 

Page 11: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

11

NUMEROS CON SIGNO EN FORMATO DE PUNTO FIJO  Hay 4 convenciones en la representación de números con signo

• MAGNITUD (Valor Absoluto) y SIGNO • COMPLEMENTO A UNO • COMPLEMENTO A DOS • NOTACION EXCEDIDA

  MAGNITUD Y SIGNO (o Valor Absoluto y Signo) Es la mas habitual Para el signo se utiliza el bit de mayor valor significativo � 0 + � 1 – +(12)10 = (0000 1100)2

-(12)10 = (1000 1100)2 Existen dos representaciones para el cero +0 = 0000 0000 -0 = 1000 0000 En este caso, con 8 bits se pueden representar 255 números (no 256) por la duplicación del cero. COMPLEMENTO A UNO 

NO ES DE USO COMUN Tiene una resolución trivial Para la parte negativa convierte todos los ceros en uno y todos los unos en cero.

Decimal Magnitud y Signo Complemento a Uno 3 011 011 2 010 010 1 001 001

+0 000 000 -0 100 111 -1 101 110 -2 110 101 -3 111 100

Esto se conoce como complementación de la palabra. +(12)10 = (0000 1100)2 -(12)10 = (1111 0011)2

Page 12: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

12

  COMPLEMENTO A DOS  Se realiza el complemento a 1 y se le suma 1 al resultado obtenido, y si hay un arrastre al bit mas significativo, se descarta excepto que haya desborde. Su ventaja es que hay una sola representación del cero. + (0)10 = (0000 0000)2 complemento

- (0)10 = 1111 1111 + 1 0000 0000 + (12)10 = 0000 1100

complemento - (12)10 = 1111 0011 + 1 1111 0100 Se considera solo +0 y para abajo arranca en -1 Es la representación mas utilizada en computadoras  REPRESENTACION GRAFICA DE COMPLEMENTO A 2    

     

Page 13: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

13

REPRESENTACION EXCEDIDA (DESPLAZADA)  Los números se tratan como si no tuviesen signo, pero se los desplaza en su valor por medio de la resta de otro número conocido como exceso o desplazamiento. Lo que logra es desplazar el número en un valor dado. Ej.: +12 y -12 con representación en exceso 128. 128 + 12 = 140 � + 12 = (1000 1100)2 128 - 12 = 116 � - 12 = (0111 0100)2 No hay ningún significado numérico asociado con el valor del exceso. Su efecto es simplemente el de desplazar la representación de los números expresados en complemento de dos. + 127 = 1111 1111

- 128 = 0000 0000  DECIMAL CODIFICADO EN BINARIO  BCD: Binary Coded Decimal  Se representa con 4 bits � 16 posibilidades Existen menos problemas para representar fracciones decimales exactas. En la representación de complemento a nueve los números positivos se representan en el formato BCD habitual, pero el digito decimal mas significativo adopta un valor menor a 5 si el número es positivo y 5 o mas si el numero es negativo. El complemento a 9 se obtiene restando cada digito de 9. Ej.: + 301 � 0301

- 301 � 9698

El complemento a 10 se obtiene sumando 1 al complemento a 9 � - 301 = 9698 + 1 = 9699

Page 14: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

14

Rango: números positivos = 0 a 4999 números negativos = 5000 a 9999

Page 15: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

15

REPRESENTACION EN PUNTO FLOTANTE  Ej.: Número de Avogadro = + 6.023 x 1023

(El NUMERO DE AVOGADRO ES EL NUMERO DE MOLECULAS QUE HAY EM UN MOL DE GAS. ES UNA CONSTANTE UTILIZADA EN FISICA Y QUIMICA PARA ESTABLECER UNA RELACION ENTRE LA MASA O EL VOLUMEN Y LA CANTIDAD DE MATERIA. SE DEFINE COMO LA CANTIDAD DE ATOMOS DE CARBONO 12 CONTENIDOS EN 12 GRAMOS DE ESTE ELEMENTO (Definición de MOL). EL VALOR RECOMENDADO ES NA = (6,0221415 + 0,000001) x 1023 mol-1

El MOL es la unidad básica del SISTEMA INTERNACIONAL DE UNIDADES que mide la CANTIDAD DE SUSTANCIA de un elemento.) Con coma fija es complicado representar números muy grandes o muy pequeños. Una forma de solucionarlo para números decimales es utilizando la notación científica (9.76 x 1014 o 9.76 x 10-14 me ahorran el escribir 13 ceros). Se separan los dígitos utilizados para determinar la precisión de los que se necesitan para representar el rango.

En la división de dos números grandes puede perderse la parte fraccionaria del cociente. La misma técnica de correr la coma y poner una potencia de 10 puede hacerse con los números binarios. Permiten representar un amplio rango de números con poca cantidad de dígitos binario Otra forma de explicarlo es: Una representación en coma flotante se compone de tres números (campos) que siguen el siguiente patrón:

r: valor real del número a representar m: mantisa o significando, dígitos significativos del número. El tamaño máximo de este campo, usualmente fijo y limitado, determina la precisión de la representación. Este

+ 23 6,023

potencia

signo Exponente Dos dígitos

Mantisa Cuatro digitos

Ubicación de la coma

Page 16: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

16

campo está usualmente normalizado, es decir, su parte entera sólo consta de un dígito (que será la primera cifra significativa del número a representar). b: base del sistema de representación (10 en sistema decimal, 8 en sistema octal, 2 en sistema binario, etc) e: exponente, orden de magnitud del significando. El mínimo y máximo valor posible del exponente determinan el rango de valores representables. Como puede notarse, cabe añadir que cuando e vale cero el valor real coincide con el significando.

En ciertos casos se usa como, con un cuarto campo, s, que tiene el valor de 1 ó -1 según el signo del número (que se extrae del significando).

RANGO Y PRECISION EN LOS NUMEROS CON COMA FLOTANTE MANTISA se denomina en esta forma al valor del punto fijo El rango de la representación queda determinado básicamente por la cantidad de dígitos del exponente y la base a que ese exponente afecta. La precisión queda determinada por la cantidad de dígitos de la mantisa. La coma decimal no se almacena porque ocupa siempre la misma posición dentro de la mantisa. Podemos representar un numero como  + S x B +E donde: + : Signo S: Parte SIGNIFICATIVA o MANTISA (S: Significand) E: Exponente  Ejemplo:  Numero con coma flotante de 32 bits 0.11010001 x 210100 : 0 10010011 101000100000…. El bit mas a la izquierda contiene el signo del numero (0:+, 1:-). El valor del exponente se almacena en los bits 1 a 8 en forma “sesgada”. Un valor fijo llamado “sesgo” se resta de este campo para conseguir el valor de exponente verdadero. Generalmente el sesgo tiene el valor:

(2k-1 – 1) donde k es el numero de bits en el exponente binario Ejemplo:  

Page 17: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

17

En este caso hay un campo de 8 bits (0 a 255). Con un sesgo de 127 los valores del exponente serán de -127 a + 128 MANTISA: La normalizamos, es decir que cualquier numero quedara;

+ 0.1 bbb…b x 2+E donde cada b es un digito binario. Esto implica que el bit mas a la izquierda de la mantisa es siempre 1. Como es innecesario almacenarlo, ese bit esta siempre implícito. De esa forma el campo de 23 bits almacena una mantisa de 24 bits. Ej.: 0.11010 se almacena como 1010 NORMALIZACION Y ESQUEMA DE BIT IMPLICITO  Uno de los problemas existentes es que el mismo número puede representarse de varias maneras. 3584.1 x 100 = 3.5841 x 103 = 0.35841 x 104 Para evitar esta circunstancia se emplean formatos normalizados. La coma se desplaza a la derecha o a la izquierda y se ajusta el exponente en forma coherente con el desplazamiento de la coma hasta ubicarla a la izquierda del digito no nulo mas significativo. En el caso anterior seria = 0.35841 x 104 Esto implica no poder representar el cero. El mismo se representa con una mantisa nula. Si la condición de normalización implica que la mantisa siempre comienza con un uno, este se puede sobrentender y esconder. Ej.: 358 1ro pasarlo a base 16 entero resto 358/16: 22 6 22/16: 1 6 1/6 1 (358)10 = (166)16 (166)16 = (166.0)16 x 160

= (0.166)16 x 163

1. Es + = 0 2. Exponente: 3 y representado en exceso 4.

Page 18: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

18

011 (+3)10

exceso 4 +100 (+4)10 Exponente en exceso 4 111 0 111 , 0001 0110 0110 signo exponente 1 6 6 mantisa La coma no se representa, esto implica que la computadora almacena: 0111 0001 0110 0110 REPRESENTACION DE NUMEROS DE PUNTO FLOTANTE DENTRO DE LA COMPUTADORA  La mantisa se representara en forma de magnitud y signo, con un bit para el signo y tres dígitos hexadecimales (12 bits) como tamaño de la representación. Exponente de 3 bits, expresado en exceso 4 con base 16. Forma normalizada con la coma a la izquierda de los 3 dígitos hexadecimales.

• El signo se almacena en el 1er. Bit de la palabra • El 1er. Bit de la mantisa original es siempre 1 y no necesita almacenarse en el

campo de la mantisa. • Se suma 127 al exponente original para almacenarlo en el campo del exponente. • La base es 2.

La siguiente figura indica el rango de números que pueden representarse con una palabra de 32 bits NOTACION ENTERA EN COMPLEMENTO A DOS  Pueden representarse todos los enteros desde -231 hasta 231 – 1 con un total de 232 números diferentes. Con el ejemplo de coma flotante son posibles los siguientes rangos: Números negativos: -( 1 – 2-24) x 2128 -0.5 x 2-127 Están excluidos

ENTEROS REPRESENTABLES

ENTEROS EN COMPLEMENTO A

DESBORDAMIENTO NEGATIVO

NUMEROS NEGATIVOS REPRESENTA BLES

DESBOR DAMIENTO A CERO NEGATIVO DESBORDAMIEN

TO POSITIVO

NUMEROS POSITIVOS REPRESENTA BLES

DESBORDAMIENTO A CERO POSITIVO

NUMEROS EN COMA FLOTANTE

Page 19: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

19

• Números negativos menores que – (1 – 2-24) x 2128 DESBORDE

NEGATIVO

• Números negativos mayores que – 0.5 x 2-127 DESBORDAMIENTO A CERO NEGATIVO

• El cero

• Números positivos menores que 0.5 x 2-127 DESBORDAMIENTO A

CERO POSITIVO

• Números positivos mayores que (1 – 2-24) x 2128 DESBORDAMIENTO POSITIVO

 Un desbordamiento ocurre cuando una operación aritmética da lugar a un numero cuyo exponente es mayor que 128 (ej. 2120 x 2100 = 2220). Un desbordamiento a cero ocurre cuando una magnitud fraccionaria es demasiado pequeña (ej. 2-120 x 2-100 = 2-220). Los números con coma flotante no están espaciados por igual en la recta de números reales. Hay mas valores en el origen, y esto puede dar lugar a errores al multiplicar números altos.  En el formato de punto fijo la coma decimal esta en una ubicación fija y hay una cantidad de dígitos delante y detrás de la misma. Esto puede implicar palabras de computadora muy largas. Una cifra de billones con una fracción también de millonésimas llevaría al menos 80 bits (40 a la derecha de la coma y 40 a la izquierda). ERRORES EN LA REPRESENTACION DE PUNTO FLOTANTE 

• Tiene precisión finita, eso implica que se debe considerar el tamaño del error. • Por error se considera la distancia entre dos números representables

consecutivos CARACTERIZACION DEL ERROR, EL RANGO Y LA PRECISION  b: base S: cantidad de dígitos significativos (no bits) en la mantisa M: mayor exponente m: menor exponente

Page 20: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

20

• Si la base es diferente a 2, la cantidad de dígitos es diferente a la cantidad de

bits. • Si la base es 2k, siendo k un entero se utilizaran k bits para representar cada

digito

Base 16 : 24 : 4 bits x digito

• Como el exponente es de 3 bits y se representa en exceso 4, esto le asigna al exponente desde -22 hasta 22-1.

Si b : 16 S : 3 M : 3 m: -4 CARACTERISTICAS A CONSIDERAR EN LA REPRESENTACION CON PUNTO FLOTANTE 

• Cual es la cantidad de números que permiten representar. • Cuales son los números de mayor y menor magnitud (fuera del cero). • Cuales son los tamaños de la mayor y menor diferencia entre números

consecutivos. La cantidad de números representados puede expresarse por: 2 x ((M – m) + 1) x (b – 1) x bs-1 + 1 A B C D E Bit de Cantidad de 1er digito de dígitos cero Signo exponentes la mantisa restantes de La mantisa C – 1er digito de la mantisa

• En un formato normalizado puede tomar cualquier valor excepto cero. • Los digitos restantes pueden adoptar cualquiera de los b valores diferentes ( bs-1

en D ). • Si se utiliza un bit implícito debe eliminarse la posición C y esto hace que D sea

reemplazado por bs. • La posición para el cero se considera en E.

Números extremos de la posición planteada Mínimo valor: numero con menor exponente y la menor mantisa normalizada no nula bm x b-1 : bm-1 Máximo valor: mayor mantisa (todos 1) y el máximo exponente bM x ( 1 – b-s).

Page 21: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

21

Diferenca máxima y mínima: Menor diferencia: bm x b-s : b(m-s) Mayor diferencia: bM x b-s : b(M-s)

Ej.: • Bit de signo • Exponente de 2 bits en notación exceso 2. • Mantisa normalizada binaria de 3 bits con el 1er. Uno no visible, no implícito. • Cero : 00 0000

Minimo valor: exponente= -2 Mínima mantisa normalizada: (0.100)2 bm x b-1 : bm-1 : 2-2-1 : 1/8 Maximo valor: bM x (1 – b-5) : 21 x (1 – 2-3) : 7/4 Distancia mas chica Cuando el exponente tiene el menor valor y se produce un cambio en el bit menos significativo de la mantisa. bm x b-5 : bm-5 : 2-2-3 : 1/32 Distancia maxima Con el máximo valor del exponente se altera el bit menos significativo de la mantisa. bM x b-5 : bM-5 : 21-3 : ¼ Debido a la normalización, la cantidad de números validos es menor a la cantidad de combinaciones. : 2 x ((M – m) + 1) x (b – 1) x b5-1 + 1 : 2 x ((1 – (-2) + 1) x (2 – 1) – 23-1 + 1 : 33

• Los intervalos son pequeños para números pequeños y aumentan para números grandes

• El error relativo es aproximadamente el mismo en todo el rango. Ej.: Convertir 9.375 x 10-2 a formato de numeración científica utilizando el sistema binario de numeración. x, yy x 2E 0.09375 x 2 : 0.1875 0.1875 x 2: 0.375

Page 22: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

22

0.375 x 2: 0.75 0.75 x 2: 1.5 0.5 x 2: 1 (0.09375)10 : (0.00011)2

Conversión a representación normalizada de punto flotante 0.00011 : 0.00011 x 20 : 1.1 2-4

 

Page 23: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

23

23 bits 8 bits

Signo (1 bit)

32 bits

Exponente Mantisa

IEEE 754  Es la utilizada habitualmente por todas las arquitecturas modernas. Es un Standard que se desarrollo para facilitar la portabilidad de los programas de un procesador a otro. Es el utilizado en casi todos los procesadores matemáticos actuales Formatos Dos formatos

Simple precisión Doble precisión

A su vez, cada uno de estos admiten dos formatos ampliados (simple y doble) cuya forma exacta depende del procesador en que se utilice. Se los utiliza en cálculos intermedios para disminuir el error. Simple precision

Doble precisión

Signo

• 0 positivo • 1 negativo

Exponente de 8 bits implica exceso 127, exponente de 11 bits implica exceso 1023 Las combinaciones 0000 0000 1111 1111 quedan para casos especiales Mantisa 23 bits pero con un bit implicito 1.fffffff...fff El número se presenta normalizado, a no ser que la estructura los soporte desnormalizados.

52 bits 11 bits

Signo (1 bit)

64 bits

Exponente Mantisa

Page 24: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

24

En la norma se pueden representar 5 tipos de números. Números no nulos De la forma antes mencionada. Admite una representación limpia del cero. Todos 0 en el exponente y 0 en la mantisa. El bit de signo puede ser 1 o 0 (2 representaciones de cero) Infinito Bit de signo 0 o 1 Exponente 1111 1111 Mantisa 0 Se utilizan para manejar situaciones de desborde o para representar un numero dividido por cero. Intervalo entre cero y el 1er. Numero que puede representarse Los números incluidos en este intervalo se resuelven con el “cero sucio” desnormalizado.

• El bit de signo puede ser 0 o 1 • El campo del exponente 0000 0000 (-126) para precisión simple y -1022 para

doble precisión. • En este formato no hay bit implícito.

(b) utiliza el mínimo exponente en simple precisión (c) utiliza el exponente máximo en simple precisión (+127). (d) y (e) son dos representaciones del cero.

Page 25: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

25

(f) +∞ (h) +NaN: Not a number Extendido simple – Extendido doble No son visibles para el usuario, pero se usan internamente para disminuir los errores de redondeo. Les agregan bits al exponente y a la mantisa. Ej. El formato extendido doble tiene 80 bits (15 bits de exponente y 64 para la mantisa). PARAMETROS DEL FORMATO IEEE 754

FORMATO PARAMETRO

SIMPLE SIMPLE AMPLIADO

DOBLE SIMPLE

DOBLE AMPLIADO

Longitud de la palabra (bits) 32 ≥ 43 64 ≥ 79 Longitud del exponente (bits) 8 ≥ 11 11 ≥ 15 Sesgo del exponente 127 Sin

especificar 1023 Sin especificar

Exponente máximo 127 ≥ 1023 1023 ≥16383 Exponente minimo -126 ≤ -1022 -1022 ≤ -16382

Rango de números (base 10) 10-38, 10+38

Sin especificar

10-308

10+308 Sin especificar

Longitud de mantisa (bits) 23 ≥ 31 52 ≥ 63 Numero de exponentes 254 Sin

especificar 2046 Sin especificar

Numero de fracciones o mantisas 223 Sin especificar 252 Sin especificar

Numero de valores 1.98x231 Sin especificar 1.98x263 Sin especificar

CASO MISIL PATRIOT De acuerdo al gobierno de EE.UU, la pérdida de precisión al convertir un número integrado de 24 bits en un numero de punto flotante de 24 bits fue el responsable por la falla del misil Patriot.

Page 26: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

26

CODIGOS ALFANUMERICOS  ASCII EBCDIC

UNICODE

ASCII American Standard Code for Information Exchange Son 7 bits x caracter, lo que implica 128 caracteres validos 00 – 1F y 7F son caracteres de control La tabla de valores tiene un ordenamiento especial

• Para obtener el valor decimal de un digito se debe restar (30)16 a la representación ASCII del mismo.

5 es (35)16 - (30)16 = 5 o lo que es lo mismo (35 – 30 = 5)16

• Para convertir una letra mayúscula en minúscula se le suma (20)16

H es (48)16 y eso implica ( 48 + 20 = 68 )16 = (68)16 = h

Page 27: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

27

EBCDIC

• El problema con el ASCII es la poca cantidad de caracteres que puede manejar, especialmente caracteres especiales.

• El EBCDIC (Extended Binary Coded Decimal Interchange Code) es básicamente utilizado por IBM pero es compatible con el ASCII

Page 28: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

28

UNICODE El ASCII y el EBCDIC manejan básicamente caracteres latinos, por lo que para poder manejar otros idiomas se creo el UNICODE.

• Es una norma en desarrollo que se modifica a medida que se incorporan los símbolos correspondientes a caracteres nuevos.

• La versión 2.0 puede representar 38.855 caracteres diferentes. • Utiliza un conjunto de caracteres de 16 bits. • Es en realidad un subconjunto del UCS-4 : Conjunto Universal de Caracteres

ISO 10646 de 32 bits de palabra.

Page 29: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

29

ARITMETICA  SUMA Y RESTA EN PUNTO FIJO  El enfoque se orienta hacia las operaciones en complemento a dos por ser esta forma casi universal. SUMA Y RESTA EN LA REPRESENTACION DE COMPLEMENTO A DOS  a – b = a + ( - b) El correspondiente negativo de un número se puede obtener por medio de su complemento, por lo que una resta se puede realizar como la suma de su complemento. Lo que se debe hacer cuando se sumen números en representación de complemento es modificar la interpretación de los resultados de la suma. 0000 1010 (+10)10 + 0001 0111 (+23)10 0010 0001 (+33)10 De igual forma se pueden sumar números de signos opuestos. 0000 0101 (+5)10 + 1111 1110 (-2)10

1 arrastre a descartar (1) 0000 0011 (+3)10 Cuando se suman dos números representados en complemento dos se debe descartar el arrastre producido por la suma en la posición mas significativa. Ídem cuando hay arrastre en la suma de dos números negativos. 1111 1111 (-1)10 + 1111 1100 (-4)10 arrastre a descartar (1) 1111 1011 (-5)10

DESBORDE   Cuando se suman dos números de igual signo. Se producirá desborde si el resultado es demasiado grande con la cantidad de bits utilizados para representar los operandos. 0101 0000 (+80)10 + 0011 0010 (+50)10

1 Recordar 2 → 0000 0010 Complemento 1 de 2 → 1111 1101 + 1 Complemento 2 de 2 1111 1110

Page 30: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

30

1000 0010 (-126)10 Cuando se suman dos números de diferente signo no puede haber desborde. REGLA Si los números que se suman tienen el mismo signo y el resultado tiene signo opuesto, se ha producido desborde por lo que el resultado es incorrecto Si los números que se suman son de signo opuesto, no hay posibilidades de desborde. METODO ALTERNATIVO Para detectar desborde en la suma hay que saber que se produce si y solo si el arrastre que se ingresa hacia el bit de signo difiere del bit de arrastre que sale de dicho bit. DIAGRAMA DE BLOQUES DEL HARDWARE PARA LA SUMA Y RESTA El elemento central es un sumador binario, al que se le presentan los números a sumar y restar, y produce una suma y un indicador de desbordamiento. El sumador binario trata los dos números como binarios sin signo. Para sumar, los números se presentan al sumador desde dos registros (A y B). El resultado es normalmente almacenado en uno de estos registros o en un tercero. La indicación de desbordamiento se almacena en un indicador (o biestable) de desbordamiento (OF: Overflow flag) de 1 bit (0 = desbordamiento, 1= desbordamiento). Para la resta, el substraendo (registro B) se pasa a través de un complementador que presenta su salida al sumador.

IMPLEMENTACION CIRCUITAL DE SUMADORES Y RESTADORES SUMADORES Y RESTADORES EN SERIE (RIPPLE CARRY ADDER) FIG. 3.2 – SALE DEL APENDICE A. VER PAGINA 469 FALTA LA IMPLEMENTACION CIRCUITAL PAG. 65 SUMA Y RESTA EN REPRESENTACION DE COMPLEMENTO A UNO No es muy utilizado en la actualidad, pero si en las primeras computadoras OF: Bit de desborde

SW: Conmutador (selecciona Suma o Resta)

Page 31: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

31

El bit de arrastre que se genera a partir de la posición mas significativa no se descarta sino que se vuelve a sumar con la posición menos significativa (se denomina ARRASTRE CIRCULAR FINAL). 10011 (-12)10 + 01101 (+13)10

(1) 00000 + 00001 00001 (+1)10

Se suma el número porque en este caso hay dos representaciones para el cero (000 y 111) y el agregado del bit de arrastre a la columna de las unidades desplaza en 1 el resultado final para salvar esta situación. LA DISTANCIA ENTRE +0 Y -0 ES LA DISTANCIA ENTRE DOS ENTEROS EL HECHO DE QUE ESXISTAN DOS REPRESENTACIONES PARA EL CERO ES UNA DE LAS RAZONES PARA QUE EL SISTEMA NO SE UTILICE

Page 32: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

32

PRODUCTO Y COCIENTE EN PUNTO FIJO MULTIPLICACION DE NUMEROS SIN SIGNO Es similar a la realizada manualmente para los numeros decimales 1101 (13)10 MULTIPLICANDO M x 1011 (11)10 MULTIPLICADOR Q 1101 1101 0000 1111 PRODUCTO P 1 0000111 (143)10

Cada bit del multiplicador determina el desplazamiento a la izquierda Cuando se multiplican dos numeros signados de n bits el resultado esta formado por:

2 (n-1) + 1 = 2n – 1 bits signo

DIAGRAMA DE FLUJO PARA LA MULTIPLICACION DE BINARIOS SIN SIGNO

Page 33: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

33

IMPLEMENTACION CIRCUITAL  Ej. Unidad multiplicadora de 4 bits PASOS

• A y C se limpian • M y Q contienen el multiplicando y el multiplicador • El bit menos significativo de Q es 1 por lo que M se suma con A • Los registros A y Q se desplazan a la derecha • Los registros A y Q se vinculan como un par para contener el producto de 8 bits,

el bit menos significativo de A se desplaza hacia la posición mas significativa de Q y el bit menos significativo de Q se descarta.

• C se desplaza hacia la posición mas significativa de A y se inserta un cero en C • El proceso continua durante tantos pasos como bits tenga el multiplicador.

 

4 bits – 4 pasos

1 2

3 4

Lógica de control para suma y desplazamiento

suma

Desplazamiento a la derecha

Page 34: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

34

 PRIMERO SUMA Y DESPUES HACE EL SHIFT    

Page 35: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

35

DIVISION SIN SIGNO  En la división binaria se debe intentar reiteradamente la resta del dividendo menos el divisor, usando la menor cantidad de bits posibles en el dividendo. Ej. 42:6 = 7

• Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismo numero de cifras (101 entre 110 por ejemplo). Si no puede dividirse, se intenta la división tomando un digito más (1010 entre 110).

• Si la división es posible, entonces el divisor solo podrá estar contenido una vez en el dividendo, es decir que la primera cifra del cociente es 1.

• En este caso el resultado de multiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo del divisor y bajamos la cifra siguiente.

• El sistema continúa de igual forma que en el sistema decimal. La división se maneja en forma similar a la que se utiliza para el producto de los enteros binarios con la dificultad de ver si el dividendo cabe o no en el divisor. En el algoritmo de división, en lugar de desplazar el producto a la izquierda como en el producto, se desplaza el cociente a la izquierda, y se resta en lugar de sumar. Cuando se dividen dos números sin signo de n bits, el resultado no puede tener más de n bits. IMPLEMENTACION CIRCUITAL  En la figura se muestra una unidad divisora para un número de 4 bits.

• Se utilizan registros de 5 bits para A y M (en lugar de 4) porque se requiere un bit adicional para indicar el signo de los resultados intermedios.

Logica de control para suma, resta y desplazamiento

Desplazamiento a la izquierda

Page 36: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

36

• Si bien este método es para números sin signo, como se utilizan restas en el proceso, podrían existir números negativos.

• Para dividir dos números de 4 bits, se almacena el dividendo en el registro Q y el divisor en el registro M, en tanto que el registro A y el bit mas significativo de M se cargan con 0.

• El bit más significativo del registro A determina en cada paso si el divisor debe volver a sumarse al dividendo.

• Se habla de una división con reposición porque en los casos en que el resto es negativo, se debe restaurar el dividendo a su valor anterior.

• Cuando el resultado no es negativo, el bit menos significativo de Q se lleva a 1 para indicar que el divisor cabe en el dividendo.

  PROCESO DE DIVISION 

• El registro A y el bit mas significativo de M se llevan a cero. • Q ( dividendo) y los bits menos significativos de M se cargan con el dividendo y

el divisor respectivamente. • Los registros A y Q se desplazan en conjunto a la izquierda, y se resta el divisor

M de A. • Como el resultado es negativo, el divisor se vuelve a sumar para reponer el

dividendo y q0 se carga con 0. • El proceso se repite, desplazando A y Q a la izquierda y restando M de A. • Nuevamente se obtiene un resultado negativo, por lo que se vuelve a reponer el

dividendo y se coloca un 0 en q0.

• El proceso se repite una vez mas para realizar una iteracción final en la que nuevamente A y Q se desplazan a la izquierda, y M se resta de A, lo que vuelve a dar un resultado negativo.

• Se repone el dividendo y se carga un 0 en q0. • El cociente queda contenido en el registro Q y en el A se coloca el resto.

Page 37: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

37

            Recordar que  el proceso de resta es: 1 – 0: 1 10 – 1: 01 1 – 1 : 0 0 – 0 : 0               PRODUCTO Y COCIENTE SIGNADOS  Si se aplica el producto y cociente a números con signos, pueden surgir problemas.

RESTO COCIENTE

DIVIDENDO Q

Page 38: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

38

Ej. (-1) x (+1) = (+15) en lugar de (-1) Esto sucede porque el bit de signo no se extendió hacia la izquierda del resultado Esto no es problema cuando el resultado es + dado que los bits de mayor peso adoptan el valor 0. Como técnica general, la solución consiste en convertir ambos operandos a su forma positiva, realizar la operación y finalmente convertir el resultado a su signo correcto

1111 (-1)10 1111 1111 (-1)10 x 0001 (+1)10 x 0001 (+1)10 1111 1111 1111 0000 0000 000 0000 0000 00 0000 0000 00 00001111 (+15)10 1111 1111 (-1)10 En la figura anterior se utiliza otra aproximación en la que cada uno de los productos parciales se extiende a todo lo ancho de la palabra resultado, reteniéndose solo los bits menos significativos de dicho resultado. Si ambos operandos son negativos, se extienden ambos signos, nuevamente reteniéndose solo los 8 bits menos significativos del resultado.

Page 39: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

39

ARITMETICA DE PUNTO FLOTANTE  Es similar a la de punto fijo, aunque hay que tener especial cuidado con las características propias de dicho tipo de representación. En sumas y restas hay que asegurarse que ambos operandos tengan el mismo exponente Los inconvenientes que se pueden presentar en estas operaciones son: Desbordamiento del exponente: un exponente positivo que excede el valor del exponente máximo posible. Desbordamiento a cero del exponente: exponente negativo menor que el mínimo valor posible, con lo cual podría ser considerado como 0. Desbordamiento a cero de la mantisa: cuando en el proceso de alineación o ajuste de la mantisa se pierden dígitos por la parte derecha de la misma, lo cual implica algún tipo de redondeo. Desbordamiento de la mantisa: cuando la suma de dos mantisas del mismo signo produce un acarreo procedente del bit mas significativo.

Page 40: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

40

SUMA Y RESTA EN FORMATO DE PUNTO FLOTANTE  Difieren de las de punto fijo en que no solo hay que considerar la magnitud de los operandos, sino también el que se le da a los exponentes. LOS EXPONENTES DEBEN SER IGUALES PARA PODER SUMAR O RESTAR. Se suman o restan las mantisas según corresponda y se completa la operación normalizando el resultado. ATENCION: Los procesos de ajuste de la parte fraccionaria y el redondeo del resultado pueden llevar a una perdida de precisión. Ej.: (0,101 x 23) + (0,111 x 24) Donde las mantisas se representan con tres dígitos representativos.

0,101 x 23 = 0,0101 x 24

(0,010 x 24) + ( 0,111 x 24) = 1,0001 x 24 = 0,100 x 25

Tenemos dos perdidas de precisión

0,0001 x 24 y 0,0001 x 25 = 0,0011 x 25

La ventaja del formato de punto flotante que contiene un bit de signo seguido por un exponente de notación excedida seguido por la magnitud de la mantisa es que permite la realización de comparaciones entre dos números de punto flotante por mayor, menor o igual sin necesidad de desempaquetar los números.

Page 41: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

41

PRODUCTO Y COCIENTE EN FORMATO DE PUNTO FLOTANTE  Se resuelve en forma similar a la de la suma y la resta en punto flotante, excepto que tanto el signo como el exponente y la mantisa del resultado se pueden calcular por separado. Si los operandos tienen el mismo signo el resultado es (+). Distintos signos producen resultados (-). PRODUCTO  Ej. Considerese mantisa de 3 bits.

( + 0,101 x 22) x (- 0.110 x 2-3) Como los signos difieren, tendrá resultado negativo.

1. Resta de exponentes: +2+(-3)=-1 2. Multiplicación de mantisas 0.01111 (0.1111 x 2-1) 3. Normalizando -0.111 x 2-2

              COCIENTE 

(+ 0.110 X 25) / (+ 0.100 X 24) con mantisa de 3 bits Como tienen igual signo el resultado es +

1. Se restan los exponentes 5-4=1 2. Se dividen las mantisas. Si las tratamos como enteros no signados seria

110/100=1 con RESTO 10

Page 42: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

42

3. Como no queremos un cociente y un resto, escalamos el dividendo dos posiciones a la izquierda 11000/100=110.

4. El resultado se escala dos posiciones a la derecha para mantener el factor de escala original (1.1) que luego de la normalización se convierte en (+ 0.110 x 22).

ESTÁNDAR DEL IEEE PARA LA ARITMETICA BINARIA CON COMA FLOTANTE Se deberán tener en cuenta no solo el redondeo sino los casos específicos de

• INFINITO • NaN (Not a Number) • NUMEROS DESNORMALIZADOS

INFINITO Las operaciones con infinito son tratadas como casos limites de la aritmetica, ya que

-∞ < (todo numero finito) > +∞ Cualquier número sumado o multiplicado por ∞ será ∞, y cualquier numero dividido por el mismo, ser 0 NaN Es una entidad simbólica codificada en formato de coma flotante. Si el mismo aparece como operando, significa que la operación no es valida. Si no permiten representar valores de variables no inicializadas o tratamientos aritméticos no contemplados en el estándar. NUMEROS DESNORMALIZADOS Cuando el resultado del exponente de un numero es demasiado pequeño (un exponente negativo con magnitud muy grande) el resultado se desnormaliza desplazando a la

Page 43: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

43

derecha la parte fraccionaria e incrementando el exponente a cada desplazamiento hasta que dicho exponente este en un rango representable.

Page 44: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

44

ARITMETICA DE ALTO RENDIMIENTO La velocidad con que se realizan las operaciones es el cuello de botella en el rendimiento de una computadora SUMA DE ALTO RENDIMIENTO  El proceso de sumar en si es relativamente rápido (el circuito posee una lógica de solo dos niveles), pero la propagación del arrastre demora un tiempo largo en recorrer el circuito. El tiempo de propagación es proporcional a la cantidad de bits del operando. El aumento de la cantidad de dígitos significativos en una suma se traduce en un mayor requerimiento de tiempo para realizar la suma. Un método para mejorar esta situación se conoce como SUMADOR CON ARRASTRE ANTICIPADO ( Carry lookahead aadder). PRODUCTO DE ALTO RENDIMIENTO  ALGORITMO DE BOOTH Trata a los números positivos y negativos de la misma forma. Se basa en que cuando en el multiplicador existen secuencias de ceros o unos, no se requieren sumas sino solo desplazamientos. Las sumas o las restas se llevan a cabo en los limites de las secuencias donde se detectan transiciones de 0 a 1 o de 1 a 0. EL ALGORITMO DE BOOTH REALIZA UNA RESTA CUANDO SE ENCUENTRA EL PRIMER 1 DEL BLOQUE (1-0) Y UNA SUMA CUANDO LO ENCUENTRA EN EL FINAL DEL BLOQUE (0-1) Una secuencia de unos en el multiplicador , ubicada entre las posiciones de pesos 2u a 2v puede considerarse como 2u+1 – 2v Ejemplo Multiplicador : 001110 (+14), u = 3 y v = 1, por lo que 24 – 21 = 14 TIENE EN CUENTA LA POSICION DE LA RAFAGA DE UNOS, SUS POSICIONES DE COMIENZO Y DE FINAL. En la implementación circuital se analiza el multiplicador de derecha a izquierda. La primera transición que se detecta es un cambio de 0 a 1, lo que requiere la resta del valor inicial (0) menos 21. En la transición siguiente, de 1 a 0, se suma 24, lo que da por resultado +14. (Se debe agregar un 0 agregado a la derecha del multiplicador con el objeto de definir la situación en el caso de que aparezca un 1 como digito menos significativo del mismo.) Si el multiplicador se codifica de acuerdo al algoritmo de BOOTH, el proceso de multiplicación puede llegar a requerir menos pasos. Ejemplo:

Page 45: ARQUITECTURA DE COMPUTADORAS I Prof. … Logica digital I.6d.pdf · Para convertir un número en el sistema decimal ... Conversión de octal a binario CONVERSIÓN DE UN NUMERO DECIMAL

45

El multiplicador (14)10 contiene tres unos consecutivos, lo que implica, si se usara el procedimiento de multiplicar con sumas y restas la necesidad de tres operaciones de suma. El multiplicador codificado según BOOTH se obtiene analizando el multiplicador original de derecha a izquierda, colocando un -1 en la primera posición que se encuentre un 1, y un +1 en la posición que aparezca el siguiente 0. El multiplicador se convierte asi en 0 + 100 – 1 0. Este multiplicador codificado solo contiene dos posiciones no nulas, lo que significa que habrá que realizar una unida suma y una única resta, por lo que se logra una reducción en el tiempo para realizar el producto. Tener en cuenta que la operación que realizo en primer termino fue: Cuando hace (-21 x 2)10 efectua-21 : 111111 010101 12 posiciones: 2 pos. de 6 2: 111111 010111

00000 000010

Y lo mismo al multiplicar por 16 DIVISION DE ALTO RENDIMIENTO  Utiliza la misma metodología de la división de números enteros sin signo. En el caso de una división a/b, y para que parezcan enteros, la idea es escalar a y b, realizar el proceso de división y luego volver a escalar el cociente para que se corresponda con el resultado correcto de la división a por b.