En informática, se denomina coprocesador a un procesador de computadora utilizado para complementar las funciones del procesador principal o CPU. El coprocesador puede realizar diversas operaciones, tales como aritmética de punto flotante, gráficos, procesamiento de señales, procesamiento de cadenas de texto, encriptación o comunicación E/S con dispositivos periféricos. Los coprocesadores pueden acelerar el rendimiento del sistema, ya que permiten descargar al procesador principal de aquellas tareas de cómputo que hacen un uso intensivo del mismo.
Características de los coprocesadores
El coprocesador (en inglés “coprocessor”) es un procesador de computadora utilizado para complementar las funciones de la CPU o procesador principal, de tal manera que permiten acelerar el rendimiento del sistema, puesto que descargan al procesador principal de tareas intensivas de computación.
Respecto a su funcionalidad, los coprocesadores varían en su grado de autonomía. Algunos, como los coprocesadores matemáticos, se basan en el control directo de la CPU, ya que están estrechamente integrados en la CPU. Otros son procesadores independientes capaces de trabajar asincrónicamente, aunque por lo general sólo cuentan con un conjunto de instrucciones limitado centrado en la aceleración de tareas específicas.
Los primeros coprocesadores surgieron en los ordenadores mainframe, para encargarse de las tareas de entrada/salida (Channel I/O), que consumen mucho tiempo. De esta manera, puesto que el mainframe no requería ningún procesamiento de E/S, se mejoró el rendimiento general del sistema, permitiendo aprovechar al máximo el tiempo del procesador del mainframe.
Los coprocesadores matemáticos (FPU, Floating Point Unit) procesan los números de coma flotante. Los coprocesadores matemáticos para la aritmética de punto flotante aparecieron por primera vez en las computadoras de escritorio en los años 70 y se hicieron comunes a lo largo de los años 80 y 90. Hasta entonces se usaba software para realizar operaciones aritméticas de punto flotante. En cambio, al utilizar un coprocesador, los cálculos de punto flotante se podían realizar mucho más rápido, por lo que los coprocesadores matemáticos se extendieron entre usuarios de software de diseño asistido por computadora (CAD) y cálculos científicos y de ingeniería.
Antes, los coprocesadores matemáticos eran procesadores independientes, pero hoy día ya son parte del procesador principal. A medida que los microprocesadores se desarrollaban, el coste de integrar las funciones aritméticas de punto flotante en el procesador disminuyó. Por ello, los coprocesadores matemáticos empaquetados de forma separada ya no son comunes en las computadoras de escritorio.
Actualmente son comunes las unidades de procesamiento gráfico (GPUs) dedicadas en forma de tarjetas gráficas. La demanda de coprocesadores de gráficos dedicados ha crecido, particularmente debido a una creciente demanda de gráficos 3D realistas en juegos de computadora.
También algunos modelos de tarjetas de sonido han sido equipados con coprocesadores dedicados que ofrecen mezclas multicanal de audio digital y efectos DSP (Digital Signal Processor, Procesador digital de señales) en tiempo real.
En el ámbito de la computación móvil, algunos dispositivos han implementado coprocesadores de movimiento utilizados para manejar la integración de sensores, por ejemplo para recolectar y procesar los datos del giroscopio, el acelerómetro y la brújula.
Existen también coprocesadores criptográficos optimizados para realizar operaciones criptográficas, empaquetados en un dispositivo con múltiples medidas de seguridad física, lo que permite eliminar la necesidad de proteger con el resto del sistema. Se suelen utilizar en aplicaciones seguras, como la generación y almacenamiento de claves privadas en criptografía de clave pública.
Por otra parte, algunos chips multi-core pueden ser programados para que uno de sus procesadores sea el procesador principal, y que los otros procesadores soporten coprocesadores.
Con el tiempo las CPUs han tendido a crecer para incluir la funcionalidad de los coprocesadores más populares. Los FPU ahora se consideran parte integral de los procesadores, las unidades SIMD proporcionan aceleración multimedia, e incluso las GPUs se han integrado en la CPU. No obstante, en sectores diferentes a los ordenadores de escritorio, los coprocesadores especializados siguen siendo populares para conseguir rendimiento adicional, y continúan su evolución independientemente de las líneas de desarrollo de los procesadores principales.