You are on page 1of 6

TRABAJO EN GRUPO N 1:

ARITMETICA EN PUNTO FLOTANTE


INDICE
Puntos vistos anteriormente en clase: Introduccin Representacin en coma flotante El estndar IEEE-754

Puntos a tratar en nuestro trabajo: Aritmtica en punto flotante atendiendo a las operaciones o Suma y resta o Multiplicacin o Modos de precisin en punto flotante (segn IEEE-754) o Infinitos y NaN Aritmtica en punto flotante atendiendo al hardware que la realiza o Arquitectura de punto flotante en el Intel 8086 y PowerPC o Vision general de la FPU (Unidad de punto flotante)

BIBLIOGRAFIA
Estructura y diseo de computadores.- Patterson, Hennessy Arquitectura de computadores: Diseo desde un punto de vista cuantitativo Patterson, Hennessy Organizacin y arquitectura de computadores - Stallings

MIEMBROS DEL GRUPO


Jess Antoln Garca Carlos Gonzlez Gmez Eneas Puertas Kreusch

SUMA Y RESTA
Para sumar o restar con aritmtica utilizado en cuatro fases: Paso 1: Comprobacin de cero: en punto flotante, podemos dividir el algoritmo

Al ser la resta igual a la suma excepto por el cambio del signo, hemos de comenzar cambiando el signo del substraendo cuando nos encontremos con una resta, y adems de esto, si alguno de los operandos es cero daremos automticamente el otro como resultado. Paso 2: Alineacin de las mantisas:

Para realizar este paso, debemos alinear la coma decimal del nmero que tenga el exponente ms pequeo. Se necesita por tanto, una forma del nmero menor que encaje con el de mayor exponente. Paso 3: Suma de las mantisas:

Se suman las partes significativas, y adems, despus de la suma puede que tengamos que desplazar el resultado para normalizarlo. Cada vez que incrementemos o decrementemos el exponente debemos comprobar que dicho exponente cabe todava en su campo, es decir, que no hemos tenido desbordamiento. Paso 4: Normalizacin:

Consiste en desplazar a la izquierda los dgitos de la mantisa hasta que el ms significativo sea distinto de cero.

Imgenes: Diagrama de bloques de la suma y diagrama de una unidad aritmtica en coma flotante dedicada a la suma

MULTIPLICACION
Como comprobaremos a continuacin en este resumen, la multiplicacin es un proceso menos complicado que la suma o resta en coma flotante. Al igual que en la suma plantearemos el algoritmo de la multiplicacin en tres pasos diferenciados: Paso 1: Obtenemos el exponente de la multiplicacin sumando para ello los exponentes de ambos operandos. Debemos tener en cuenta que los exponentes pueden estar guardados en forma sesgada y que adems el resultado puede desbordar el campo del exponente. Paso 2: Multiplicamos las mantisas teniendo en cuenta el signo Paso 3: Si el producto no esta normalizado debemos corregirlo, pudiendo desplazar este producto a la derecha o a la izquierda y modificando el exponente, teniendo en cuenta que no haya desbordamiento. Paso 4: Redondeamos el resultado segn las reglas que hayamos establecido Paso 5: El signo del producto vendr dado por los signos de los operandos. Si son iguales el signo es positivo, si no, ser negativo.

Imagen: diagrama de bloques de la multiplicacin

PRECISION Y REDONDEO
Bits de guarda:

Antes de realizar una operacin en coma flotante se cargan en sendos registros tanto el exponente como la parte significativa. El registro que contiene la parte significativa posee tambin bits adicionales denominados bits de guarda, que se aaden a la derecha de la parte significativa en forma de ceros. Redondeo:

Un elemento muy a tener en cuenta en la precisin que obtenemos es la tcnica de redondeo que empleamos en la operacin. Segn el estndar IEEE-754 tenemos cuatro posibles alternativas a la hora de realizar este redondeo: o o o o Redondeo al ms prximo: El resultado se redondea al nmero representable ms prximo. Redondeo hacia infinito: el resultado se redondea por exceso hacia mas infinito Redondeo hacia menos infinito: el resultado se redondea por defecto hacia menos infinito Redondeo hacia cero: el resultado se redondea hacia cero.

Debemos tener en cuenta que el modo de redondeo que se asume por defecto es el redondeo al ms prximo en el cual deberemos tomar el valor representable ms prximo al resultado exacto. En el caso en el que el resultado se encuentre exactamente en la mitad de dos valores representables posibles, la aproximacin tomada en el estndar es forzar que el resultado sea par, de forma que el valor se redondea por exceso cuando el ultimo bit representable actual es 1 y se deja como esta si es 0.

INFINITO Y NaN
Aparte del redondeo (previamente comentado), el IEEE 754 detalla ms procedimientos para que la aritmtica en punto flotante produzca resultados uniformes y predecibles. Estos procedimientos son: el infinito y los NaN (Not a Number). Infinito: estas operaciones se tratan como casos lmite de la aritmtica real. Salvo en algn caso especial, en cualquier operacin en la que aparece el infinito el resultado es el que conocemos:

