Coma Flotante Arquiectura en Computadores

download Coma Flotante Arquiectura en Computadores

of 9

description

este trabajo es para tercer año de la carrera de Ing. Informatica y Sistemas

Transcript of Coma Flotante Arquiectura en Computadores

UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANNFACULTAD DE INGENIERAESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS

ARITMTICA EN PUNTO FLOTANTE

CURSO:Sistemas OperativosDOCENTES: Ing. Acero Charaa, Carlos HernnIng. Barraza Vizcarra, HugoESTUDIANTE:Paxi Palacios DonnieJimenez Flores, Victor JuanQuispe Huillca ntoninVentura Costa LedvirAO: 3roFECHA DE ENTREGA:16/07/15

TACNA- PER2015

ndice

I)INTRODUCCIN3II)REPRESENTACIN42.1) Precisin Simple5III)IEEE 7546IV)ALGORITMO74.1) Algoritmo de suma-resta en punto flotante74.2) Algoritmo de multiplicacin-divisin en punto flotante8V)CASOS DESBORDAMIENTO Y UNDERFLOW9VI)Bibliografa10

I) INTRODUCCIN

Lo que usualmente se ve son algoritmos o mtodos aritmticos para realizar operaciones sobre representaciones numricas con una coma fija. Todos ellos se pueden utilizar para las representaciones en coma flotante con la condicin de saber la posicin correcta del punto donde se da la separacin entre la parte entera y decimal.Muchas aplicaciones requieren trabajar con nmeros que no son enteros. Existen varias formas de representar nmeros no enteros. Una de ellas es usando un punto o coma fijo. Este tipo de representacin ubica siempre el punto o coma en alguna posicin a la derecha del dgito menos significativo.Otra alternativa comnmente usada es la que se conoce como representacin en punto flotante. Bajo este esquema, un nmero puede ser expresado mediante un exponente y una mantisa.Dado que un nmero en punto flotante puede ser expresado de distintas formas que son equivalentes, es necesario establecer una nica representacin. Es por ello que se trabaja con nmeros normalizados. Decimos que un nmero est normalizado si el dgito a la izquierda del punto o coma est entre 0 y la base. En lo que respecta a binario bsicamente sera si el dgito a la izquierda del punto es igual a 1.

II) REPRESENTACIN

La representacin de un nmero con decimales, (real) necesita dos partes: la primera parte representa un nmero de punto fijo, con signo llamado Mantisa. La segunda parte la conforma la representacin del exponente, que indica la posicin real del punto. Cuando se usa una estructura (palabra) de 32 bits, el exponente est representado por un valor denominado caracterstica y la mantisa debe estar normalizada, lo cual indica que la posicin ms significante de sta es un nmero diferente de cero. Esto nos permite decir que en una estructura como sta los nmeros reales se almacenan en la forma mantisa, caracterstica, donde el punto no est representado sino asumido, y puede asumirse a la izquierda o a la derecha de la mantisa; generalmente se asume a la izquierda, lo que indica que la mantisa es tomada como una fraccin.

El signo del valor representado est en el bit ms a la izquierda de la palabra, si el valor almacenado en ese bit es uno, el valor representado es negativo y si es cero es positivo.

La distribucin de los bits de la palabra, para representar el signo, la mantisa y la caracterstica se puede hacer de dos formas, dependiendo de la manera como est representado el exponente; representacin con exponente en base 2; representacin con exponente en base 16.

La representacin en punto flotante est basada en la notacin cientfica:-El punto decimal no se halla en una posicin fija dentro de la secuencia de bits, sino que su posicin se indica como una potencia de la base:

Figura 1. Representacin punto flotante

En todo nmero en punto flotante se distinguen tres componentes:Figura 1. Representacin en coma flotante

Signo: indica el signo del nmero (0=positivo, 1=negativo) Mantisa: contiene la magnitud del nmero (en binario puro) Exponente: contiene el valor de la pote1ncia de la base2.1) Precisin Simple

El formato para los nmeros de precisin simple es 32 bits

Figura 2. Representacin con precisin simple

La representacin de un nmero en precisin simple en el formato IEEE-754 consta de las siguientes partes:

