You are on page 1of 13

captulo 1 del libro Organizacin y Arquitectura de Computadores, William Stallings Sptima edicin, conteste: 1. En qu consiste la organizacin y la arquitectura de computadores?

? En cuanto a lo que es organizacin de computadores se refiere a las unidades funcionales y sus interconexiones que dan lugar a especificaciones arquitectnicas y lo que es arquitectura se refiere a los atributos de un sistema que son visibles a un programador o lo que es decir aquellos atributos que tienen un impacto directo en la ejecucin lgica de un programa. 2. En qu consiste la estructura y funcionamiento de un computador? La estructura es el modo en que los componentes estn interrelacionados y el funcionamiento consiste en la operacin de cada componente individual como parte de la estructura. 3. Enumere y describa cules son las 4 funciones bsicas de un computador. * Procesamiento de datos: se dice que un computador tiene que ser capaz de procesar datos, los datos pueden adoptar una gran variedad de formas y el rango de los requisitos de procesado es amplio. * Almacenamiento de datos, es esencial que un computador almacene datos, debe de guardar datos a corto plazo y a largo plazo y adems debe de almacenar ficheros de datos para que se recuperen y actualicen en un futuro. * Transferencia de datos, un computador debe de transmitir datos entre el mismo y el mundo externo, el entorno de operacin del computador se compone de dispositivos que sirven bien como fuente o como destino. * Control, para las tres funciones anteriores debe de existir un control que es ejercido por los entes que proporcionan al computador instrucciones, gestiona los recursos del computador y dirige los prestaciones de sus aportes funcionales en respuesta a estas instrucciones. 4. Enumere y describa cules son las 4 partes bsicas de la estructura de un computador. Realice un dibujo de la estructura superior. * Unidad Central de Procesamiento (CPU), controla el funcionamiento del computador y lleva a cabo sus funciones de procesamiento de datos. * Memoria principal, es la que almacena los datos. * E/S es donde se transfiere datos entre el computador y el entorno externo. * Sistema de interconexin, es un mecanismo que proporciona la comunicacin entre el CPU la memoria principal y la E/S. 5Dibuje la estructura de la Unidad Central de Procesamiento y describa de forma general los principales componentes de la misma. * Unidad de control, controla el funcionamiento de la CPU, y computador. * Unidad Aritmtica lgica (ALU) lleva a cabo las funciones de procesamiento de datos del computador. * Registros, proporcionan almacenamiento interno a la CPU. * Interconexiones CPU son mecanismos que proporcionan comunicacin entra la unidad de control, la ALU y los registros. 6. Realice un breve comentario acerca de la siguiente cita realizada por el IEEE/ACM:

Para ampliar lo citado por IEEE/ACM, comento que el computador fue, es y ser uno de los sistemas principales y utilizando la frase que ellos mencionan el corazn de la informtica que en base a este se han desarrollado muchos otros sistemas para facilitar las funciones del ser humano y da con da se van desarrollando nuevos sistemas y mayores avances tecnolgicos, es por este que para m es primordial tener un amplio conocimiento de cmo funciona este y de la importancia que tiene para la informtica ya que es una herramienta con la que se trabaja el da a da Captulo 9. Aritmtica del computador. CONTENIDOS. 9.1. La unidad aritmtico-lgica 9.2. Representacin de enteros Representacin en signo y magnitud Representacin en complemento a dos Conversiones entre longitudes de bits diferentes 9.3. Aritmtica con enteros Negacin Suma y resta Multiplicacin Divisin 9.4. Representacin en coma flotante Fundamentos Estndar del IEEE para la representacin binaria en coma flotante 9.5. Aritmtica en coma flotante Suma y resta Multiplicacin y divisin Consideraciones sobre precisin Estndar IEEE para la aritmtica binaria en coma flotante 9.1 LA UNIDAD ARITMICO-LGICA(ALU) La ALU es la parte del computador que realiza realmente las operaciones aritmticas y lgicas con los datos. El resto de los elementos del computador (unidad de control, registros, memoria, E/S) estn principalmente para suministrar datos a la ALU, a fin de que esta los procese y para recuperar los resultados. Con la ALU llegamos al estudio de lo que puede considerarse el ncleo esencial del computador. Una unidad aritmtico-lgica y en realidad todos los componentes electrnicos del computador, se basan en el uso de dispositivos lgicos digitales sencillos que pueden almacenar dgitos binarios y realizar operaciones lgicas booleanas elementales. Los datos se presentan a la ALU en registros, y en registros se almacenan los resultados de las operaciones producidos, por la ALU. Estos registros son posiciones de memoria temporal internas al

