Punto Flotante

• Introduccion: La representación de coma flotante, es una forma de notación científica usada en los CPU, GPU, FPU, et

Views 144 Downloads 0 File size 105KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview



Introduccion:

La representación de coma flotante, es una forma de notación científica usada en los CPU, GPU, FPU, etc, con la cual se pueden representar números reales extremadamente grandes y pequeños de una manera muy eficiente y compacta, y con la que se pueden realizar operaciones aritméticas. El estándar para la representación en coma flotante es el IEEE 754. La unidad de procesamiento gráfico o GPU (acrónimo del inglés graphics processing unit) es un procesador dedicado al procesamiento de gráficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos y o aplicaciones 3D interactivas.

Una unidad de coma flotante (adaptación del inglés floating-point unit o literalmente traducido unidad de punto flotante) o, también conocido como coprocesador matemático, es un componente de la unidad central de procesamiento especializado en el cálculo de operaciones encoma flotante. Las operaciones básicas que toda FPU puede realizar son las aritméticas (suma y multiplicación), si bien algunos sistemas más complejos son capaces también de realizar cálculos trigonométricos o exponenciales.



No todas las unidades centrales de procesamiento tienen una FPU dedicada. En ausencia de FPU, la CPU puede utilizar programas enmicrocódigo para emular una función en coma flotante a través de la unidad aritmético lógica (ALU), la cual reduce el coste del hardware a cambio de una sensible pérdida de velocidad.

• Repesentacion Normalizacion: Dado que un número en punto flotante puede expresarse de distintas formas que son equivalentes, es necesario establecer una única representación. Es por ello que se trabaja con números normalizados. Decimos que un número está normalizado si el dígito a la izquierda del punto o coma está entre 0 y la base ( 0< dígito a la izquierda del punto < b). En particular, decimos que un número binario está normalizado si el dígito a la izquierda del punto es igual a 1.



IEEE

IEEE 754 especifica cuatro formatos para la representación de valores en coma flotante: precisión simple (32 bits), precisión doble (64 bits), precisión simple extendida (≥ 43 bits, no usada normalmente) y precisión doble extendida (≥ 79 bits, usualmente implementada con 80 bits). Sólo los valores de 32 bits son requeridos por el estándar, los otros son opcionales. Estándar IEEE-754 para representación de Punto Flotante Este estándar se desarrolló para facilitar la portabilidad de los programas de un procesador a otro y para alentar el desarrollo de programas numéricos sofisticados. Este estándar ha sido ampliamente adoptado y se utiliza prácticamente en todos los procesadores y coprocesadores aritméticos actuales. El estándar del IEEE define el formato para precisión s imple de 32 bits y para precisió n doble de 64 bits

precision simple Precision Sencilla o Simple (32 bits) – 1 bit para el signo del número en s u totalidad. – 8 bits para el exponente -exceso en 127-.los valores del exponente s e mueven en el rango de -127 a +128. – 23 bits para la fracción o mantisa Signo se encuentra en el bit más significativo, de esta manera podemos usar la misma circuitería ( de enteros) para llevar a cabo comparaciones con respecto al cero. Si es positivo el signo es 0 y si es negativo es 1 Mantisa. Está formada por el resto de los bits en la palabra (23). Como los números s e representan de manera normalizada entonces siempre tendremos un 1 a la izquierda del punto. Por lo tanto este dígito no e s necesario almacenarlo en la palabra y s e tiene de manera implícita que la mantisa consiste realmente en 24 bits de precisión. Exponente con signo. Está conformado por los siguientes 8 bits. Esta ubicación del exponente en la palabra facilita las comparaciones de números. Si los números se encuentran normalizados, comparamos los exponentes. Si son iguales pasamos a comparar las mantisas. Pero, ¿ qué representación es más conveniente usar para el exponente?. Si utilizamos Complemento a Dos, los exponentes negativos aparecerán como mayores que los exponentes positivos al usar la circuitería de enteros. Para evitar este inconveniente, se utiliza una representación en exceso N de forma que el exponente más negativo posible quede en 0000 0001 y el más grande de los positivos en 1111 1110. El estándar IEEE 754 usa como exceso 127 para precisión simple. Exponente más negativo representable: x + 127 = 0000 0001 x = -126 Exponente más grande representable x + 127 = 1111 1110 x = 12 de decimal a binario • • 1. 2. 3. 4.

El bit del signo (bit más significativo) es positivo cuando el coeficiente es 0 y es negativo cuando el coeficiente es 1. El número del exponente es un valor de 8 bits que se obtiene de tal modo: Convertimos el número de decimal a binario. Expresamos el número de la manera: d0.d1d2x2e . Donde d0, d1 y d2 son números reales. Luego tomamos el exponente y le agregamos 127, eso da como resultado un valor en decimal que luego se transforma en un número binario de 8 bits. La mantisa comienza con los bits después del punto del número normalizado seguido de tantos ceros sean necesarios para así completar los 23 bits.

Precisión doble La representación de un número en precisión doble en el formato IEEE-754 consta de las siguientes partes:  Signo se encuentra en el bit más significativo  Exponente en exceso. Está conformado por los siguientes 11 bits. Se utiliza una representación en exceso 1023 de forma que el exponente más negativo posible quede en 000 0000 0001 y el más grande de los positivos en 111 1111 1110.  Mantisa. Está formada por 52 bits más el bit implícito (53). Casos especiales Para valores de exponente desde 1 hasta 254 en el formato simple y desde 1 a hasta 2046 en el formato doble, se representan números e n punto fijo normalizados. El exponente está en exceso, siendo e l rango del exponente de -126 a +127 en el formato simple y de –1022 a +1023 en el doble. Un número normalizado debe contener un bit 1 a la izquierda del punto binario ; este bit está implícito, dando una mantisa efectiva de 24 bits para precisión simple o 53 bits para precisión doble. Un exponente cero junto con una parte fraccionaria cero representa el cero positivo o negativo, dependiendo del bit de signo.