Hardware para novatos: ¿qué es y cómo funciona la GPU o tarjeta gráfica?

gpu

La unidad de procesamiento de gráficos es uno de los componentes más importantes en los ordenadores modernos. Es aquí donde se construyen los increíbles gráficos que podemos ver en los videojuegos modernos. Esta vez en Hardware para novatos vamos a hablar del GPU.
Otra nueva semana, y otra nueva entrega de nuestro apartado Hardware para novatos. Y antes habíamos hablado de la placa base y de la unidad de procesamiento central. Esta vez tocaremos un tema de mucho interés para diseñadores gráficos y adeptos a los videojuegos: la unidad de procesamiento de gráficos o GPU.
Como su nombre lo dice, este componente se encarga de procesar lo gráficos dentro de los sistemas de cómputo. Sin embargo, debemos tener muy en cuenta que con el creciente auge de las unidades gráficas, cada día adquieren más y más importancia en otros usos, como la gestión de redes y la supercomputación.

Qué es una GPU


La unidad de procesamiento de gráficos o GPU, en términos simples, es un coprocesador. Se trata de un componente muy parecido al CPU, solo que el tipo de procesamiento al que se dedica es al de gráficos. De este modo, la GPU puede aligerar la carga de información que debe ser procesada por la unidad central, y esta última puede hacer su trabajo de manera más eficiente.

Un coprocesador especializado para los gráficos

Pero entonces, si ambos son esencialmente procesadores, solo que uno está dedicado esencialmente a gráficos para reducir la carga del uno al otro ¿qué diferencia un CPU de una GPU? ¿Puede sustituir una GPU a un CPU?

La diferencia está en la arquitectura de cada uno de estos dos componentes. Aunque están diseñados para funcionar de modo muy similar, las GPU están construidas de modo que sean mucho más eficiente para el cálculo de información gráfica (en términos de arquitectura del Hardware). Esto último las hace estar mucho mas optimizadas que un procesador convencional para el tipo de labor en que se basan, sin embargo, no son tan buenas a la hora de llevar a cabo otras tareas.

Un poco de historia

Los primeros precursores de las unidades de procesamiento gráficos se remontan a la década de los 80. Se trataba de pequeños chips controladores, muy parecidos a los que se usan hoy día para la conectividad Ethernet, Bluetooth o WiFi. Estas primeras protoGPUs eran bastante básicas y a penas cumplían con un puñado de funciones que si bien hoy podrían ser consideradas demasiado pequeñas para requerir una unidad a parte, dadas las capacidades de procesamiento de aquellos procesadores, sí que podían ser necesarias.
Commodore Amiga
Una de las primeras tarjetas gráficas fue el iSBX 275 de Intel, que llegó al mercado en 1983, y se basaba en el controlador 82720 GDC de la firma. Y sería la mítica Commodore Amiga uno de los primeros ordenadores en contar con su propia GPU, en 1985. Ya para 1986 Texas Instruments había logrado desarrollar un procesador con capacidades de procesamiento gráfico incluidas, un precursor de los SoC que actualmente se usan en la industria.
Durante los años 90, las funciones cumplidas por las GPU se incrementaron al ritmo en que crecían sus capacidades, así fue como al principio las gráficas se encargaron del renderizado de gráficos 2D, y posteriormente adquirieron una función fundamental con el auge de los gráficos 3D. Fue por esta época cuando las GPU comenzaron a ser vistas como un componente obligatorio de las consolas, especialmente después de lo que supusieron para los gráficos de la PlayStation original y la Nintendo 64.
De allí hasta el presente, ha habido un complejo proceso de evolución y mejora de capacidades, se establecieron los estándares OpenGL y Direct3D como APIs para facilitar el trabajo a los programadores, y en la actualidad vemos como las GPU se están volviendo componentes obligados, siendo que la mayoría de SoCs cuentan con una GPU integrada.

Tipos de GPU

Actualmente existen tres grandes tipos de unidades de procesamiento gráfico. Más que por la arquitectura, estos difieren entre ellos por el modo en que son implementadas las GPU.
  • Tarjetas dedicadas: Este tipo de unidades gráficas son las que proporcionan mayor potencia. Como su nombre lo indica, tienen una serie de especificaciones y están expresamente diseñadas para cumplir con sus tareas específicas, por lo que son mucho más eficientes. Generalmente se suele entender que una tarjeta dedicada es aquella que se integra a la tarjeta madre mediante un puerto aparte. Esto último no siempre es necesario, y lo que realmente define a una tarjeta gráfica dedicada es que tiene RAM independiente que solo podrá ser utilizada por el GPU, y mientras cumpla con este requisito puede estar integrada a la placa base o incluso al CPU.
tarjeta dedicada
  • Integrados gráficos: A diferencia de las unidades dedicadas, las integradas utilizan la memoria del sistema para realizar sus funciones. Son este tipo de soluciones las más comunes en los ordenadores modernos, estando hasta en el 90% de los equipos de cómputo, incluyendo smartphones, tablets y la mayoría de PCs. Con frecuencia el núcleo central de estas unidades solía estar en la tarjeta madre, pero más recientemente las cosas han cambiado, y tanto AMD como Intel suelen integrarlas ahora en sus procesadores, y les han denominado AMD Accelerated Processing Unit e Intel HD Graphics respectivamente.
  • Híbridos: Diseñadas para mantener precios relativamente bajos y al mismo tiempo asegurarse niveles de potencia adecuados, las unidades gráficas híbridas también comparten la memoria del sistema, pero para disminuir el tiempo de latencia de esta última, integran una cantidad limitada de memoria propia que se encarga de realizar las labores inmediatas. Suele ser éste el tipo de gráficos que encontraremos en ordenadores portátiles que prometen tarjetas dedicadas.

Cómo funciona un GPU

A diferencia de los procesadores centrales, diseñados con pocos núcleos pero altas frecuencias de reloj, las GPU suelen tener grandes cantidades de núcleos de procesamiento a frecuencias de reloj relativamente bajas. En la actualidad, la mayoría de los núcleos de procesamiento están dirigidos a dos funciones: procesamiento de vértices y de píxeles.
graficos
El procesamiento de vértices es relativamente sencillo para las unidades de procesamiento gráfico modernas, siendo de los que menos recursos consumen. En términos sencillos se trata de obtener la información de los vértices, previamente calculada por el CPU, y procesar su ordenamiento espacial, rotación, y qué segmento del vértice será gráficamente visible, para así continuar con el pixelado.
A continuación se procede a procesar los pixeles, o en otras palabras, los gráficos observables como tal. Éste es el proceso más complejo y que requiera más carga de procesamiento, pues se aplicaran todas las capas y efectos necesarios para crear texturas complejas y obtener gráficos lo más realistas posibles.
Por último, una vez procesada la información gráfica, esta es llevada a un monitor digital o analógico (en este último caso, previo paso por un convertidor), según las necesidades propias del ordenador.

Comentarios

Entradas populares de este blog

Dabbleboard, una pizarra para hacer más productivas las reuniones

Community Managers: Una fórmula sencilla de medir el ROI para Pymes

5 procesadores de texto alternativos y no convencionales