domingo, 2 de junio de 2013

Enlaces

Monografías, disponible en:
http://www.monografias.com/trabajos37/tarjetas-de-video/tarjetas-video2.shtml

Nvidia, disponible en:
http://www.nvidia.com/page/workstation.html

OpenGL, disponible en:
http://www.opengl.org

Sony España, disponible en:
http://www.sony.es/

Wikipedia en ingles, disponible en:
http://en.wikipedia.org/wiki/Graphics_card

Wikipedia en español, disponible en:
http://es.wikipedia.org/wiki/Tarjeta_grafica

Adicionales:


www.tomshardware.com
www.chilecomparte.cl
www.hardwaresecrets.com

Conclusiones

Hemos comprobado la complejidad e importancia que representa un elemento aveces despreciado por un usuario sin los conocimientos adecuados, la tarjeta de video es sin duda alguna uno de los dispositivos mas relevantes que componen un computador. Y saber elegir los componentes que mas nos acomoden es en definitiva el exito de una adquisición.

Existen dos tipos de tarjetas graficas, aceleradoras e integradas. Las primeras poseen GPU, memoria RAM propia y una interfaz de conexión, son programables (ejecutan instrucciones por hardware), muy eficientes y realizan cálculos mas rápido que un CPU convencional. En cambio las tarjetas integradas no poseen un GPU propiamente tal, las instrucciones a diferencia de las aceleradoras, las ejecutan por medio de emulación, el trabajo lo hace mayoritariamente el procesador central y la memoria ram la extraen del sistema principal, son mas lentas y menos eficientes.

Para un individuo que busca altas prestaciones, como diseño grafico, edición de video o fotografías, es imperativo el buscar una tarjeta gráfica que posea un GPU tan poderoso como se pueda, y esto acompañado con memoria RAM de video suficiente. También influirá el tipo de monitor que tengamos en nuestro poder, es el caso de la salida digital DVI, de alta definición. Y los otros accesorios como S-Video. Tarjetas para trabajos profesionales es lo indicado.

Para un usuario normal, que se dedica a usar procesadores de texto, presentaciones, navegar por Internet y utiliza aplicaciones de oficina, no necesita obtener una tarjeta de video con un GPU dedicado, solo bastara con una tarjeta integrada que presenta sin problemas gráficos en dos dimensiones. La adquisición de una tarjeta aceleradora, sería desperdiciar dinero, programas básicos no ocupan aceleración 3D.

Finalmente para usuarios normales pero que ocupan un computador para juegos, y particularmente los de ultima generación, están obligados a invertir en una tarjeta con un buen GPU, pues son los juegos quienes mas exigen a una tarjeta gráfica.

Apendice

CGA:


La Color Graphics Adapter (Adaptador de Gráficos en Color) o CGA, comercializada en 1981, fue la primera tarjeta gráfica en color de IBM (originalmente llamada "Color/Graphics Monitor Adapter"), y el primer estándar gráfico en color para el IBM PC. Cuando IBM introdujo en el mercado su PC en 1981, el estándar CGA, a pesar de haber aparecido al mismo tiempo, era poco usado al principio, ya que la mayoría de los compradores adquirían un PC para uso profesional. Para juegos había otros ordenadores mucho más populares, y en aquella época no se consideraba que los gráficos en color tuvieran otro uso que el puramente lúdico. En consecuencia, muchos de los primeros compradores del PC optaron por la MDA (Monochrome Display Adapter), que sólo permitía la visualización de texto. En 1982 se comercializó la Hércules Graphics Card, que permitía mostrar gráficos en monocromo a una resolución mucho mayor que la CGA, además de ser más compatible con la MDA, lo que perjudicó todavía más a las ventas de la CGA. Todo cambió en 1984 cuando IBM introdujo el PC AT y la Enhanced Graphics Adapter (EGA). Con ello, el precio de la antigua tarjeta CGA bajó considerablemente y se convirtió en una interesante alternativa de bajo coste, por lo que las nuevas empresas dedicadas a la fabricación de PCs clónicos la adoptaron rápidamente. Los PCs no-AT de bajo coste con tarjetas CGA se vendieron muy bien en los años siguientes, y como consecuencia muchos juegos fueron editados para ellos a pesar de sus limitaciones. La popularidad de la CGA comenzó a desaparecer cuando en 1987 la tarjeta VGA se convirtió en la nueva solución de alto nivel, relegando la EGA a los PCs de bajo coste. La tarjeta estándar CGA de IBM incorporaba 16 kilobytes de VRAM, y permitía mostrar varios modos gráficos y de texto. La resolución máxima de cualquier modo era 640×200, y la mayor profundidad de color soportada era de 4 bits (16 colores). El modo más conocido, usado en la mayoría de los juegos CGA, mostraba 4 colores a una resolución de 320×200. Aunque los 4 colores estaban considerados generalmente como el límite para la tarjeta CGA, era posible aumentar esa cantidad mediante varios métodos (algunos oficiales, otros no).