procesador que estn conectados a la ALU. La ALU puede tambin activar indicadores (flags) como resultado de una operacin. Los valores de los indicadores se almacenan tambin en otro registro dentro del procesador. La unidad de control proporciona las seales que gobiernan el funcionamiento de la ALU y la transferencia de datos dentro y fuera de la ALU. 9.2 REPRESENTACIN DE ENTEROS En el sistema de numeracin binaria, cualquier nmero puede representarse tan solo con los dgitos 1 y 0. El signo menos, y la coma de la base (que separa la parte entera del decimal). Por ejemplo: -1101,01012 = -13,312510 Sin embargo para ser almacenados y procesados por un computador no se tiene la posibilidad de disponer del signo y de la coma. Para representar los nmeros solo pueden utilizarse dgitos 0 y 1. Si utilizamos solo enteros no negativos, su representacin sera inmediata. Una palabra de 8 bits puede representar nmeros desde 0 hasta 255. Entre los que se encuentran: 00000000 = 0 00000001 = 1 00101001 = 41 10000000 = 128 11111111 = 255 REPRESENTACIN EN SIGNO Y MAGNITUD. Existen varias convenciones alternativas para representar nmeros enteros tanto positivos como negativos. Todas ellas implican tratar el bit ms significativo (el ms a la izquierda) de la palabra como un bit de signo: si dicho bit es 0 el nmero es positivo, y si es 1, el nmero es negativo. La forma ms sencilla de representacin que emplea un bit de signo es la denominada representacin signo-magnitud. En una palabra de n bits, los n-1 bits de la derecha representan la magnitud del entero. Por ejemplo: +18 = 00010010 -18 = 10010010 (signo - magnitud) El caso general puede expresarse como sigue: La representacin signo-magnitud posee varias limitaciones. Una de ellas es que la suma y la resta requieren tener en cuenta tanto los signos de los nmeros como sus magnitudes relativas para llevar a cabo la operacin en cuestin. Otra limitacin es que hay dos representaciones del nmero 0. +010 = 00000000 -010 = 10000000 Esto es un inconveniente porque es algo ms difcil comprobar el valor 0 (una operacin frecuentemente en los computadores) que si hubiera una sola representacin. Debido a estas limitaciones raramente se usa la representacin en signo - magnitud para implementar en la ALU las operaciones con enteros. En su lugar, el esquema ms comn es la representacin en complemento a dos. REPRESENTACIN EN COMPLEMENTO A DOS Al igual que la de signo-magnitud, la representacin en complemento a dos utiliza el bit ms

significativo como bit de signo, facilitando la comprobacin de si el entero es positivo o negativo. Difiere de la representacin signo-magnitud en la forma de interpretar los bits restantes. La mayora de los tratados sobre representacin en complemento a dos se centran en las reglas para la obtencin de los nmeros negativos, sin pruebas formales de que el esquema utilizado <<funcione>>. La representacin en complemento a dos se entiende mejor definindola en trminos de una suma ponderada de bits. Consideremos un entero de n bits, A, representado en complemento a dos. Si A es positivo, el bit de signo, an-1 es cero. Los restantes bits representan la magnitud del nmero de la misma forma que la representacin signo-magnitud. El nmero cero se identifica como positivo y tiene por tanto un bit de signo 0 y una magnitud de todo ceros. Podemos ver que el rango de los enteros positivos que pueden representarse es desde 0 (todos los bits de magnitud son 0) hasta 2n-1 (todos los bits de magnitud a 1). Cualquier nmero mayor requerira mas bits. Ahora para un nmero negativo A(A < 0), el bit de signo, an-1, es 1. Los n-1 bits restantes pueden tomar cualquiera de las 2n-1 combinaciones. Por lo tanto, el rango de los enteros negativos que pueden representarse es desde -1 hasta -2n-1. Sera deseable asignar los bits de los enteros negativos de tal manera que su manipulacin aritmtica pueda efectuarse de una forma directa, similar a la de los enteros sin signo. En la representacin sin signo, para calcular el valor de un entero a partir de su expresin en bits, el peso del bit ms significativo es +2n-1 Complemento a dos.

