Unidad de coma flotante


Una unidad de punto flotante ( FPU , coloquialmente un coprocesador matemático ) es parte de un sistema informático especialmente diseñado para realizar operaciones con números de punto flotante . [1] Las operaciones típicas son suma , resta , multiplicación , división y raíz cuadrada . Algunas FPU también pueden realizar varias funciones trascendentales como cálculos exponenciales o trigonométricos , pero la precisión puede ser muy baja, [2] [3] por lo que algunos sistemas prefieren calcular estas funciones en software.

En arquitecturas informáticas de uso general , una o más FPU pueden integrarse como unidades de ejecución dentro de la unidad central de procesamiento ; sin embargo, muchos procesadores integrados no tienen soporte de hardware para operaciones de punto flotante (aunque cada vez los tienen como estándar, al menos de 32 bits).

Cuando una CPU está ejecutando un programa que requiere una operación de punto flotante, hay tres formas de realizarla:

En 1954, el IBM 704 tenía la aritmética de punto flotante como característica estándar, una de sus principales mejoras con respecto a su predecesor, el IBM 701 . Esto se trasladó a sus sucesores, el 709, 7090 y 7094.

En 1963, el GE-235 presentó una "Unidad aritmética auxiliar" para cálculos de coma flotante y de doble precisión. [5]

Históricamente, algunos sistemas implementaban el punto flotante con un coprocesador en lugar de como una unidad integrada (pero ahora además de la CPU, por ejemplo, las GPU  , que son coprocesadores no siempre integrados en la CPU, tienen FPU como regla, mientras que las primeras generaciones de GPU no lo hicieron). 't). Esto podría ser un solo circuito integrado , una placa de circuito completa o un gabinete. Cuando no se ha proporcionado hardware de cálculo de punto flotante, los cálculos de punto flotante se realizan en software, lo que requiere más tiempo de procesador, pero evita el costo del hardware adicional. Para una arquitectura de computadora en particular, las instrucciones de la unidad de punto flotante pueden emularsepor una biblioteca de funciones de software; esto puede permitir que el mismo código de objeto se ejecute en sistemas con o sin hardware de punto flotante. La emulación se puede implementar en cualquiera de varios niveles: en la CPU como microcódigo (no es una práctica común), como una función del sistema operativo o en el código de espacio de usuario . Cuando solo está disponible la funcionalidad de números enteros, los métodos de emulación de punto flotante CORDIC son los más utilizados.


Colección de coprocesadores matemáticos de la familia x87 de Intel