EGA:


EGA es el acrónimo inglés de Enhanced Graphics Adapter, el la especificación estándar de IBM PC para visualización de gráficos, situada entre CGA y VGA en términos de rendimiento gráfico (es decir, amplitud de colores y resolución). Introducida en 1984 por IBM para sus nuevos PC-AT, EGA tenía una profundidad de color de 16 colores y una resolución de hasta 640×350 píxels. La tarjeta EGA tenía 16 kilobytes de ROM para ampliar la de la BIOS con funciones adicionales e incluía el generador de direcciones de video Motorola MC6845. A cada uno de los 16 colores se les podía asignar un color RGB de una paleta en el modo de alta resolución 640×350; EGA permitía escoger los colores de una paleta de 64 diferentes (dos bits por pixel para rojo, verde y azul). EGA también incluía la función completa de 16 colores de CGA en los modos gráficos de 640×200 y 320×200; sólo los colores 16 CGA/RGBI estaban disponibles en este modo. Los modos CGA originales estaban presentes, pero EGA no era 100% compatible con CGA. EGA también podía controlar un monitor MDA ajustando los jumpers de la placa; sólo a 640×350. La tarjeta IBM EGA básica incluía 64 kilobytes de memoria de vídeo, suficiente para controlar un monitor monocromo de alta resolución (y permitiendo todos los colores a 640×200 and 320×200 modes), si bien la mayoría de las tarjetas EGA y sus clones incluían 256 KB de memoria. Algunos clones de EGA de terceros fabricantes (principalmente las tarjetas de ATI Technologies y Paradise boards) incluían un rango de gráficos ampliado (por ejemplo, 640×400, 640×480 and 720×540), así como detección automática del monitor, y algunas un modo especial de 400 líneas para usar con monitores CGA. El estándar EGA quedó obsoleto con la introducción del VGA por IBM en Abril de 1987 con los ordenadores PS/2.

MCGA


