¿Qué es una unidad de coma flotante?

Una unidad de coma flotante es un bloque funcional de un procesador de computadora que realiza operaciones aritméticas de coma flotante. También conocida por el acrónimo FPU, una unidad de punto flotante también puede ser un coprocesador físicamente separado. Una FPU generalmente accede a los datos a través de los mismos modos de direccionamiento que el resto del procesador y generalmente incluye sus propios registros. Un procesador utiliza una FPU para calcular funciones aritméticas trigonométricas, logarítmicas y básicas de coma flotante. También utiliza una FPU para cargar, almacenar y comparar números en varios tipos de datos enteros y de punto flotante.

Muchos procesadores no incluyen una unidad de punto flotante. La mayoría de los microprocesadores producidos por Intel Corporation y Motorola Incorporated antes de finales de la década de 1980 no incluyen uno, por ejemplo. Muchos procesadores RISC (Reduced Instruction Set Computing) y controladores integrados tampoco tienen uno. Estos chips incluyen una Unidad Aritmética Lógica (ALU) para realizar funciones básicas aritméticas enteras y lógicas bit a bit. Sin embargo, las matemáticas de coma flotante son manejadas por un coprocesador externo o una biblioteca de software.

La mayoría de los procesadores y sistemas de software implementan el estándar del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) para operaciones de punto flotante. El estándar IEEE-754 se publicó por primera vez en 1985 y se amplió en 2008 para incluir tipos de datos adicionales. Define varios tipos de datos enteros y de coma flotante, cada uno con su propia precisión, representación y rango numérico. También define muchas operaciones aritméticas, métodos de redondeo y manejo de excepciones como una división por cero. Ya sea que las matemáticas se realicen mediante una unidad de punto flotante o no, el estándar de punto flotante IEEE garantiza resultados idénticos.

Además de la suma, resta, multiplicación y división, una unidad de coma flotante puede realizar muchas otras operaciones. Estos a menudo incluyen cálculos de escala, raíz cuadrada y logarítmicos. También se suelen proporcionar funciones trigonométricas seno, coseno y tangente parcial. Los números enteros y de coma flotante se pueden comparar con la FPU y convertir de una precisión a otra. También pueden redondearse en cualquier dirección y almacenarse directamente en la memoria principal del procesador.

La FPU de un procesador de gráficos puede incluir funciones que se repiten con frecuencia y que son comunes a la rotación o animación de objetos tridimensionales. Muchos controladores integrados están diseñados con procesadores optimizados para el procesamiento de señales digitales (DSP). Estos pueden usarse en aplicaciones de audio y comunicaciones y pueden contener FPU, que son buenas para transformadas rápidas de Fourier (FFT), por ejemplo. Los procesadores de criptografía a menudo incluyen una FPU para el cálculo de alta velocidad de algoritmos de cifrado con muchas matemáticas. Los procesadores generales de varios núcleos también pueden incluir una unidad de punto flotante para cada núcleo de procesador normal.