¿Por qué las empresas no fabrican computadoras con GPU en lugar de CPU?

Las GPU se crearon en el día en que las personas desbloqueaban el potencial más desaprovechado de las computadoras, los Juegos. Después de todo, alguien siempre está ahí para convertir todo lo científico en artefactos de placer. En los primeros días, todos los cálculos fueron realizados por la CPU, que tiene un conjunto de instrucciones bastante general para hacer los cálculos y cálculos básicos.

Los juegos iniciales y los videos fueron menos exigentes y simples. Luego, en la década de 1970, apareció el sprite. Los fabricantes comenzaron a construir chips personalizados para facilitar su manipulación. El principal problema en aquellos días era el almacenamiento. El almacenamiento rápido era costoso y, en general, no era una opción almacenar los búferes de cuadros. Por lo tanto, se necesitaban circuitos especializados para renderizar la pantalla mientras se dibujaba (o en línea).

Los videojuegos se pueden decir como un montón de píxeles que deben procesarse para obtener textura y color. La CPU fue construida con la idea de que podía ejecutar cualquier cosa con un conjunto diverso de cargas de trabajo. Pero los juegos eran específicos solo para hacer el procesamiento de píxeles.

La GPU tiene una estructura diferente a la de las CPU. Las CPU tienen un número menor de núcleos pero a mayor velocidad de reloj, mientras que la GPU tiene un número relativamente alto de núcleos pero a velocidades mucho menores. un i7 6700k puede ejecutar cada núcleo hasta 4.2 GHz, y un Nvidia GTX 980 Ti funciona a 1075 MHz.

Dele una CPU para procesar 1 unidad de información, superará a la GPU, dará mil millones, la GPU dejará la CPU en el polvo a pesar de la menor velocidad del reloj. Como todas las unidades deben someterse a la misma operación, la GPU distribuirá la carga. Pero estos deben ser unidades discretas. Como en el caso de la salida de video con cada píxel.

También en los últimos años, el almacenamiento rápido se está volviendo más barato. Las GPU se están aprovechando del hecho. Utilizan un GDDR5 de almacenamiento más rápido con un mayor ancho de banda de memoria utilizando un bus de memoria de 384 bits. Debido a los costos, no se utilizan en CPU de uso general.

En los últimos años, un concepto GPGPU (GPU de propósito general) se ha acelerado. Tal vez nos estamos moviendo hacia el día en que las CPU servirán igual que las GPU.

Lectura adicional: ¿Por qué seguimos usando CPU en lugar de GPU?

si estás interesado en el origen de la GPU

Lo primero que debe quedar claro es que las GPU no son más que un montón de procesadores lentos.

Por lo general, los núcleos de CPU tienen una frecuencia de alrededor de 2 GHz, mientras que los núcleos de GPU tienen una frecuencia de alrededor de 700 MHz. La diferencia es que la CPU tiene estos núcleos en un número de 4,8,16, mientras que la GPU tiene miles.

En segundo lugar, las GPU se diseñaron para tareas que se pueden realizar en paralelo, por eso inicialmente se diseñaron la representación de gráficos de abeto donde puede cada píxel individualmente en paralelo.

Desde el principio, su arquitectura fue diseñada para seguir las instrucciones dadas por la CPU. Debe dejar en claro todas las instrucciones. Las GPU obtuvieron más núcleos pero menos unidades de ALU para que no puedan pensar por sí mismos. Al igual que sucede con las interrupciones del sistema operativo moderno, el cambio de procesos y todo esto no puede ser manejado por la GPU, ya que la CPU lo hace bien.

Ahora, hablando de la ejecución de programas de GPU, solo pueden procesar datos que residen en su memoria, por lo que para que funcione, la transferencia de datos hacia y desde la memoria de GPU dará una sobrecarga significativa.

La programación de GPU está fuertemente basada en conceptos de punteros. Si comete un error en el acceso a la memoria en la GPU, terminaría dañando las células de memoria y un estudiante en la universidad me ha encontrado este problema. Para comenzar con la programación de GPU, debe conocer toda la arquitectura de GPU que está utilizando y cuáles son sus limitaciones.

Y, sobre todo, en la sección de aceleración, la ejecución de GPU se realiza mediante tantos subprocesos que se ejecutan en paralelo. Ahora estos hilos forman un bloque de hilos y estos bloques forman una cuadrícula de bloques. Estos bloques y cuadrículas se ejecutan en SM (multiprocesador de transmisión).

Para eso GPU tiene verdugo llamado warps. Consiste en 32 hilos. Estas deformaciones se ejecutan en SM y los 32 subprocesos en las mismas deformaciones deben ejecutarse en la misma instrucción; de lo contrario, se producen divergencias de subprocesos y el rendimiento es peor incluso que la CPU.

Todos los problemas no son paralelizables, así que, en resumen, no es tan fácil lo que parece.

Espero que ayude.

Según mi conocimiento actual, puedo dar mi respuesta:

CPU-> Unidad central de procesamiento

Que hará todo el cálculo y realizará las diversas tareas asignadas por el usuario y la gestión de la memoria de todas las cosas

GPU-> Unidad de procesamiento gráfico

Lo que hará que todas las imágenes, videos, motores de juegos se manejen en consecuencia.

aquí se dividen en dos (2) canales para proteger la GPU que se calentará mucho si superamos su límite o asignamos ambas tareas (CPU y GPU al mismo tiempo) -> el manejo será muy difícil

Las CPU están diseñadas para cálculos desde el principio y las GPU están pensadas para multimedia como dijiste renderizado gráfico … pero los procesadores AMD intentan poner ambos en un chip y tuvieron éxito hasta cierto punto en los últimos años

pero solo las unidades gráficas por sí solas no manejarán todas las tareas como las tareas realizadas por la CPU. 🙂