MultiColor Graphics Adapter (MCGA) fue el nombre que IBM asignó a lo que más tarde sería parte del estándar genérico VGA. El ordenador IBM PS/2 Model 25, introducido en 1987, incorporaba MCGA integrado en la placa base. MCGA se parecía a VGA en que tenía un modo de 256 colores. VGA incluía además una serie de modos de pantalla de alta resolución, si bien el modo de 256 colores se convirtió en el más popular para videojuegos. Este modo de pantalla en VGA era frecuentemente citado como MCGA, si bien MCGA sólo existió en el PS/2; nunca se fabricaron tarjetas MCGA independientes. Los modos de pantalla ofrecidos por MCGA eran los mismos de CGA además de 640x480 monocromo y 60 Hz de refresco y 320x200 256 colores y 70 Hz de refresco. El adaptador de pantalla utilizaba un conector D-shell de 15 pines. No ofrecía soporte para los modos de texto monocromo compatibles con el monitor 5151. Se podría considerar a MCGA como un paso intermedio entre CGA y VGA (MCGA no era compatible con EGA, mientras que VGA sí era completamente compatible hacia atrás). Esto resultó en la frustrante situación de que muchos juegos EGA (300x200 16 colores) se ejecutaran en el modo CGA 4 colores (o incluso no se ejecutaran), incluso cuando MCGA era capaz de ofrecer una resolución de 320x200 256 colores. Afortunadamente, algunos juegos EGA 16 colores (por ejemplo, las aventuras gráficas de Sierra y Lucasfilms Games) podían ejecutarse específicamente en MCGA en el modo de 256 colores, aunque sólo aplicando los 16 colores originales. Los juegos programados para VGA 256 colores podían ejecutarse satisfactoriamente en sistemas con MCGA siempre que se ajustaran a la resolución de 320x200 256 color y no intentaran usar características específicas de VGA, como la multipaginación. El período de vida de MCGA fue muy breve y abarcó apenas dos modelos de computadores (PS/2 Model 25 y Model 30), dejándose de fabricar en 1992 sin que ningún fabricante ofreciera tarjetas clónicas de este adaptador, dada la superioridad del estándar VGA introducido al mismo tiempo.

XGA


XGA (siglas en inglés de Extended Graphics Array) es un estándar de visualización de gráficos para ordenadores creada por IBM en 1990. El estándar XGA permite una resolución máxima de 1024x768 pixeles, con una paleta gráfica de 256 colores, o 640x480 con una profundidad de color de 16 bits por pixel (65.536 colores) El estándar XGA-2 permite mayor profundidad de color para el modo 1024x768 y mayor frecuencia de refresco de pantalla, además de una resolución de 1360x1024 a 16 colores. Todos estos modos de pantalla conservan la relación de aspecto 4:3 redondeado a 8 pixeles. El formato de presentación de gráficos XGA no es un reemplazo para el estándar Super VGA, sino sólo un conjunto particular de modos de pantalla dentro del rango permitido por éste. No debe confundirse XGA con el estándar VESA EVGA, comercializado en las mismas fechas.

DVI


La interfaz de vídeo digital o interfaz visual digital (en inglés DVI, "digital visual interface" o "digital video interface") es un conector de vídeo diseñado para obtener la máxima calidad de visualización posible en pantallas digitales tales como los monitores de cristal líquido de pantalla plana y los proyectores digitales. Fue desarrollada por el consorcio industrial DDWG ("Digital Display Working Group", Grupo de Trabajo para la Pantalla Digital).

Los estándares anteriores, como el VGA, son analógicos y están diseñados para dispositivos CRT (tubo de rayos catódicos o tubo catódico). La fuente varía su tensión de salida con cada línea que emite para representar el brillo deseado. En una pantalla CRT, esto se usa para asignar al rayo la intensidad adecuada mientras éste se va desplazando por la pantalla. Este rayo no está presente en pantallas digitales; en su lugar hay una matriz de pixeles, y se debe asignar un valor de brillo a cada uno de ellos. El decodificador hace esta tarea tomando muestras del voltaje de entrada a intervalos regulares. Cuando la fuente es también digital (como un ordenador), esto puede provocar distorsión si las muestras no se toman en el centro de cada pixel, y, en general, el grado de ruido entre pixeles adyacentes es elevado. DVI adopta un enfoque distinto. El brillo de los pixeles se transmite en forma de lista de números binarios. Cuando la pantalla está establecida a su resolución nativa, sólo tiene que leer cada número y aplicar ese brillo al pixel apropiado. De esta forma, cada pixel del buffer de salida de la fuente se corresponde directamente con un pixel en la pantalla, mientras que con una señal analógica el aspecto de cada pixel puede verse afectado por sus pixeles adyacentes, así como por el ruido eléctrico y otras formas de distorsión analógica.

Aliasing:


El aliasing es el artefacto gráfico característico que hace que en una pantalla ciertas curvas y líneas inclinadas presenten un efecto visual tipo "sierra" o "escalón". El aliasing ocurre cuando se intenta representar una imagen con curvas y líneas inclinadas en una pantalla, framebuffer o imagen, pero que debido a la resolución finita del sustrato resulta que éste sea incapaz de representar la curva como tal, y por tanto dichas curvas se muestran en pantalla dentadas al estar compuestas por cuadros menudos (los píxeles).

Anti Aliasing:


En el área del procesamiento digital de señales en general, se le llama antialiasing a los procesos que permiten minimizar el aliasing cuando se desea representar una señal de alta resolución en un sustrato de más baja resolución. En la mayoría de los casos, el antialiasing consiste en la remoción de la información de frecuencia, demasiado elevada para poder ser representada. Cuando tal información es dejada en la señal, se pueden producir artefactos impredecibles.

Actualidad

En la actualidad existen dos grandes fabricantes en el mercado: ATI y Nvidia. Ambos a la vanguardia en este ámbito, con proyectos ambiciosos y cada vez mas sorprendentes. A continuación veremos lo mas reciente de la compañía Nvidia.

Serie profesional Quadro:




Este sistema de cómputo externo, no es más que un adaptador con tarjetas Quadro, la serie profesional de NVIDIA. De hecho si lo vemos desde mas cerca, posee dos tarjetas NVIDIA Quadro FX2 5500 o FX 5600X2, dependiendo del modelo. Su GPU es de la serie 80, basado en la tarjeta GeForce 8800, que veremos enseguida

Como se puede imaginar, estos productos están diseñados para trabajos profesionales, altas prestaciones, lo que indica un desarrollo paralelo a los actuales elementos de video.

A continuacion veremos algunas caracteristicas de la tarjeta GeForce 8800 Ultra, lo ultimo en tecnologia para usuarios.



Stream Processors: 128
Core Clock (MHz): 612
Shader Clock (MHz): 1500

Aceleración 3D

En computación, las tres dimensiones son el largo, el ancho y la profundidad de una imagen. Técnicamente hablando el único mundo en 3D es el real, la computadora sólo simula gráficos en 3D, pues, en definitiva toda imagen de computadora sólo tiene dos dimensiones, alto y ancho (resolución).

En la computación se utilizan los gráficos en 3D para crear animaciones, gráficos, películas, juegos, realidad virtual, diseño, etc.

El proceso de la creación de gráficos tridimensionales comienza con un grupo de fórmulas matemáticas y se convierte en un gráfico en 3D. Las fórmulas matemáticas (junto con el uso de objetos externos, como imágenes para las texturas) describen objetos poligonales, tonalidades, texturas, sombras, reflejos, transparencias, translucidez, refracciones, iluminación (directa, indirecta y global), profundidad de campo, desenfoques por movimiento, ambiente, punto de vista, etc. Toda esa información constituye un modelo en 3D.

El proceso de transformación de un modelo en 3D hacia una imagen 3D es llamado renderización (rendering).

Por lo general, la computadora debe contar con una placa aceleradora de 3D para la renderización de gráficos en 3D. La placa aceleradora es un dispositivo (tarjeta de video) que ayuda al microprocesador a la realización de la renderización, pues suele ser un proceso pesado. El resultado de una renderización puede ser una imagen 3d estática o una animación 3d.

Hay tarjetas madres, que poseen una tarjeta de video integrada, y esta tarjeta emplea la memoria principal del sistema como memoria RAM de video. Este tipo de dispositivos carecen de una GPU propiamente tal, y lo que hacen es ejecutar las instrucciones (programación OpenGL por ejemplo) mediante software y ocupando el procesador central. Lo anterior claramente culmina con una gráfica ineficiente, pero que cumple con ciertos requisitos.

Componentes

