Las aceleradoras gráficas o tarjetas gráficas son memorias de expansión para una computadora las cuales se encargan de procesar los datos de video en 2 y 3D para transformarlos en información comprensible y representable para los dispositivos de salida como monitores o televisores y liberar de este trabajo al CPU y agilitarlo en otras funciones de mayor importancia para el mismo. Es un dispositivo que da al ordenador la capacidad mostrar imágenes en pantalla. Las prestaciones de una tarjeta gráfica suelen depender de la cantidad de puntos y de colores que es capaz de mostrar, de su rapidez, y de la cantidad de memoria de que dispone (a mayor cantidad de memoria, será capaz de mostrar imágenes con más puntos y/o más colores). La tarjeta gráfica debe ir en consonancia con la pantalla o monitor.
COMPONENTES DE UNA ACELERADORA GRAFICA La Aceleradora grafica al igual que la computadora donde residirá está formada por un gran conjunto de piezas.
1. GPU (GRAPHICS PROCESSING UNIT O PROCESADOR GRAFICO) El GPU o co-procesador gráfico está dedicado al procesamiento de gráficos; su razón de ser es aligerar la carga car ga de trabajo del procesador central y por ello optimizar para el CPU los cálculo en coma flotante, predominante en las funciones 3D. La mayor parte de la información ofrecida en la especificación de una tarjeta gráfica se refiere a las características de la GPU, pues constituye la parte más importante de la tarjeta. Dos de las más importantes cosas a tener en cuenta en una aceleradora grafica de dichas características son la frecuencia de reloj del núcleo (que hasta el 2006 oscilaban entre 250mhz y 750mhz) y el número de pipelines (vertex y fragment shaders), encargadas de traducir una imagen 3D compuesta por vértices y líneas en una imagen 2D compuesta por píxeles. Elementos generales de una GPU:
Shaders: es elemento más notable de potencia de una GPU, estos shaders unificados reciben el nombre de núcleos CUDA en el caso de NVIDIA y procesadores stream en el caso de AMD. Son una evolución natural de los antiguos pixel shader (encargados de la rasterización de texturas) y vertex shader (encargados de la geometría de los objetos), los cuales anteriormente actuaban de forma independiente. Los shaders unificados son capaces de actuar tanto de vertex shader como de pixel shader según la demanda, aparecieron en el 2007 con los chips G90 de NVIDIA (Series 8000) y los chips R600 para AMD (Series HD 2000), antigua ATi, incrementando la potencia drásticamente respecto a sus familias anteriores. ROP: se encargan de representar los datos procesados por la GPU en la pantalla, además también es el encargado de los filtros como Antialiasing.
2. MEMORIA DE VIDEO GDDR O DDR Las memorias de una aceleradora son muy importantes a la hora de pedir levantar un programa o juego que requiera un cierto tamaño por parte de dichas memoria EJ: los juegos que hoy por hoy piden 256mb estos 256mb son de las RAM de la aceleradora. Según la tarjeta gráfica esté integrada en la l a placa base (bajas prestaciones) o no, utilizará la memoria RAM propia del ordenador o dispondrá de una propia. Dicha memoria es la memoria de vídeo o VRAM. Su tamaño oscila entre 128 MB y 2 GB. La memoria empleada hasta hoy está basada en tecnología DDR, destacando DDR2, GDDR3, GDDR4 y GDDR5. La frecuencia de reloj de la memoria se encuentra entre 400 MHz y 3,6 GHz. 2.1 ACELERADORA CON MEMORIA PROPIA: Se trata de gráficas que incorporan toda su memoria en la propia tarjeta. Este sistema es el utilizado por todas las tarjetas gráficas ISA, VESA, PCI y AGPy por muchas PCIe. En este tipo de tarjetas gráficas la totalidad de la memoria está en la propia tarjeta.
2.2 ACELERADORA CON MEMORIA DEDICADA EN RAM: Esta forma de incorporación de memoria a una aceleradora grafica ya sea en un motherboar de un PC hogar o una laptop está dada por el hecho de que dichas aceleradoras están onboard (integradas al motherboar) y En este tipo de aceleradoras la propia BIOS aparta la RAM que va a ser utilizada como memoria gráfica. Este es el motivo por el que, si tenemos una placa base con una gráfica integrada de 128MB y una memoria RAM instalada de 1024MB el sistema nos va a indicar que tenemos 896MB de memoria RAM, si bien la BIOS nos va a reconocer 1024MB (que es el total de memoria RAM que tenemos instalada). Este tipo de memoria está controlada
por el Northbridge de la placa base, al igual que la gráfica y el resto de la RAM, aunque en el caso de sistemas basados en AMD 64 la RAM es controlada directamente por el procesador. 2.3 ACELERADORA CON MEMORIA COMPARTIDA (TURBOCACHÉ O HYPERMEMORY): Se trata de dos sistemas muy similares, por no decir casi idénticos, desarrollados en el caso de TurboCaché por NVidia y en el caso de HyperMemory por ATI. En un principio se desarrollaron para poder ofrecer gráficas de altas prestaciones, pero a un precio económico (la memoria GDDR es muy cara), y consiste básicamente en que la memoria de la aceleradora se reparte entre memoria del tipo GDDR incluida en la tarjeta gráfica y memoria principal del pc utilizada de forma dinámica, pero con el tiempo se está utilizando en casi todas las gráficas, ya que es una forma económica de ofrecer gráficas con una cantidad grande de memoria. Esto quiere decir que, por ejemplo, una GeForce 6200LE de 256MB de memoria en realidad tan solo tiene 64MB de memoria GDDR, siendo los 192GB restantes en base a la utilización de memoria RAM. El que lo haga de forma dinámica quiere decir que, al contrario de lo que ocurre con las gráficas con memoria dedicada en RAM, en las que desde un principio se reserva la memoria RAM asignada a la gráfica y la deja sin posibilidad de ser utilizada para otros fines (de hecho no se contabiliza en la memoria del sistema), la gráfica tiene asignada una cantidad máxima de memoria RAM que puede utilizar, pero tan sólo la va a utilizar cuando realmente la necesite y siempre y cuando en ese momento esté disponible. Esta cantidad de memoria RAM viene definida en su tamaño máximo por las características de la tarjeta gráfica, y no suele ser controlable por el usuario. Esta tecnología es aplicable solo a las gráficas PCIe y a algunas gráficas integradas en placa base, pero de gama alta, que tienen su propia memoria GDDR y además utilizan esta tecnología. Pero debemos tener en cuenta una cuestión: Aunque disponemos de bastante memoria, el ancho de banda de esta no es el mismo, ya que el ancho de banda que tenemos en un puerto PCIe 16x (que es el utilizado para las tarjetas gráficas) es de 4GB/s en cada dirección. Esto hace que el procesador de la gráfica tenga que repartir la carga entre los distintos tipos de memoria y ejecutar aquellos procesos que necesiten un ancho de banda mayor en la memoria de la propia tarjeta (GDDR), que tiene un ancho de banda muy superior, dejando a la memoria en TurboCaché o HyperMemory aquellos que precisen de un menor ancho de banda. Volvemos a repetir que tampoco en estos casos tiene ninguna relevancia la diferencia entre los tipos de memoria, ni se presenta ningún tipo de incompatibilidades. Lo que sí que tiene es una influencia bastante grande en el rendimiento final de la tarjeta gráfica, ya que cuanta mayor sea la cantidad de memoria en tarjeta (GDDR) mayores van a ser las prestaciones de ésta. A igualdad de memoria (pongamos 512MB) va a tener unas mayores prestaciones la gráfica en la que estos 512MB sean íntegramente a base
de memoria GDDR integrada en la propia tarjeta gráfica que aquella que utilice alguna tecnología TurboCaché o HyperMemory. Este es uno de los motivos por los que algunas gráficas con procesador de la misma serie tienen un rendimiento igual o superior a otras en las que la cantidad de memoria es superior, pero recurren a estas tecnologías, teniendo realmente menos memoria GDDR. Una buena gráfica con 256MB, todos GDDR, puede tener un mejor rendimiento que otra con 512GB, pero de los que tan solo 128GB son GDDR, recurriendo a la RAM para los 384MB restantes. 2.4 CARACTERÍSTICAS DE MEMORIA GRÁFICA DE UNA TARJETA GRÁFICA
Capacidad: la capacidad de la memoria determina el número máximo de datos y texturas procesadas, una capacidad insuficiente se traduce en un retardo a espera de que se vacíen esos datos. Sin embargo es un valor muy sobrevalorado como estrategia recurrente de marketing para engañar al consumidor, tratando de hacer creer que el rendimiento de una tarjeta gráfica se mide por la capacidad de su memoria. Es una métrica importante en resoluciones grandes (Superiores a 1440p) y monitores múltiples ya que cada imagen toma mucho más espacio en la VRAM. Interfaz de Memoria: también denominado bus de datos, es la multiplicación resultante del de ancho de bits de cada chip por su número de unidades. Es una característica importante y determinante, junto a la velocidad de la memoria, a la cantidad de datos que puede transferir en un tiempo determinado, denominado ancho de banda. Una analogía al ancho de banda se podría asociar al ancho de una autopista o carriles y al número de vehículos que podrían circular a la vez. La interfaz de memoria se mide en bits. Velocidad de Memoria: es la velocidad a la que las memorias pueden transportar los datos procesados, por lo que es complemento a la interfaz de memoria para determinar el ancho de banda total de datos en un tiempo determinado. Continuando la analogía de la circulación de los vehículos de la autopista, la velocidad de memoria se traduciría en la velocidad máxima de circulación de los vehículos, dando resultado a un mayor transporte de mercancía en un mismo periodo de tiempo. La velocidad de las memorias se mide en hercios (su frecuencia efectiva) y se van diseñando tecnologías con más velocidad, se destacan las adjuntas en la siguiente tabla:
Tecnología
Frecuencia (MHz)
efectiva
Ancho de banda (GB/s)
GDDR
166 - 950
1,2 - 30,4
GDDR2
533 - 1000
8,5 - 16
GDDR3
700 - 1700
5,6 - 54,4
GDDR4
1600 - 1800
64 - 86,4
GDDR5
3200 - 7000
24 - 448
HBM
500
512
Ancho de banda (AdB): es la tasa de datos que pueden transportarse en una unidad de tiempo. Un ancho de banda insuficiente se traduce en un importante limitador de potencia de la GPU. Habitualmente se mide en "Gigabytes por segundo" (GB/s). Su fórmula general es el cociente del producto de la interfaz de memoria (expresada en bits) por la frecuencia efectiva de las memorias (expresada en gigahercios), entre 8 para convertir bits a bytes.
Por ejemplo, tenemos una tarjeta gráfica con 256 bits de interfaz de memoria y 4200 MHz de frecuencia efectiva y necesitamos hallar su ancho de banda:
Una parte importante de la memoria de un adaptador de vídeo es el Z-Buffer, encargado de gestionar las coordenadas de profundidad de las imágenes en los gráficos 3D, es decir, es el espacio de memoria donde se gestiona la profundidad en los gráficos.
3. EL RAMDAC Es un conversor de digital a analógico de memoria RAM. Se encarga de transformar las señales digitales producidas en el ordenador en una señal analógica que sea interpretable por el monitor. Según el número de bits que maneje a la vez y la velocidad con que lo haga, el conversor será capaz de dar soporte a diferentes velocidades de refresco del monitor (se recomienda trabajar a partir de 75 Hz, nunca c on menos de 60). Dada la creciente popularidad de los monitores digitales y que parte de su funcionalidad se ha trasladado a la placa base, el RAMDAC está quedando obsoleto. 4. SALIDAS DE UNA ACELERADORA GRAFICA Son las que conectan a la aceleradora con los dispositivos de salida visual al usuario como el monitor o televisores. Las más utilizadas hoy por hoy son las salidas VGA y DVI después encontramos las salidas de SV súper video para la conexión de televisores TCR y ahora más recientemente las salidas HDMI tecnología de audio y vídeo digital cifrado sin compresión en un mismo cable para la conexión de televisores LCD.
VGA: el Video Graphics Array (VGA) o Super Video Graphics Array (SVGA o Súper VGA) fue el estándar analógico de los años 1990; diseñado para dispositivos con tubo de rayos catódicos (CRT); sufre de ruido eléctrico y distorsión por la conversión de digital a analógico y el error de muestreo al evaluar los píxeles a enviar al monitor. Se conecta mediante 15 pines con el conector D-sub: DE-15. Su utilización continúa muy extendida. DVI: Digital Visual Interface (DVI) o “interfaz visual digital” es sustituta de la anterior, pero digital; fue diseñada para obtener la máxima calidad de visualización en las pantallas digitales o proyectores. Se conecta mediante pines. Evita la distorsión y el ruido al corresponder directamente un píxel a representar con uno del monitor en la resolución nativa del mismo. Cada vez más adoptado, aunque compite con el HDMI, pues el DVI no es capaz de transmitir audio. HDMI: la “interfaz multimedia de alta definición” o High-Definition Multimedia Interface (HDMI) es una tecnología propietaria transmisora de audio y vídeo digital de alta definición cifrado sin compresión, en un mismo cable. Se conecta mediante patillas de contacto. Fue ideado inicialmente para televisores, y no para monitores, por eso no apaga la pantalla cuando deja de recibir señal y debe apagarse manualmente en caso de monitores.
Otras no tan extendidas: por uso minoritario, por no ser implementadas o por ser obsoletas; son: DISPLAYPORT: puerto para tarjetas gráficas creado por VESA y rival del HDMI, transfiere vídeo a alta resolución y audio. Sus ventajas son que está libre de patentes, y por ende de regalías para incorporarlo a los aparatos, también dispone de unas pestañas para anclar el conector impidiendo que se desconecte el cable accidentalmente. Cada vez más tarjetas gráficas van adoptando este sistema, aunque sigue siendo su uso minoritario, existe una versión reducida de dicho conector llamada Mini DisplayPort, muy usada para tarjetas gráficas con multitud de salidas simultáneas, como pueden ser 5. S-VIDEO (SEPARATED-VIDEO, VIDEO SEPARADO): implementado sobre todo en tarjetas con sintonizador TV y/o chips con soporte de vídeo NTSC/PAL, simplemente se está quedando obsoleto.
VÍDEO COMPUESTO: analógico de muy baja resolución mediante conector RCA (Radio Corporation of America). Completamente en desuso para tarjetas gráficas, aunque sigue siendo usado para TV. VÍDEO POR COMPONENTES: sistema analógico de transmisión de vídeo de alta definición, utilizado también para proyectores; de calidad comparable a la de SVGA, dispone de tres clavijas (Y, Cb y Cr). Anteriormente usado en las PC y estaciones de trabajo de gama alta, ha quedado relegado a TV y videoconsolas. DA-15 CON CONECTOR RGB (Red, Green, Blue, «Rojo, Verde, Azul») usado mayoritariamente en los antiguos Apple Macintosh. Completamente en desuso. DIGITAL TTL CON CONECTOR DE-9: usado por las primitivas tarjetas de IBM (MDA, CGA y variantes, EGA y muy contadas VGA). Completamente obsoleto.
5. LA INTERFACE CON EL MOTHERBOAR Es el puerto o conexión que tiene la tarjeta a la placa mother la variaciones entre ellos son los buses de trasferencia de información. Los más usados hoy son los PCI-E que es la tecnología que sustituyo al puerto AGP. Los sistemas de conexión entre la tarjeta gráfica y la placa base en orden cronológico han sido principalmente: Ranura MSX: bus de 8 bits usado en los equipos MSX. ISA: arquitectura de bus de 16 bits a 8 MHz, dominante durante los años 1980; fue creada en 1981 para los IBM PC. Zorro II: usado en los Commodore Amiga 2000 y Commodore Amiga 1500. Zorro III: usado en los Commodore Amiga 3000 y Commodore Amiga 4000 NuBus: usado en el ordenador Apple Macintosh. Processor Direct Slot: usado en los Apple Macintosh. MCA: en 1987, intento de sustitución de ISA por IBM. Disponía de 32 bits y una velocidad de 10 MHz, pero era incompatible con los anteriores.
EISA: en 1988, respuesta de la competencia de IBM; de 32 bits, 8,33 MHz y compatible con las placas anteriores. VESA: extensión de ISA que solucionaba la restricción de los 16 bits, duplicando el tamaño de bus y con una velocidad de 33 MHz. PCI: bus que desplazó a los anteriores, a partir de 1993; con un tamaño de 32 bits y una velocidad de 33 MHz, permitía una configuración dinámica de los dispositivos conectados sin necesidad de ajustar manualmente los jumpers. PCI-X fue una versión que aumentó el tamaño del bus hasta 64 bits y aumentó su velocidad hasta los 133 MHz. AGP: bus dedicado, de 32 bits como PCI; en 1997, la versión inicial incrementaba la velocidad hasta los 66 MHz. PCI-Express (PCIe): desde 2004, es la interfaz serie que empezó a competir contra AGP; en 2006, llegó a doblar el ancho de banda del AGP. Sufre de constantes revisiones multiplicando su ancho de banda, ya existe la versión 3.0. No debe confundirse con PCIX, versión de PCI. En la tabla se muestran las características más relevantes de algunas de dichas interfaces.
Bus
Anchura (bits)
Frecuencia (MHz)
Ancho de banda (MB /s)
Puerto
ISA XT
8
4,77
8
Paralelo
ISA AT
16
8,33
16
Paralelo
MCA
32
10
20
Paralelo
EISA
32
8,33
32
Paralelo
VESA
32
40
160
Paralelo
PCI
32 - 64
33 - 100
132 - 800
Paralelo
AGP 1x
32
66
264
Paralelo
AGP 2x
32
133
528
Paralelo
AGP 4x
32
266
1000
Paralelo
AGP 8x
32
533
2000
Paralelo
PCIe x1
1*32
25 / 50
100 / 200
Serie
PCIe x4
1*32
25 / 50
400 / 800
Serie
PCIe x8
1*32
25 / 50
800 / 1600
Serie
PCIe x16
1*32
25 / 50
1600 / 3200
Serie
PCIe x16 2.0
1*32
25 / 50
3200 / 6400
Serie
6. DISPOSITIVOS REFRIGERANTES Las aceleradoras generan grandes cantidades de calor y por ello requieren de un sistema de refrigeración. Para este cometido se emplea un sistema de disipadores y ventiladores para que dicha tarjeta no sufra de malos funcionamientos. DISIPADOR: dispositivo pasivo (sin partes móviles y, por tanto, silencioso); compuesto de un metal muy conductor del calor, extrae este de la tarjeta. Su eficiencia va en función de la estructura y la superficie total, por lo que a mayor demanda de refrigeración, mayor debe ser la superficie del disipador. VENTILADOR: dispositivo activo (con partes móviles); aleja el calor emanado de la tarjeta al mover el aire cercano. Es menos eficiente que un disipador, siempre que nos refiramos al ventilador solo, y produce ruido al tener partes móviles. Aunque diferentes, ambos tipos de dispositivo son compatibles entre sí y suelen ser montados juntos en las tarjetas gráficas; un disipador sobre la GPU extrae el calor, y un ventilador sobre él aleja el aire caliente del conjunto. LA REFRIGERACIÓN LÍQUIDA O (WATERCOOLING) es una técnica de enfriamiento utilizando agua en vez de disipadores de calor y ventiladores (dentro del chasis), logrando así excelentes resultados en cuanto a temperaturas, y con enormes posibilidades en overclock. Se suele realizar con circuitos de agua estancos. El agua, y cualquier líquido refrigerante, tienen mayor capacidad térmica que el aire. A partir de este principio, la idea es extraer el calor generado por los componentes de ordenador usando como medio el agua, enfriarla una vez fuera del gabinete y luego reintroducirla.
Conjunto de disipador y ventilador
7. ALIMENTACIÓN DE ENERGÍA Toda aceleradora grafica que necesite para funcionar de un poder menor a 150w es alimentada por el conector PCI-E pero con las aceleradoras de ahora esto es casi que imposible por eso las aceleradoras que consumen por arriba de los 150w son alimentadas por un cable que sale directo de la fuente PCI-E power el c ual le da energía a la Aceleradora. 8. API PARA GRÁFICOS A nivel de programador, trabajar con una tarjeta gráfica es complicado; por ello, surgieron interfaces que abstraen la complejidad y diversidad de las tarjetas gráficas. Los dos más importantes son:
Direct3D: lanzada por Microsoft en 1996, forma parte de la librería DirectX. Funciona sólo para Windows. Utilizado por la mayoría de los videojuegos comercializados para Windows. OpenGL: creada por Silicon Graphics a principios de los años 1990; es gratuita, libre y multiplataforma. Utilizada principalmente en aplicaciones de CAD, realidad virtual o simulación de vuelo. Está siendo desplazada del mercado de los videojuegos por Direct3D.
HISTORIA DE LAS TARJETAS GRÁFICAS La historia de las tarjetas gráficas da comienzo a finales de los años 1960 cuando se pasa de usar impresoras, como elemento de visualización, a utilizar monitores. Las primeras tarjetas sólo eran capaces de visualizar texto a 40x25 u 80x25, pero la aparición de los primeros chips gráficos como el Motorola 6845 permiten comenzar a dotar a los equipos basados en bus S100 o Eurocard de capacidades gráficas. Junto con las tarjetas que añadían un modulador de televisión fueron las primeras en recibir el término “tarjeta de video”.
PCI S3 VIRGE
El éxito de doméstico y las
la ordenador
primeras videoconsolas hacen que por abaratamiento de costes (principalmente son diseños cerrados), esos chips vayan integrados en la placa base. Incluso en los equipos que ya vienen con un chip gráfico se comercializan tarjetas de 80 columnas, que añadían un modo texto de 80x24 u 80x25 caracteres, principalmente para ejecutar sof tCP/M (como las de los Apple II y Spectravideo SVI-328). Curiosamente la tarjeta de vídeo que viene con el IBM PC, que con su diseño abierto herencia de los Apple II popularizará el concepto de tarjeta gráfica intercambiable, es una tarjeta de sólo texto. La Monochrome Display Adapter (MDA), desarrollada porIBM en 1981, trabajaba en modo texto y era capaz de representar 25 líneas de 80 caracteres en pantalla. Contaba con una memoriaVRAM de 4KB, por lo que sólo podía trabajar con una página de memoria. Se usaba con monitores monocromo, de tonalidad normalmente verde. A partir de ahí, se sucedieron diversas controladoras para gráficos resumidas en la tabla adjunta. Año
Modo texto
Modo gráficos
Colores
Memoria
MDA
1981
80*25
-
1
4 KiB
CGA
1981
80*25
640*200
4
16 KiB
HGC
1982
80*25
720*348
1
64 KiB
EGA
1984
80*25
640*350
16
256 KiB
IBM 8514
1987
80*25
1024*768
256
-
MCGA
1987
80*25
320*200
256
-
VGA
1987
720*400
640*480
256
256 KiB
SVGA
1989
80*25
1024*768
256
1 MiB
XGA
1990
80*25
1024*768
65K
2 MiB
Video Graphics Array (VGA) tuvo una aceptación masiva, lo que llevó a compañías
como ATI, Cirrus Logic y S3 Graphics, a trabajar sobre dicha tarjeta para mejorar la resolución y el número de colores. Así nació el estándar Super Video Graphics Array (SVGA, oSúper VGA). Con dicho estándar se alcanzaron los 2 MB de memoria VRAM, así como resoluciones de 1024x768 pixeles a 256 colores. La competencia de las PC, Commodore Amiga 2000 y Apple Macintosh reservaron en cambio esa posibilidad a ampliaciones “profesionales”, integrando cas i siempre la GPU (que batía en potencia con total tranquilidad a las tarjetas gráficas de las PC del momento) en sus placas base. Esta situación se perpetúa hasta la aparición del bus Peripheral Component Interconnect (PCI), que sitúa a las tarjetas de PC al nivel de los buses internos de sus competidores, al eliminar el cuello de botella que representaba el busIndustry Standard Architecture (ISA). Aunque siempre por debajo en eficacia (con la misma GPU “S3 ViRGE”, lo que en una PC es una tarjeta gráfica avanzada deviene en acelerador 3D profesional en los Commodore Amiga con ranura Zorro III), la fabricación masiva (que abarata sustancialmente los costes) y la adopción por otras plataformas del bus PCI hace que los chips gráficos VGA comiencen a salir del mercado de la PC. En 1995, la evolución de las tarjetas gráficas dio un giro importante con la aparición de las primeras tarjetas 2D/3D, fabricadas porMatrox, Creative, S3 y ATI, entre otros. Dichas tarjetas cumplían el estándar SVGA, pero incorporaban funciones 3D. En 1997, 3dfx lanzó el chip gráfico “Voodoo”, con una gran potencia de cálculo, así como nuevos efectos 3D (Mip Mapping, Z-Buffering, Antialiasing, etcétera). A partir de ese punto, se suceden una serie de lanzamientos de tarjetas gráficas como “Voodoo2” de 3dfx, “TNT” y “TNT2” de
NVIDIA. La potencia alcanzada por dichas tarjetas fue tal, que el puerto PCI donde se conectaban se quedó corto de ancho de banda. Intel desarrolló el puerto Accelerated Graphics Port (AGP) que solucionaría los cuellos de botella que empezaban a aparecer entre el procesador y la tarjeta. Desde 1999 hasta 2002, NVIDIA dominó el mercado de las tarjetas gráficas (comprando incluso la mayoría de bienes de 3dfx)14 con su gama GeForce. En ese período, las mejoras se orientaron hacia el campo de los algoritmos 3D y la velocidad de los procesadores gráficos. Sin embargo, las memorias también necesitaban mejorar su velocidad, por lo que se incorporaron las memorias DDR a las tarjetas gráficas. Las capacidades de memoria de vídeo en la época pasan de los 32 MB de GeForce, hasta los 64 y 128 MB de GeForce 4.
La mayoría de videoconsolas de sexta generación y sucesivos utilizan chips gráficos derivados de los más potentes aceleradores 3D de su momento. Los Apple Macintoshincorporan chips de NVIDIA y ATI desde el primer iMac, y los modelos PowerPC con bus PCI o AGP pueden usar tarjetas gráficas de PC con BIOS no dependientes de CPU. En 2006, y en adelante, NVIDIA y ATI (ese mismo año comprada por AMD) se repartían el liderazgo del mercado15 con sus series de chips gráficos GeForce y Radeon, respectivamente. GeForce y Radeon son ejemplos de series de procesadores gráficos.
DISEÑADORES, FABRICANTES Y ENSAMBLADORES En el mercado de las tarjetas gráficas hay que distinguir tres tipos de empresas: 1. Diseñadores de GPU: diseñan y generan exclusivamente la GPU. Los dos más importantes son: AMD (Advanced Micro Technologies (ATi)
Devices),
anteriormente
conocida
como ATI
NVIDIA
Intel, también se destaca además de los antes citados (NVIDIA y AMD), para la GPU integrada en elchipset de la placa base.
Otros fabricantes como Matrox o S3 Graphics tienen una cuota de mercado muy reducida. Todos ellos contratan y encargan a fabricantes ciertas unidades de chips a partir de un diseño.
2. Fabricantes de GPU: son quienes fabrican y suministran las unidades extraídas de las obleas de chips a los ensambladores. TSMC y Global Foundries son claros ejemplos.
3. Ensambladores: integran las GPU proporcionadas por los fabricantes con el resto de la tarjeta, de diseño propio. De ahí que tarjetas con el mismo chip tengan formas o conexiones diferentes o puedan dar ligeras diferencias de rendimientos, en especial tarjetas gráficas modificadas u overclokeadas de fábrica. En la tabla adjunta se muestra una relación de los dos diseñadores de chips y algunos de los ensambladores de tarjetas con los que trabajan. Diseñadores de GPU AMD NVIDIA Ensambladores de Tarjetas
ASUS
ASUS
CLUB3D
CLUB3D
GIGABYTE
GIGABYTE
MSI
MSI
POWERCOLOR
EVGA
GECUBE
POINT OF VIEW
XFX
GAINWARD
SAPPHIRE
ZOTAC
HIS
ECS ELITEGROUP
DIAMOND
PNY
-
SPARKLE
-
GALAXY
-
PALIT
MODELOS DE TAJETAS GRAFICAS NVIDIA Y AMD
RADEON R9
GTX TITAN Z
HISTORIA DE LAS GPU Las modernas GPU son descendientes de los chips gráficos monolíticos de finales de la década de 1970 y 1980. Estos chips tenían soporte BitBLT limitado en la forma de sprites ( si es que tenían dicho soporte del todo), y usualmente no tenían soporte para dibujo de figuras. Algunos GPU podían ejecutar varias operaciones en una lista de display y podían usar DireDMA para reducir la carga en el procesador anfitrión; un ejemplo temprano es el coprocesador ANTIC usado en el Atari 800 y el Atari 5200. Hacia finales de la década de 1980 y principios de la de 1990, los microprocesadores de propósito general de alta velocidad fueron muy populares para implementar las GPU más avanzadas. Muchas tarjetas gráficas para PC y estaciones de trabajo usaban procesadores digitales de señales (DSP por sus siglas en inglés) tales como la serie TMS340 de Texas Instruments, para implementar funciones de dibujo rápidas y muchas impresoras láser contenían un procesador de barrido de imágenes "PostScript" (un caso especial de GPU) corriendo en un procesador RISC como el AMD 29000.
Conforme la tecnología de proceso de semiconductores fue mejorando, eventualmente fue posible mover las funciones de dibujo y las BitBLT a la misma placa y posteriormente al mismo chip a manera de un controlador de búfer de marcos (frames), tal como VGA. Estos aceleradores gráficos de 2D "reducidos" no eran tan flexibles como los basados en microprocesadores, pero eran mucho más fáciles de hacer y vender. La Commodore AMIGA fue la primera computadora de producción en masa que incluía una unidad blitter y el sistema gráfico IBM 8514 fue una de las primeras tarjetas de video para PC en implementar primitivas 2D en hardware.
EVOLUCIÓN Las
GPU’s
han
evolucionado
desde
implementaciones
de
hardware
específico
a
hardware programable. Las funciones fijas que hacían transformaciones de modelos en vértices (vertex) y/o texturado de pixels han sido reemplazadas por arreglos de procesadores, denominados shaders, en forma optimizada. Los programadores utilizan estos shaders para realizar multiplicación de matrices, exponenciación, cálculos de raíz cuadrada, transformaciones y cálculos de iluminación. Los shaders son programados en lenguajes como por ejemplo: Assembler, Cg, GLSL, HLSL.
Procesamiento 3D: Modelado de escenas Consiste en representar todos los objetos mediante conjuntos de triángulos, formados por “vértices” (vertex) Uso de algoritmos matemáticos Se comienza agregando triángulos hasta representar superficies muy complejas.
Y continúa con Rasterización (determinación de superposiciones de píxeles de difere ntes polígonos en la imagen), luego Texturado (aplicar texturas mediante mapas de bits) y el Calcul o de superficies ocultas. Originalmente llevado a cabo mediante un pipeline de Hardware que implementaba en forma secuencial todos estos procesos tomando como entrada un “stream” o “flujo continuo” de vert ex
Nuevo enfoque, Multiprocesamiento Se utiliza una “grilla” de Unidades de Procesamiento multipropósito (UPs) agrupados en “clust ers”
Cualquiera de ellos puede implementar cualquiera de las antes mencionadas “etapa s” del “pipeline” gráfico Cada uno de ellos cuenta con memoria cache propia, unidades de punto flotante y de Captura de Texturas (Texture Fetch)
GeForce 9800 GX2: Acelerador gráfico ejemplo 256 Stream Processors Core Clock: 600 Mhz Shader Clock: 1500 Mhz Memory Clock: 1000 Mhz Memory Amount: 1GB Memory Interface: 512 bits Memory Bandwidth: 128 GB/sec Texture Fill Rate: 76,8 billion/sec Conclusión: Necesidad de ancho de banda con la memoria y storage. Presentado el GPU nos queda una pregunta, cómo impacta la alta capacidad de procesamiento de los aceleradores gráficos en la arquitectura de la PC. Analicemos el impacto en el sistema. El impacto del acelerador gráfico en el bus pci
Peripheral Component Interconnect Paralelo Arbitraje por interrupción LoadStore Architecture (via PCI Configuration Space) Memory, I/O, Config PCI Power Management Parity and ECC
Evolución del bus PCI
Inicialmente propuesto por Intel, PCI v1.0 en 1991 Special Interest Group (PCISIG) presenta PCI 2.0 en 1993 32 bits Throughput @ 33 MHz: 133 MB/sec
Versión 2.1 fue aprobada en 1995 PCI Dual 3.3V y 5V 64 Bit slots y 66 MHz 32Bit throughput @ 66 MHz: 266 MB/sec 64Bit throughput @ 66 MHz: 532 MB/sec
Versión 2.3 fue aprobada en 2002 Abandona 5V, pero las PCI Duales siguen válidas
PCI: estructura y señales
Se configura como bus de 32 ó 64 bits 49 líneas de señal obligatorias Sistema: reloj y reset 32 líneas multiplexadas (datos y direcciones) Líneas para interpretar y validar Control de interfaz: coordinan envío y recepción Arbitraje: pares de líneas dedicadas maestrosárbitro Señales de error (ej: paridad).
PCI 64 bits: Aparecen 51 señales opcionales
Interrupción: líneas dedicadas para cada dispositivo Soporte de caché para que se conecten al PCI 32 líneas multiplexadas (datos y direcciones) (adicionales) Líneas de interpretación y validación 2 líneas que permiten que 2 dispositivos PCI utilicen 64 bits. Terminales de test: estándar IEEE 1149.1
El impacto del acelerador gráfico en el bus AGP
Bus de alto rendimiento para controlador gráfico. (1998) AGP reduce cuellos de botella ya que es un bus dedicado de alta velocidad. Responde a las necesidades de las aplicaciones gráficas: Permite visibilidad directa Video Memoria del sistema 32 líneas multiplexadas Alta velocidad (reloj del bus de la CPU) AGP en el flanco ascendente como en el descendente de la señal de clock Transmisión: 528 MB/s ó 1 GB/s
Plataforma PCI: Arquitectura y Performance A medida que aumentan los requerimientos de ancho de banda de bus por part e de los dispositivos, las plataformas PCI evolucionaron en una arquitectura compuesta por dos puentes: Norte: representado por el Hub de Memoria. (North Bridge) Sur: representado por el Hub de E/S. (South Bridge) Los recursos de alta performance se conectan al N.B. Los de baja performance al S.B. Dentro de los recursos de baja performance del Hub Controlador de E/S, algunos requieren conexión de alta performance (p.ej. Un CD) y otros se pueden utilizar como un segmento compartido del bus PCI (p.ej. Ethernet y SCSI) Arquitectura PCIX PCIX fue desarrollado para extender la performance de PCI. El Bridge HOST/PCIX representa una consolidación de los controladores de Hub en una estructura de Bridge único. Inicialmente PCIX simplemente incrementa la frecuencia de la línea de la señal CLK respecto d e PCI con el objeto de incrementar el ancho de banda del segmento del bus. Eventualmente PCIX DDR y QDR proveen una fuente de sincronismo para mejorar el ancho de banda del segmento. “D” y “Q” se refieren a dual y quad como múltiplos respectivamente de la señal de strobe, dentro de un mismo período de la señal CLK. El incremento en el ancho de banda del segmento del bus reduce ampliamente el número de slots de conexión de placas por cada segmento de bus.
El aumento en la performance de los PCIX DDR y QDR resulta en interconexiones punto a punt o.
Otro enfoque al problema Los datos tienen que estar marcados, de esa forma el sistema de I/O reconocerá el tipo de tráfico Simplificar y Homogeneizar las arquitecturas Mantener la compatibilidad con modelo de software de PCI Más ancho de banda QoS Hot Swap