7 + (+) = + 7 (+) = 7 + () = 7 () = + 7 (+) = +


NaN: es una entidad simblica codificada en formato de punto flotante. Hay dos tipos: indicadores y silenciosos. Un NaN indicador seala una condicin de operacin no vlida siempre que aparece como operando; adems permiten representar valores de variables no inicializadas y tratamientos de tipo aritmtico, que no aparecen en el estndar. Un NaN silencioso se propaga en la mayora de las operaciones sin sealar excepcin alguna.

PROCESADORES EN COMA FLOTANTE


Ahora vamos a comentar como trabajan algunos procesadores con esta aritmtica punto flotante. Trataremos el PowerPC y el 80 86, y es que ambos tienen instrucciones regulares de multiplicacin y divisin que operan sobre sus registros. Se diferencian en las instrucciones de punto flotante. El PowerPC tiene 32 registros de punto flotante de precisin simple y 32 de precisin doble; por otro lado podemos decir que el 80 86 es diferente al resto de ordenadores. PowerPC: en cuanto a instrucciones tiene una operacin de multiplicacin y suma fusionada: Multiply-Add. Esta operacin lee 3 comandos, multiplica dos de ellos, suma el tercero al producto y guarda la suma en el operando destino. De esta forma se mejora el rendimiento del punto flotante ya que reducimos el nmero de instrucciones a realizar con respecto, por ejemplo, de MIPS. Otra diferencia es que esta operacin fusionada redondea despus de realizar ambas operaciones, sin embargo cuando la suma y la multiplicacin se realizan por separado, el redondeo se realiza al finalizar cada una. 80 86: el coprocesador de punto flotante Intel 8087 extenda el 8086 con unas 60 instrucciones. Intel propuso una arquitectura de tipo pila con instrucciones de punto flotante: los load apilaban nmeros en la pila, las operaciones tomaban los operandos de las dos ltimas posiciones de la pila y los store sacaban elementos de la pila. Intel complement esta arquitectura de pila con instrucciones y modos de direccionamiento que permitan algunas de las ventajas del modelo registro-memoria. Este hbrido an es un modelo registro-memoria restringido. Los load siempre mueven datos a la cima de la pila y los store solo pueden mover datos de la cima de la pila a memoria. Intel usa la notacin ST para indicar la cima de la pila y ST(i) para indicar el i-simo registro debajo de la cima. Otra diferencia con respecto a MIPS y PowerPC es que los operandos de punto flotante de 80 86 tienen 80 bits cuando estn en la pila. Las operaciones de punto flotante del 80 86 se pueden dividir en 4 grupos: Instrucciones de movimiento de datos, que incluyen load, load de constante y store. Instrucciones aritmticas, que incluyen suma, resta, multiplicacin, divisin raz cuadrada y valor absoluto. Comparacin, que incluyen instrucciones para enviar un resultado al procesador aritmtico para que pueda saltar. Instrucciones trascendentales, que incluyen seno, coseno, logaritmo y exponenciacin.

FPU (UNIDAD DE PUNTO FLOTANTE)


Es una parte del procesador especialmente diseada para llevar a cabo operaciones de punto flotante, tales como suma, resta, divisin, multiplicacin y raz cuadrada. Las FPUs antiguas hacan operaciones exponenciales o trigonomtricas que en la actualidad estn incluidas en libreras de rutinas de software. En el pasado, la FPU se utilizaba como un coprocesador, en la actualidad se encuentran embebido dentro de la propia CPU. No todas las arquitecturas de computadores disponen de FPU, ya que las operaciones que esta realiza se pueden emular, lo cual produce una gran perdida de rendimiento. En las arquitecturas de computadores mas modernas, las operaciones en punto flotante se diferencian del resto, llegando a utilizar registros especficos para ellas en arquitecturas como la x86 de Intel.

Cuando un ordenador moderno tiene que ejecutar una operacin de punto flotante, tiene 3 posibilidades para llevar a cabo dicha tarea: 1- Emulacin Las FPUs tienen un numero finito de operaciones implementadas. Mediante la emulacin por software se puede aumentar el numero de operaciones posibles pese a costa de un menor rendimiento. Dichas operaciones se implementan como operaciones simples de enteros que se llevan a cabo en la ALU (unidad aritmtico-lgica). 2- FPU integrada Las FPUs disponen de instrucciones que pueden dividirse en simples (suma, resta..) y complejas (divisin). En algunos casos las FPUs solo integran las operaciones simples mientras que las complejas son emuladas va software 3- FPUs aadidas (coporocesadores) Durante la dcada de los 80 era bastante comn encontrar FPUs como coprocesadores, entidades separadas de la CPU que generalmente eran adquiridas cuando se necesitaba hacer un uso intensivo de operaciones en punto flotante. Dichos coprocesadores se encontraban disponibles para la lnea Motorola 680x0, ordenadores gama alta Apple Macintosh y la serie comodore amiga. Tambin haba FPUs para microcontroladores. Los procesadores actuales llevan la FPU integrada

Whetstone FPU benchmark Comparativas de procesadores en punto flotante

You might also like