Podríamos decir que una tarjeta de video es muy parecida al conjunto placa madre, procesador y memoria. Veremos que esta analogía es evidente al analizar cada parte que componen este complicado rompecabezas.

Una tarjeta gráfica, está formada principalmente por:

GPU.
Memoria RAM.
RAMDAC.
Salidas.
Interfaz.

Siendo la GPU (Unidad de procesamiento gráfico), el componente que está a la cabeza del conjunto. A continuación describiremos estos elementos.

GPU


GPU es un acrónimo utilizado para abreviar Graphics Processing Unit, que significa "Unidad de Procesamiento Gráfico".
Una GPU es un procesador dedicado exclusivamente al procesamiento de gráficos, para aligerar la carga de trabajo del procesador central en aplicaciones como los video juegos. De esta forma, mientras gran parte de lo relacionado con los gráficos se procesa en la GPU, la CPU puede dedicarse a otro tipo de cálculos (como la inteligencia artificial o los cálculos mecánicos en el caso de los video juegos). Una GPU implementa ciertas operaciones gráficas llamadas primitivas optimizadas para el procesamiento gráfico. Una de las primitivas más comunes para el procesamiento gráfico en 3D es el antialiasing, que suaviza los bordes de las figuras para darles un aspecto más realista. Adicionalmente existen primitivas para dibujar rectángulos, triángulos, círculos y arcos. Las GPU actualmente disponen de gran cantidad de primitivas, buscando mayor realismo en los efectos.

Diferencias con la CPU


Si bien en un computador genérico no es posible reemplazar la CPU por una GPU, hoy en día las GPU son muy potentes y pueden incluso superar la frecuencia de reloj de una CPU antigua (más de 600MHz). Pero la potencia de las GPU y su dramático ritmo de desarrollo reciente se deben a dos factores diferentes. El primer factor es la alta especialización de las GPU, ya que al estar pensadas para desarrollar una sola tarea, es posible dedicar más silicio en su diseño para llevar a cabo esa tarea más eficientemente. Por ejemplo, las GPU actuales están optimizadas para cálculo con valores en coma flotante (punto flotante), predominantes en los gráficos 3D. Por otro lado, muchas aplicaciones gráficas conllevan un alto grado de paralelismo inherente, al ser sus unidades fundamentales de cálculo (vértices y pixeles) completamente independientes. Por tanto, es una buena estrategia usar la fuerza bruta en las GPU para completar más cálculos en el mismo tiempo. Las GPU suelen tener una media docena de procesadores de vértices (que ejecutan vertex shaders), y hasta dos o tres veces más procesadores de fragmentos o pixeles (que ejecutan fragment shaders), los modelos actuales estan cambiando al modelo unificado, que se nombra mas adelante. De este modo, una frecuencia de reloj de unos 500-600MHz (el estándar hoy en día en las GPU de más potencia), muy baja en comparación con lo ofrecido por las CPU (3.8-4 GHz en los modelos más potentes), se traduce en una potencia de cálculo mucho mayor gracias a su arquitectura en paralelo. Una de las mayores diferencias con la CPU estriba en su arquitectura. A diferencia del procesador central, que tiene una arquitectura Von Neumann, la GPU se basa en el Modelo Circulante. Éste modelo facilita el procesamiento en paralelo, y la gran segmentación que posee la GPU para sus tareas.

Arquitectura de la GPU