Signo: Se encuentra en el bit ms significativo, de esta manera podemos usar la misma circuitera para llevar a cabo comparaciones con respecto al cero. Exponente con signo: Est conformado por los siguientes 8 bits. Esta ubicacin del exponente en la palabra facilita las comparaciones de nmeros y el desplazamiento es 127 en todos los casos. Si los nmeros se encuentran normalizados, comparamos los exponentes. Si son iguales pasamos a comparar las mantisas. Mantisa: Est formada por el resto de los bits en la palabra (23). Como los nmeros se representan de manera normalizada entonces tendremos siempre un 1 a la izquierda del punto. Por lo tanto este dgito no es necesario almacenarlo en la palabra y se tiene de manera implcita.

III) IEEE 754

El estndar de la IEEE para aritmtica en punto flotante (IEEE 754) es el estndar ms ampliamente usado en las operaciones computacionales de punto flotante, y es utilizada por muchas de las implementaciones de CPU y FPU. El estndar define formatos para la representacin de nmeros en punto flotante (incluyendo el cero) y valores des normalizados, as como valores especiales como infinito y NANs, conjuntamente con un conjunto de operaciones en punto flotante que opera sobre estos valores. Tambin especifica cuatro modos de redondeo. (Di Lella)

Este estndar se desarroll para facilitar la portabilidad de los programas de un procesador a otro y para alentar el desarrollo de programas numricos sofisticados. Este estndar ha sido ampliamente adoptado y se utiliza prcticamente en todos los procesadores y coprocesadores aritmticos actuales. El estndar del IEEE define el formato para precisin simple de 32 bits y para precisin doble de 64 bits.

Existen 2 formatos comnmente usados: Precisin Simple (32bits): 1 bit de signo, 8 de exponente, 23 de mantisa. Precisin Doble: 1 bit de signo, 11 de exponente, 52 de mantisa.IV) ALGORITMO

4.1) Algoritmo de suma-resta en punto flotante

4.1.1) Seleccionar el nmero con menor exponente y desplazar su mantisa a la derecha tantas veces como indique la diferencia en mdulo de los exponentes.4.1.2) Hacer que el exponente resultado sea igual al mayor de los exponentes.4.1.3) Realizacin de las operaciones de suma o resta con las mantisas. 4.1.4) Normalizacin del resultado. Una vez realizada la suma se debe normalizar desplazando los bits de la mantisa hacia la izquierda o la derecha con lo cual habr que cambiar el valor del exponente.4.1.5) Comprobar las condiciones de rebose.Figura 3. Diagrama de flujo de suma-resta en coma flotante.

4.2) Algoritmo de multiplicacin-divisin en punto flotante

4.2.1) Realizar la suma-resta de los exponentes.4.2.2) Multiplicar-dividir las mantisas y determinar el signo del resultado.4.2.3) Normalizar el valor resultado, si es necesario.4.2.4) Comprobar las condiciones de rebose.

Figura 4. Diagrama de flujo de multiplicacin-divisin en coma flotante

V) CASOS DESBORDAMIENTO Y UNDERFLOW

Un desbordamiento por exceso de punto flotante (overflowen ingls) se origina cuando el resultado de una operacin de punto flotante tiene una magnitud mayor que la representada por la ecuacin:

Siendo F el mayor exponente representable y M la mantisa que tiene todos sus bits puestos a 1.

Por ejemplo, si se da el caso que q=8 (), la siguiente operacin genera desbordamiento por exceso.

El desbordamiento por defecto (undeflow) se genera cuando el resultado de una operacin en punto flotante es demasiado pequea como para que pueda representarse. El nmero ms pequeo representable suponiendo que trabajemos con mantisas normalizadas es , en donde F es el exponente negativo ms grande permitido.

Por ejemplo, si se da el caso que q=8 (-F=-128), la siguiente operacin aritmtica da lugar a desbordamiento por defecto.

VI) Ejercicios

VII) Bibliografa Overton, M. L. (2002). Cmputo numrico con aritmtica de punto flotante IEEE: con un teorema, una regla emprica y ciento un ejercicios: SIAM.

Ramrez, J. A. Mtodos numricos: Univ. J. Autnoma de Tabasco.

Chu, Y. (1975). Organizacin y microprogramacin del ordenador: Revert.