Para los enteros positivos an-1 = 0 de forma que el trmino -2n-1 = 0. As pues, la ecuacin anterior define la representacin de en complemento a dos, tanto para los nmeros positivos como los negativos. La tabla siguiente compara, para enteros de cuatro bits, las representaciones en signo-magnitud y en complemento a dos. Veremos que la representacin en complemento a dos, aunque nos pueda resultar engorrosa, facilita las operaciones aritmticas ms importantes, la suma y la resta. Por esta razn, es utilizada casi universalmente como representacin de los enteros en los procesadores. CONVERSIN ENTRE LONGITUDES DE BITS DIFERENTES A veces se desea tomar un entero de n bits y almacenarlo en m bits, siendo m > n. Esto se resuelve fcilmente en la notacin signo magnitud: simplemente traslado el bit de signo hasta la nueva posicin ms a la izquierda y rellenando con ceros. Este procedimiento no funciona con los enteros negativos en complemento a dos. Utilizando el mismo ejemplo: En su lugar, la regla para los enteros en complemento a dos es trasladar el bit de signo a la nueva posicin ms a la izquierda y completar con copias del bit de signo. Para nmeros positivos, rellenar con ceros, y para negativos con unos. As pues se tiene: 9.3 Representacin de la negacin Magnitud con signo En esta notacin, el nmero consiste en una magnitud y un smbolo ( + o - ) o un bit ( 0 o 1 ) que indica el signo, esta es la representacin de nmeros con signo que se emplea en la aritmtica ordinaria.

Ejemplo: Representacin del nmero 9 con signo: 01001 se considera como 9 (binario sin signo) o +9 (binario con signo). 11001 representa el equivalente binario de 25 cuando se le considera un nmero sin signo, o -9 cuando se le considera un nmero con signo. Complemento A1 Complementar.- transformar los 1s a 0s o viceversa. Ejemplo: obtener el complemento a1 de 9 . 9 = 1001 A1= 0110 Complemento A2 Sumar 1 al complemento A1 A2 = A1+1 0110 +1 ___________ A2 = 0111 Casos especiales: * El 0. Sacar el complemento A2 de 0, con 4 bits 0 = 0000 A1= 1111 +1 _________ A2= 10000 * El ms negativo.- Si hacemos el complemento A2 en un numero binario, 1 seguido de n-1 ceros (2, 4, 8, 16, 32,. O 2n) se obtiene de nuevo el mismo nmero. 128 = 10000000 A1= 01111111 +1 _____________ A2= 10000000 Operaciones con nmeros binarios Suma Binaria Para sumar nmeros binarios, seguimos las reglas utilizadas para la suma de nmeros decimales. La nica diferencia es que, como el sistema binario consta de dos caracteres, la reagrupacin de los nmeros es ms corta. 0+0=0 0+1=1 1+0=1 1 + 1 = 10* 0+0=0 0+1=1 1+0=1 1 + 1 = 10*

Existen cuatro posibles combinaciones en la suma de binarios: *Esta suma conlleva reagrupacin ya que ha alcanzado el primer punto de rompimiento. Procedimiento 1 Si la cantidad de unos es par el resultado es 0 y se lleva un 1. 2. La cantidad de unos a llevar debe corresponder a los pares de unos sumados. Resta Binaria Para restar nmeros binarios, se tiene en cuenta la siguiente tabla: Mtodo Estndar Cuando se presenta una resta 0-1, se presta del primer dgito no-cero a la izquierda, donde cada cero que interviene se convierte en 10, donde: 10-1=1 Mtodo de Complemento a uno 1. Se elige el sustraendo y se halla el complemento (invertir los unos por ceros) 2. Luego se suma ese complemento al Minuendo 3. A ese resultado se le suma 1, sin tener en cuenta el primer digito de la izquierda. Desbordamientos La suma se efecta igual que si los nmeros fuesen enteros sin signo. Si el resultado de la operacin es positivo, se obtiene un nmero positivo en complemento A2 que tiene la misma forma como entero sin signo. Si el resultado de la operacin es negativo obtenemos un nmero negativo en forma de complemento A2. En cualquier suma, el resultado puede que sea mayor que el permitido por la longitud de palabra que se esta utilizando, esta condicin se denomina desbordamiento. Cuando ocurre un desbordamiento la ALU debe indicarlo para que no se intente utilizar el resultado obtenido. Para detectar el desbordamiento se debe observar la siguiente regla Regla del desbordamiento Si al sumar dos nmeros y ambos son o bien positivos o negativos se produce desbordamiento si y solo si, el resultado tiene signo opuesto. Ejemplos: El desbordamiento puede ocurrir habindose producido o no un acarreo As mismo la resta se trata tambin fcilmente con la siguiente regla Regla de la resta Para restar un numero (el sustraendo) del otro (minuendo), se obtiene el complemento A2 del sustraendo y se le suma al minuendo. Por lo que el desbordamiento slo puede ocurrir cuando el minuendo y el sustraendo tienen signos diferentes. Ejemplo: Restamos -6 de +9. +9 = 0 1001 -6 => +6 = 00110 A1= 11001 +1 _______ A2= 11010 = -6