Una GPU está altamente segmentada, lo que indica que posee gran cantidad de unidades funcionales. Estas unidades funcionales se pueden dividir principalmente en dos: aquéllas que procesan vértices, y aquéllas que procesan pixeles. Por tanto, se establecen el vértice y el pixel como las principales unidades que maneja la GPU. Adicionalmente, y no con menos importancia, se encuentra la memoria. Ésta destaca por su rapidez, y va a jugar un papel relevante a la hora de almacenar los resultados intermedios de las operaciones y las texturas que se utilicen. Este componente será analizado en profundidad mas adelante. Inicialmente, a la GPU le llega la información de la CPU en forma de vértices. El primer tratamiento que reciben estos vértices se realiza en el vertex shader. Aquí se realizan transformaciones como la rotación o la rotación de las figuras. Tras esto, se define la parte de estos vértices que se va a ver (clipping), y los vértices se transforman en pixeles mediante el proceso de rasterización. Estas etapas no poseen una carga relevante para la GPU. Donde sí se encuentra el principal cuello de botella del chip gráfico es en el siguiente paso: el pixel shader. Aquí se realizan las transformaciones referentes a los pixeles, tales como la aplicación de texturas. Cuando se ha realizado todo esto, y antes de almacenar los pixeles en la caché, se aplican algunos efectos como el antialiasing, blending y el efecto niebla. Otras unidades funcionales llamadas ROP toman la información guardada en la caché y preparan los pixeles para su visualización. También pueden encargarse de aplicar algunos efectos. Tras esto, se almacena la salida en el frame buffer, un tipo de memoria temporal. Hoy en dia las GPU utilizan un modelo unificado, esto es, procesamiento en paralelo, los procesadores encargados de los vertices y los procesadores encargados de los pixeles, se fundieron bajo el nombre de Stream Processor, que aumenta la eficiencia al balancear las cargas de cada proceso (vertices y pixeles). En definitiva los procesadores que realizan el trabajo son los Shader Processor, Stream Procesor se refiere a todas las unidades dentro del procesador principal.

Programación de la GPU


Al inicio, la programación de la GPU se realizaba con llamadas a servicios de interrupción de la BIOS. Tras esto, la programación de la GPU se empezó a hacer en el lenguaje ensamblador específico a cada modelo. Posteriormente, se situó un nivel más entre el hardware y el software, diseñando las API (Application Program Interface), que proporcionaban un lenguaje más homogéneo para los modelos existentes en el mercado. El primer API fue OpenGL (Open Graphics Language), tras el cuál Microsoft desarrolló DirectX. Tras el desarrollo de APIs, se decidió crear un lenguaje más natural y cercano al programador, es decir, desarrollar un lenguajes de alto nivel para gráficos. Por ello, de OpenGL y DirectX surgieron estas propuestas. El lenguaje estándar de alto nivel, asociado a la biblioteca OpenGL es el "OpenGL Shading Language", GLSL, implementado en principio por todos los fabricantes. La empresa californiana Nvidia creó un lenguage propietario llamado Cg (del inglés, "C for graphics"), con mejores resultados que que GLSL en las pruebas de eficiencia. En colaboración con Nvidia, Microsoft desarrolló su "High Level Shading Language", HLSL, prácticamente idéntico a Cg, pero con ciertas incompatibilidades menores.

OpenGL


OpenGL es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. Fue desarrollada por Silicon Graphics Inc. (SGI) en 1992. Su nombre viene del inglés Open Graphics Library, cuya traducción es biblioteca de gráficos abierta (o mejor, libre, teniendo en cuenta su política de licencias. Es una interfaz muy parecida estructuralmente al lenguaje C, de echo su programación y compilación se realiza en dicho ambiente. Es claro que existen funciones y declaraciones exclusivas de OpenGL, pero a un programador en C, se le hace muy familiar este lenguaje.

Historia


La historia de las tarjetas gráficas comienza a finales de los años 1960, cuando se pasa de usar impresoras como elemento de visualizacion a utilizar monitores. Las encargadas de crear aquellas primeras imágenes fueron las tarjetas de video.

La primera tarjeta gráfica, que se lanzo con los primeros IBM PC, fue desarrollada por IBM en 1981. La MDA (Monochrome Graphics Adapter) trabajaba en modo texto y era capaz de representar 25 lineas de 80 caracteres en pantalla. Contaba con una memoria de video de 4KB, por lo que solo podia trabajar con una página de memoria. Se usaba con monitores monocromo, de tonalidad normalmente verde.

La evolucion de estos dispositivos:


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