¿Qué es un coprocesador?

En el corazón de cada computadora, encontrará el UPC. los Unidad Central de procesamiento es hardware crítico. Ejecuta el sistema operativo y todos los programas en su computadora. Las CPU están diseñadas como procesadores de propósito general. Por su propia naturaleza, se supone que pueden manejar todo.

Sin embargo, las CPU no son muy buenas en algunos tipos de cargas de trabajo porque su hardware de propósito general no se puede optimizar para tareas específicas sin perder su naturaleza de propósito general. O volverse irremediablemente grande, complejo y costoso. Además, cualquier CPU solo será capaz de manejar una cantidad limitada de datos y procesamiento a la vez. Un coprocesador es una segunda unidad de procesamiento diseñada explícitamente para tomar uno o ambos de estos escenarios.

Un coprocesador es simplemente una segunda unidad de procesamiento dentro de una computadora. En algunos escenarios, estos pueden ser una CPU física dual en la misma placa base que en algunos servidores. En escenarios de computación de alto rendimiento y supercomputación, estos coprocesadores de uso general también se pueden encontrar en tarjetas complementarias PCIe. El coprocesador a menudo se enfoca en una tarea específica en lugar de un procesador de propósito general. Estos procesadores específicos para tareas pueden conectarse directamente a la placa base o incluirse en una placa secundaria separada como una tarjeta complementaria PCIe.

Los primeros coprocesadores

Los primeros coprocesadores eran relativamente simples. Fueron diseñados para manejar la E/S o entrada y salida para computadoras centrales. El problema era que el procesamiento de E/S era una tarea que consumía mucho tiempo para la CPU. La tarea de procesamiento real, sin embargo, fue relativamente simple. Así que era lo suficientemente barato hacer un procesador para manejarlo. Mientras que el coprocesador tomaba la E/S de manera eficiente, la CPU tenía que emitir parámetros de E/S simples, liberaba tiempo del procesador y aumentaba el rendimiento del sistema.

La PC IBM original incluía un coprocesador aritmético de coma flotante opcional. Las CPU de la época realizaban este tipo de matemáticas en software que era lento pero lo suficientemente funcional para los casos excepcionales en que la mayoría de los usuarios lo necesitaban. Sin embargo, el diseño asistido por computadora, o sistemas CAD, usaba este tipo de matemáticas constantemente. Al separar la aritmética de coma flotante en un coprocesador, no solo se aumentaron las velocidades cuando fue necesario, gracias a la aceleración de hardware, pero los usuarios que no la necesitaban podían ahorrar dinero comprando un sistema sin la coprocesador

En última instancia, estos coprocesadores simples tenían sus funciones integradas en la arquitectura de la CPU. Esto es en parte un resultado natural del desarrollo continuo de la CPU, pero también está relacionado con las dificultades para continuar con la sincronización simple a medida que aumenta la velocidad del reloj de la CPU. Si bien estas CPU y coprocesadores funcionaron lo suficientemente bien a 75 MHz, habría un gran retraso de tiempo, consumo de energía y problemas de interferencia de radiofrecuencia en las frecuencias de GHz actuales. Estos problemas requerían sistemas de señalización más complejos entre las CPU y los coprocesadores modernos.

GPU

La GPU o Unidad de procesamiento de gráficos es probablemente la forma más conocida de coprocesador. Están diseñados para optimizarse para la carga de trabajo altamente paralelizable de la representación de gráficos. Las CPU pueden realizar esta tarea en software o con un chip gráfico integrado. Sin embargo, para ofrecer el alto rendimiento de las GPU modernas, tendrían que integrar todo el chip de la GPU en el chip de la CPU.

Esto aumentaría enormemente el costo y la complejidad de una CPU y también aumentaría significativamente la producción de calor. Los chips gráficos integrados ya ocupan una buena cantidad de espacio en la matriz de la CPU. Pueden reducir la velocidad general de la CPU debido a su salida de calor.

Tarjeta de sonido

Históricamente, las CPU podían procesar señales de audio, pero no eran fantásticas en eso. Los artefactos de audio y la estática resultantes llevaron a la creación de tarjetas de sonido. Estos proporcionarían puertos de entrada y salida de audio y realizarían el procesamiento de audio real en la propia tarjeta de sonido. Esto aumentó significativamente el aislamiento de la señal y la calidad de la salida de sonido. Si bien todavía existen algunas tarjetas de sonido, son completamente innecesarias en las computadoras modernas como procesamiento de sonido integrado directamente en las placas base. Las CPU son mucho mejores que en el apogeo de las tarjetas de sonido.

NPU

Un tipo relativamente reciente de coprocesador es la NPU o Unidad de Procesamiento Neural. Estos están diseñados para realizar o acelerar cargas de trabajo de IA. Las NPU de alto nivel son bastante similares a las GPU, solo que con optimizaciones específicas para cargas de trabajo de IA. A medida que el rendimiento de la carga de trabajo de IA se vuelve más algo que los usuarios normales usan en teléfonos inteligentes y computadoras, es probable que se vuelvan más comunes.

Coprocesadores integrados

Las CPU modernas integran muchas formas de coprocesador directamente en la matriz o arquitectura general de la CPU. Esto se puede ver fácilmente con los chips gráficos integrados grabados en el mismo silicio que el resto de la CPU. Sin embargo, el procesamiento real no lo realizan los núcleos de la CPU. En las CPU Ryzen de AMD, también hay un troquel de E/S separado que maneja la comunicación entre los chipsets y el resto de la computadora. Algunos dispositivos móviles modernos también vienen con NPU para el procesamiento de IA.

Conclusión

Un coprocesador es un procesador secundario, terciario, cuaternario, etc., en un dispositivo informático donde la CPU es el procesador principal. No hay límite para el número de coprocesadores en un sistema. Sin embargo, el soporte de software/hardware, la disipación de calor, el espacio físico y el costo jugarán un papel.

Un coprocesador maneja tareas para la CPU que aumentan el rendimiento general tanto en la tarea específica al realizarla de manera optimizada moda, y en otras tareas, al negar la necesidad de que la CPU desperdicie su poder de procesamiento realizando la tarea de una manera no optimizada Moda. Con el tiempo, muchos coprocesadores se integran en las CPU a medida que avanza la tecnología. Sin embargo, los límites térmicos y de energía restringen esto en algunos escenarios.