+9 = 0 1001 -6 = 1 1010 A2= 1 0011 Diagrama de bloques del hardware para la suma y la resta El elemento central es un sumador binario al que se representan los nmeros a sumar desde los registros A y B, y produce una suma; y un indicador de desbordamiento. El sumador binario trata a los dos nmeros como enteros sin signo. El resultado es almacenado en uno de los registros A o B en lugar de un tercero. La indicacin de desbordamiento se almacena en un indicador o bi-estable de desbordamiento (OF overflow) de in bit (0 =no desbordamiento y 1= desbordamiento), para la resta el sustraendo (registro B) pasa a travs de un complementador de manera que el valor se presenta al sumador sea el complemento a dos de B A A Multiplicacin Binaria 1. Se multiplica cada digito del multiplicador por el multiplicando. 2. Luego se suman los resultados. Multiplicacin de binarios sin signo El multiplicador y el multiplicando estn ubicados en dos registros(Q y M). Un tercer registro un registro A es necesario y es inicialmente puesto en 0m, hay tambin un registro C de un bit inicializado en 0 que retiene los posibles bits de acarreo resultante de las sumas. La lgica del controlador lee uno por uno los bits del multiplicador, si Q(0) es uno, se suma el multiplicando al registro A y el resultado es almacenado en el registro A, utilizando el bit C para el acarreo, entonces se desplazan todos los bits de los registros, C, A y Q una posicin a la derecha. Si Q(0) es cero, no se realiza la suma, solo el desplazamiento, el procedimiento se repite para cada bit del multiplicador del original, el resultado queda en los registros A y Q MULTIPLICACION EN COMPLEMENTO A DOS. Hemos visto que la suma y la resta pueden realizarse con nmeros en notacin de complemento a dos, tratndolos como enteros sin signo. Consideremos: 1001 + 0011 1100 Si estos nmeros se interpretan como enteros sin signo, estamos sumando 9(1001) mas 3 (0011) para obtener 12 (1100). Como enteros a complemento a dos, estamos sumando -7 (1001) a 3 (0011) para obtener -4 (1100). Desafortunadamente el esquema no es correcto para la multiplicacin, para verlo debemos considerar la figura siguiente. Multiplicamos 11(1011) por 13 (1101) para obtener 143 (10001111). Si interpretamos estos como nmeros en complemento a dos, tendramos -5 (1011) por -3 (1101) igual a -113 (10001111). Este ejemplo demuestra que la multiplicacin directa no es adecuada si tanto el multiplicando como el

multiplicador son negativos. De hecho, tampoco lo es si alguno de los dos es negativo. Para explicar este comportamiento necesitamos volver sobre la Fig. 9.7 y explicar lo que se esta haciendo en trminos de operaciones con potencias de 2. Recuerde que cualquier nmero binario sin signo puede expresarse como suma de potencias de 2. Por tanto: 1101 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 23+22+26 Adems, el producto de un nmero binario por 2^ se obtiene desplazando dicho nmero n bits hacia la izquierda. Teniendo esto es mente, la Figura 9.10 reestructura la Figura 9.7 para hacer la generacin de productos parciales mediante multiplicacin explcita. La nica diferencia en la Fig. 9.10 es que reconoce que los productos parciales deberan verse como nmero de 2n bits generados a partir del multiplicando de n bits. As pues, el multiplicando de cuatro bits 1011, como entero sin signo, es almacenado en una palabra de ocho bits como 00001011. Cada producto parcial (distinto del correspondiente a 20) consiste en dicho nmero desplazado a la izquierda, con las posiciones de la derecha rellenadas con ceros (por ejemplo, un desplazamiento a la izquierda en dos posiciones produce 00101100). Ahora podemos demostrar como la multiplicacin directa no es correcta si el multiplicando es negativo. El problema es que cada contribucin del multiplicando negativo como producto parcial tiene que ser un nmero negativo en un campo de 2n bits, los bits de signo de los productos parciales deben estar alineados. Esto se demuestra en la Fig. 9.11 que demuestra el producto de 1001 por 0011. Si estos se tratan como enteros sin signo se realiza el producto 9 x 3 = 27. Sin embargo, si 1001 se interpreta en complemento a dos como -7, cada producto parcial debe ser una nmero negativo en complemento a dos de 2n (es decir, ocho) bits, como muestra la Fig. 9.11b. Obsrvese que eso podra hacerse rellenando la parte izquierda de cada producto parcial con unos. Hay varia maneras de salir de este dilema. Una sera convertir tanto el multiplicando como el multiplicador en nmeros positivos, realizar el producto y despus obtener el complemento a dos del resultado si y solo si el signo de los nmeros iniciales difiere. Los diseadores han preferido utilizar tcnicas que no requieren esta etapa de transformacin final. Una de las tcnicas ms comunes es el algoritmo de Booth. Este algoritmo tiene la ventaja adicional de acelerar el proceso de la multiplicacin con respecto a una aproximacin ms directa. El algoritmo de Booth se ilustra en la figura 9.12 y puede describirse como sigue. Como antes, el multiplicador y el multiplicando se ubican en los registro M y Q respectivamente. Hay tambin un registro de un bit con una ubicacin lgica a la derecha del bit menos significativo (Q0) del registro Q, y que denominaremos Q-1; explicamos brevemente su uso. El producto resultante aparecer en los registros A y Q, A y Q-1, se fijan inicialmente a 0. Como antes, la lgica de control recorre los bits del multiplicador uno por uno. Ahora al examinar cada bit, tambin se comprueba el bit a su derecha; si los dos son iguales (1 -1 0-0), todos los bits de los registros A, Q, y Q1, se desplazan un bit a la derecha. Si dichos bits difieren, el multiplicando se suma o resta al registro A, segn que los dos bits sean 0-1 10. A continuacin de la suma o resta se realiza un desplazamiento a la derecha. En cualquier caso, el desplazamiento a la derecha es tal que el bit ms a la izquierda de A, es decir An-1 no solo se desplaza a An-2 sino que tambin queda en An-1. Esto es necesario para preservar el signo del nmero contenido en la pareja de registros A y Q. Este desplazamiento se denomina desplazamiento aritmtico, ya que preserva el bit de signo. La Fig. 9.13 muestra la secuencia de eventos para multiplicar siete por tres con el algoritmo de Booth. La misma operacin se describe de manera mas compacta en la Fig. 9.14 a. El resto de la Fig. 9.14 da

otros ejemplos del algoritmo. Como puede verse acta correctamente con cualquier combinacin de nmeros positivos y negativos. Obsrvese tambin la eficiencia del algoritmo. Los bloques de uno o de ceros se saltan, con un promedio de solo o una suma o resta por bloque. Por qu se comporta correctamente el algoritmo de Booth? Considere primero el caso en que el multiplicador sea positivo. En particular, un multiplicador positivo consiste en un bloque de unos son seros a ambos lados (por ejemplo 00011101). Como sabemos, la multiplicacin puede obtenerse sumando adecuadamente copias desplazadas del multiplicando: El numero de tales operaciones puede reducirse a dos si observamos que As pues, el producto puede generarse mediante una suma y resta del multiplicador. Este esquema se extiende a cualquier nmero de bloques de unos del multiplicador, incluyendo el caso en que solo 1 es tratado como bloque. El algoritmo de Booth obedece a este esquema realizando una resta cuando se encuentre el primer 1 del bloque (1-0), y una suma cuando se encuentra al final (0-1) del bloque. Para comprobar que el mismo esquema es adecuado en el cas de un multiplicador negativo, necesitamos observar lo siguiente. Sea X un nmero negativo en notacin de complemento a dos: Representacin de X= {1xn-2xn-2x1x0} Entonces el valor de X puede expresarse como sigue: El lector puede verificarlo aplicando el algoritmo a los nmeros de la Tabla 9.2 El bit mas a la izquierda de X es 1, ya que X es negativo. Suponga que el bit 0 mas a la izquierda est en la posicin k-sima. Entonces X ser de la forma Entonces el valor de X es: Utilizando la ecuacin 9.3 podramos decir que: Reagrupando se tiene: Sustituyendo la ecuacin 9.7 en la 9.6 tenemos: Al fin podemos volver sobre el algoritmo de Booth. Recordando la representacin de X (Ecuacin 9.5), est claro que todos los bits desde x0 hasta el 0 mas a la izquierda son manipulados de forma apropiada, ya que se producen todos los trminos de la ecuacin 9.8 excepto el -2k+1. Cuando el algoritmo recorre hasta el 0 mas a la izquierda y encuentra el 1 siguiente 2k+1, ocurre una transicin 1-0 y tiene lugar una resta (-2k+1). Este es el trmino restante de la ecuacin 9.8 DIVISION La divisin es algo ms compleja que la multiplicacin pero est basada en los mismos principios generales. Como antes, la base para el algoritmo es la aproximacin de <<papel y lpiz>>, y la operacin conlleva repetidos desplazamientos y sumas o restas. La figura 9.16 muestra un algoritmo mquina que corresponde al proceso de divisin larga. El algoritmo puede resumirse:

1. Cargar el divisor en el registro M y el dividendo en los registro A y Q. El dividendo debe estar expresado como nmero en complemento a dos de 2n bits. Por ejemplo el numero de 4 bits 0111 pasa a ser 0000011, y el 1001 pasa a 11111001. 2. Desplazar A y Q una posicin de bit a la izquierda 3. Si M y A tienen el mismo signo a ejecutar AA M; sino AA + M 4. La operacin anterior tiene xito si el signo de A es el mismo antes y despus de la operacin. 5. Repetir los pasos 2 a 4 tantas veces como nmero de bits tenga Q 6. El resto est en A. Si los signos del divisor y el dividendo eran iguales, el cociente est en Q; si no, el cociente correcto es el complemento a dos de Q. 9.4 Representacin en coma flotante Fundamentos Con una notacin de coma fija es posible representar un rango de enteros positivos y negativos centrado en el cero. Asumiendo una coma binaria fija, dicho formato permite representar nmeros con parte fraccionaria. La aproximacin tiene limitaciones. Los numero muy grandes no pueden representarse, ni tampoco las partes muy pequeas. Para nmeros decimales, esta limitacin se supera utilizando la notacin cientfica. As, 976.000.000.000.000 puede representarse como 9.76 (10) 14 y 0.000000000000976 se representa como 9.76 (10)-14 , lo que se ha hecho es mover dinmicamente la coma decimal a una posicin conveniente y utilizar y utilizar el exponente de 10 para mantener registrada la posicin de la coma. Esto permite representar un rango de nmeros muy grandes y muy pequeos `con solo unos cuantos dgitos. Esa misma tcnica puede aplicarse a los nmeros binarios podemos representar un numero en la forma Este nmero puede almacenarse en una palabra binaria con tres campos: * Signo mas o menos * Parte significativa o mantisa S (Del termino ingles Significand) * Exponente E La base B esta implcita y no necesita memorizarse ya que es la misma para todos los nmeros. Normalmente se supone que la coma de la base est a la derecha del bit ms a la izquierda, o ms significativo, de la matiza. Es decir se asume que hay un bit a la izquierda de la coma de la base. Formato tpico de coma flotante de 32 bits Para simplificar los calculos con numeros en coma flotante se requiere que usualmente esten normalizados. En un numero normalizado el digito mas significativo de la parte significativa es distinto de cero. Por lo tanto, para la representacion en base 2, el bit mas significativo de la parte de un numero normalizado debe ser uno. Como habiamos mencionado, es una convencion usual que se tenga un bit a la izquierda de la coma de la base. En la fig 9.1 nos da unos ejmplos de numeros almacenados en este formato. Observese las siguientes caracterizticas: * El signo se almacena en el primer bit de la palabra * El primer bit de la parte significativa original siempre es 1 y no necesita almacenarse en el campo asignado a la parte significativa. * Se suma 127 al exponente original para almacenaarlo en el campo de exponente. * La base es 2

Fig 9.1 La fig 9.2 compara los rangos de nmeros que pueden representarse en una palabra de 32 bits. Usando la notacin entera en complemento a 2, pueden representarse todos los enteros desde -231 hasta 231 De acuerdo con la fig 9.2 son posibles los sig nmeros: * Nmeros negativos entre -(2-2 -23) X 2128 y 2-127 * nmeros entre 2-127 y -(2-2 -23) X 2128 En la recta de los nmeros reales hay cinco regions excluidas de dichos rangos: * Los nunero negativos menores que -(2-2 -23) X 2128 , denominada desbordamiento negativo. * Los numeros negativos mayores que 2-127, denominada agotamiento negativo. * EL CERO * Los numeros positivos menores que 2-127 region denominada agotamiento positivo. * Los numeros positivos mayores que (2-2 -23) X 2128 , denominado desvordamiento positivo. La representacion indicada no contempla un valor para el cero.Sin embargo, como veremos, en la practica se incluye una conbinacion de bits especial para designar el cero. Un desbordamiento ocurre cuando una operacin aritmetica da lugar a un numero cuyo exponente es mayor que 128 (por ejemplo, 2120 X 2100 = 2220 producira desbordamiento). Un agotamiento ocurre cuando una magnitud fraccionaria es demasiado pequea (ejemplo, 2 -120 X 2 -100 = 2-220). Un agotamiento es un problema meno serio porque el resultado puede generalmente aproximarse satisfactoriamente por 0. Es importante observar que con la notacion en coma flotante no estamos representando mas valores individuales. El maximo numero de valores diferentes que pueden representarse con 32 bits es 232. Obsevese tambien que, al contrario de lo que ocurre con los numero en coma fija, los numero representados en la notacion de coma flotante no estan espaciados por igual a lo largo de la recta real. Fig. 9.4 Los posibles valores estan mas prximos cerca del origen y mas separados a la medida que noa alejamos de el. Segun se muestra en la fig 9.4. Este es uno de los inconvenientes del calculo en coma flotante: muchos calculos producen resultados que no osn exactos y tienen que redondearse al valor mas proximo representable con la notacion. ESTANDAR DEL IEEE PARA LA REPRESENTACIN BINARIA EN COMA FLOTANTE La representacion en coma flotante mas importante es la definida en la forma estandar 754 del IEE Y adoptada en 1985.Este estandar para facilitar la portabilidad o transferencia de los programas de un procesador a otro y para alentar el desarrollo de programas numericos sofisticados. Este estandar ha sido ampliamente adoptado y se utiliza practicamente en todos los prodesadores y los coprocesadores actuales. Este estandar define tanto el formato simple de 32 bits como el doble de 64 bits con exponentes de 8 y 11 bits respectivamente. Formatos. Existen 4 tipos d formatos simple, simple ampliado , doble y doble ampliado. Estos formatos apliados incluyen bits adicionales en el exponente (rango apliado o extendido) y en la parte significativa (presicion ampliada). Los formatos ampliados se utilizan oara calculos intermedios. Con su mayor precision, dichos formatos reducen la posibilidad de que el resultado final sea deteriorado por un error exesivo de redondeo, con su mayor intervalo de variacion, reduce la posibilidad de un desvordamiento

intermedio que aborte un calculo cuyo resultado habria sido representable en un formato basico. El formato ampliado simple presenta algunas ventajas del formato doble sin incurrir en la penalizacion de tiempo normalmente asociada con una presicion mas elevada En los formatos IEEE no todos los patrones de bots se interpretan de la manera habitual.Algunas combinaciones se emplean para representar valores especiales.En la sig tabla se indican los valores asignados a ciertos patrones de bits. Los valores externos de exponente consistentes en todo ceros y todo unos define valores espciales se representan dela sig clase de numeros: * Para los valores de exponente desde 1 hasta 254 en el formato simple y desde 1 hasta 2046 en el formato doble, se representan numeros de coma flotante normalizados distintos de cero. El simple esta sesgado, siendo el rango de exponentes desde -126 hasta +127 en el formato simple y de (-1022 ) a 1023 en el doble. Un numero normalizado debe contener un bit a la izquierda de la coma binaria; este bit esta implicito, dando una parte significativa efectiva de 24 bits o de 53 bits(denominada parte fraccionaria en estandar). * Un exponente todo unos junto con una parte fraccionaria representa, dependiendo del bit de signo, el infinito positivo o negativo. Es tambien util tener una repesentacion de infinito.Esto deja alusuario decidir is trata el desbordamiento como error o prosigue en el programa que este ejecutando. * Un exponente cero junto con una parte fraccionaria distinta de cero representa un numero normalizado. En este caso el bit a la izquierda de la coma binaria es cero y el exponente original es -126 o -1022.El numero es positivo o negativo dependiendo del bit de signo. * A un exponente de todo unos junto con una fraccion distinta de cero se le da el nombre de NaN, not a number(no representa un numero), y se emplea para sealar varias condiciones de excepcion. 9.5. Aritmtica en coma flotante. En una operacin en coma flotante se puede producir algunas de estas condiciones: . Desbordamiento del exponente: Un exponente positivo que excede el valor de exponente mximo posible. . Agotamiento del exponente: Un exponente negativo menor que el mnimo valor posible (ejemplo: -200 es menor que -127). Esto significa que el nmero es demasiado pequeo para ser representado y puede ser considerado como 0. . Agotamiento de la parte significativa: En el proceso de alineacin o ajuste pueden perderse dgitos por la derecha de la parte significativa. En estos casos se requiere efectuar algn tipo de redondeo. . Desbordamiento de la parte significativa: La suma de dos mantisas del mismo signo puede producir un acarreo procedente del bit ms significativo. Esto, puede ser arreglado con un reajuste. SUMA Y RESTA. En la aritmtica de coma flotante, la suma y la resta son mas complejas que la multiplicacin y la divisin. Esto es debido a la necesidad de ajustar las partes significativas Hay 4 etapas bsicas del algoritmo para sumar y restar: 1. Comprobar valores 0. 2. Ajuste de partes significativas. 3. Sumar o restar las partes significativas. 4. Normalizar el resultado.

Fase 1: Dado que la suma y la resta son idnticas excepto por el cambio de signo, el proceso comienza cambiando el signo del sustraendo cuando se trata de una resta. A continuacin si algo de los operando es cero, se da el otro como resultado. Fase 2: Ajuste de las partes significativas: En esta etapa se manipula los nmeros para que los exponentes sean iguales. La alineacin o ajuste se consigue o bien desplazando a la derecha el nmero ms pequeo (incrementando su exponente) o desplazando a la izquierda el ms grande (disminuyendo su exponente). Fase 3: Suma: A continuacin se suman las dos partes significativas, teniendo en cuenta sus signos. Ya que los signos pueden diferir, el resultado puede ser 0. Existe tambin la posibilidad de desbordamiento de la mantisa en un digito. Si es as, se desplaza a la derecha la parte significativa del resultado, y se incrementa el exponente. Fase 4: Normalizacin: La etapa final normaliza el resultado. La normalizacin consiste en desplazar a la izquierda los dgitos de la mantisa hasta que el ms significativo sea distinto de cero. Cada desplazamiento causa un decremento del exponente, lo que podra producir un desbordamiento a cero del mismo. MULTIPLICACION Y DIVISION La multiplicacin y divisin en coma flotante son procesos mucho ms sencillos que las suma y la resta. En primer lugar, si cualquiera de los operandos es cero, se indica como resultado cero. El siguiente paso es sumar los exponentes. El resultado podra dar lugar a un desbordamiento o a un desbordamiento a cero del exponente. Lo que debe indicarse y concluir el algoritmo. Si el exponente del producto est dentro del rango apropiado, el paso siguiente es multiplicar las partes significativas teniendo en cuenta sus signos. Dicha multiplicacin se realiza como en el caso de los enteros. En este caso estamos tratando con una representacin en signo-magnitud, pero los detalles son similares a los de la representacin en complemento a dos. El producto doblara la longitud del multiplicando y multiplicador, estos bits extra se perdern durante el redondeo. Consideremos finalmente el diagrama de flujo para la divisin. De nuevo, el primer paso es comprobar ceros. Si el divisor es cero se da una indicacin de erros, o se pone el resultado a infinito, dependiendo de la implementacin en cuestin. Un dividendo 0 da como resultado 0. A continuacin el exponente del divisor se resta al dividendo. Se comprueban entonces posibles desbordamientos del exponente. EL siguiente paso es dividir las partes significativas, para concluir con la normalizacin y redondeo. BIBLIOGRAFIA * Staallings, William. Organizacion y arquitectura de computadoras. Septima Edicion, pa

You might also like