Unidad de visualización de video

Controlador de vídeo
Información
Tipo Circuito integrado

Un controlador de vídeo (VDC, por sus siglas en inglés), también llamado motor de visualización o interfaz de visualización, es un circuito integrado que es el componente principal de un generador de señal de vídeo, un dispositivo responsable de la producción de una señal de vídeo en un sistema informático o de juegos. Algunos VDC también generan una señal de audio, pero esa no es su función principal. Los VDC se utilizaron en los ordenadores domésticos de la década de 1980 y también en consolas de juegos y juegos arcade.

El VDC es el componente principal de la lógica del generador de señal de vídeo, responsable de generar la temporización de las señales de vídeo, como las señales de sincronización horizontal y vertical y la señal de intervalo de supresión. A veces, se necesitaban otros chips auxiliares para construir un sistema completo, como memoria RAM para almacenar datos de píxeles, memoria ROM para almacenar fuentes de caracteres, o alguna lógica discreta como registros de desplazamiento.

La mayoría de las veces, el chip VDC se utiliza como una extensión de un sistema informático anfitrión, y está completamente integrado en él, con la memoria que contiene los datos gráficos apareciendo en el mismo mapa de memoria de la CPU principal. Esto permite a la CPU escribir nuevos datos en la memoria, que el VDC luego lee y muestra. En algunos casos, el VDC funciona como un coprocesador que puede manipular el contenido de la RAM de forma independiente. Debido al bajo rendimiento de la DRAM temprana, algunos VDC utilizaban un grupo de DRAM completamente separado que podían leer sin interrumpir o ser interrumpidos por la CPU. Los sistemas posteriores utilizaron video RAM de doble puerto para evitar los problemas de rendimiento, permitiendo a la CPU leer o escribir memoria desde un puerto, mientras que al mismo tiempo el VDC la lee desde el otro puerto.

VDC vs. GPU

La diferencia entre un controlador de vídeo, un acelerador gráfico, un blitter y una unidad de procesamiento gráfico (GPU) a menudo se difumina con ejemplos que se denominan de una manera pero tienen algunas características de otra clase. No siempre está claro cuándo un chip de vídeo en particular es un controlador de vídeo y cuándo es un procesador de vídeo. Por ejemplo, el TMS9918 puede ser referido de cualquiera de las dos maneras, dependiendo de la fuente.

Generalmente, un VDC canónico no incluiría ninguna capacidad interna para realizar operaciones gráficas por sí mismo, como la capacidad de dibujar líneas o rellenar áreas, y depende de la CPU anfitriona para realizar este tipo de operaciones mediante el cálculo y la colocación de los resultados en la memoria para que el VDC los lea. Los blitters añaden algunas de estas características, lo que requiere registros adicionales y algo de hardware matemático en el CI para ejecutar estas rutinas. Algunos chips llamados VDC en la década de 1980 incluyen algunas de estas características, lo que los acerca técnicamente a los blitters, y la elección de la terminología se debió en gran medida a que el fabricante prefería un término sobre otro.

Los VDC y los blitters fueron populares durante la década de 1980 y hasta la de 1990. Estos VDC a menudo tenían hardware especial para la creación de sprites. Los primeros ejemplos incluyen el ANTIC de Atari y el TMS9918 de Texas Instruments. Los diseños posteriores generalizaron los sprites mediante la implementación de funciones Bit Blitter, incluyendo el VDP2 de Sega Saturn y el chip Lisa (AGA) que se utilizó para los gráficos mejorados de la última generación de ordenadores Amiga.

Las unidades de procesamiento gráfico (GPU) llevan esta evolución un paso más allá, incluyendo no solo un hardware matemático más potente, típicamente múltiples unidades de coma flotante, sino también la capacidad de enviar rutinas personalizadas a la GPU para que se ejecuten localmente. Esto significa que una GPU no solo tiene rutinas integradas para "dibujar línea" o "rotar cámara", sino que también se le pueden enviar programas completos como "dibujar avión", que luego se pueden ejecutar con una sola línea de código. Esto permite al programa anfitrión reducir drásticamente la cantidad de información que debe enviarse entre la GPU y el anfitrión y puede ofrecer grandes mejoras de rendimiento.

Las GPU se hicieron populares durante la década de 1990, incluyendo la S3 ViRGE, la Matrox Mystique y la Voodoo Graphics; aunque ya existían ejemplos anteriores como el NEC μPD7220. Los sistemas modernos utilizan sistemas de visualización similares a GPU, a veces integrados en la CPU, a veces como un CI separado en una placa base más grande, y a veces en una tarjeta separada.

Tipos

Los controladores de vídeo se pueden dividir en varios tipos diferentes, enumerados aquí del más simple al más complejo:

Lista de VDC de ejemplo

Ejemplos de controladores de vídeo:

Desplazadores de vídeo

Controladores CRT

Controladores de interfaz de vídeo

Coprocesadores de vídeo

Alternativas a un chip VDC

Tenga en cuenta que muchos ordenadores domésticos tempranos no utilizaban un chip VDP, sino que construían todo el controlador de vídeo a partir de muchos chips de lógica discreta, (ejemplos son el Apple II, PET y TRS-80). Debido a que estos métodos son muy flexibles, los generadores de vídeo podían ser muy capaces (o extremadamente primitivos, dependiendo de la calidad del diseño), pero también necesitaban muchos componentes.

Muchos sistemas tempranos utilizaban alguna forma de matriz de puertas programable temprana para crear un sistema de vídeo; ejemplos incluyen los sistemas ZX Spectrum y ZX81 y la Elektronika BK-0010, pero hubo muchos otros. Las implementaciones tempranas eran a menudo muy primitivas, pero las implementaciones posteriores a veces resultaban en sistemas de vídeo bastante avanzados, como el del SAM Coupé. En el extremo inferior, como en el ZX81, el hardware solo realizaba funciones eléctricas y la temporización y el nivel del flujo de vídeo eran proporcionados por el microprocesador. Dado que la velocidad de los datos de vídeo era alta en relación con la velocidad del procesador, la computadora solo podía realizar cálculos reales que no fueran de visualización durante el período de retrazado entre fotogramas de visualización. Esto limitaba el rendimiento a un máximo del 25% de los ciclos de CPU totales disponibles.

Estos sistemas podían construir un sistema muy capaz con relativamente pocos componentes, pero el bajo número de transistores de la lógica programable temprana significaba que las capacidades de los sistemas basados en PLA tempranos eran a menudo menos impresionantes que las que utilizaban los controladores de interfaz de vídeo o los coprocesadores de vídeo disponibles en ese momento. Las soluciones PLA posteriores, como las que utilizan CPLD o FPGA, podían dar lugar a sistemas de vídeo mucho más avanzados, superando a los construidos con componentes estándar.

Una solución híbrida de uso frecuente era utilizar un controlador de interfaz de vídeo (a menudo el Motorola 6845) como base y ampliar sus capacidades con lógica programable o un ASIC. Un ejemplo de esta solución híbrida es la tarjeta VGA original, que utilizaba un 6845 en combinación con un ASIC. Por eso, todos los sistemas de vídeo basados en VGA actuales siguen utilizando los registros de hardware que proporcionaba el 6845.

Soluciones modernas

Diagrama de bloques del chip ATi R300. El controlador de vídeo está etiquetado como "interfaz de visualización".

Con los avances realizados en la fabricación de dispositivos semiconductores, cada vez más funcionalidad se implementa como circuitos integrados, a menudo licenciables como núcleo de propiedad intelectual semiconductora (SIP core). Los bloques de controlador de vídeo SiP se pueden encontrar en el dado de GPU, APU y SoC.[cita requerida]

Admiten una variedad de interfaces: VGA, DVI, HDMI, DisplayPort, VHDCI, DMS-59 y más. El PHY incluye LVDS, Embedded DisplayPort, TMDS, Flat Panel Display Link, OpenLDI y CML.[cita requerida] Un monitor de computadora moderno puede tener un controlador LCD u OLED incorporado.

Por ejemplo, una señal VGA, creada por la GPU, se transporta a través de un cable VGA al controlador incorporado del monitor. Ambos extremos del cable terminan en un conector VGA. Los portátiles y otros ordenadores móviles utilizan diferentes interfaces entre el controlador de vídeo y la pantalla. Un controlador de vídeo suele admitir múltiples estándares de visualización de computadora.

KMS driver es un ejemplo de un controlador de dispositivo para controladores de vídeo y AMD Eyefinity es una marca especial de controlador de vídeo con soporte para multi-monitor.

RandR (redimensionar y rotar) es un método para configurar la resolución de pantalla y la frecuencia de actualización en cada salida individual por separado y, al mismo tiempo, configurar los ajustes del sistema de ventanas en consecuencia.

Un ejemplo de esta dicotomía lo ofrece ARM Holdings: ofrecen núcleos SIP para aceleración de renderizado 3D y para controlador de vídeo de forma independiente. Los primeros tienen nombres comerciales como Mali-200 o Mali-T880, mientras que los segundos están disponibles como Mali-DP500, Mali-DP550 y Mali-DP650.

Historia

En 1982, NEC lanzó el NEC μPD7220, uno de los controladores de vídeo más utilizados en los ordenadores personales de la década de 1980. Se utilizó en el NEC PC-9801, APC III, compatibles con IBM PC, DEC Rainbow, Tulip System-1 y Epson QX-10. Intel licenció el diseño y lo llamó controlador de gráficos 82720.

Anteriormente, las tarjetas gráficas también se llamaban adaptadores gráficos, y los chips utilizados en estas tarjetas ISA/EISA consistían únicamente en un controlador de vídeo, ya que esta era la única funcionalidad necesaria para conectar un ordenador a un monitor. Las tarjetas posteriores incluían CI para realizar cálculos relacionados con la renderización 2D en paralelo con la CPU; estas tarjetas se denominaban tarjetas aceleradoras gráficas. Del mismo modo, los CI para renderización 3D llegaron más tarde. Estas tarjetas estaban disponibles con interfaces VLB, PCI y AGP; las tarjetas modernas suelen utilizar el bus PCI Express, ya que requieren un ancho de banda mucho mayor del que puede ofrecer el bus ISA.

Véase también

Referencias

  1. ↑ M. Rasch, B. Bertelsons (1995). Scott Slaughter, ed. PC Underground: Unconventional Programming Topics. US: Abacus Software Inc. p. 58-68. ISBN 978-1557552754. "Cathode Ray Tube Controller (CRTC) is responsible for generating the video signal and is programmable. CRTC-Registers bit meaning tables for VGA, EGA, CGA, Hercules, SVGA, Mode X."
  2. ↑ «NES NTSC Video». NESdev.org. 4 de junio de 2024.
  3. ↑ «NES PAL Video». NESdev.org. 24 de junio de 2024.
  4. ↑ «LCD Controller Boards: Everything You Need to Know». China LCD display supplier_XIANHENG_XDISPLAY_Touch screen module manufacturer. Consultado el 27 de julio de 2026.
  5. ↑ «Initial support for ARM Mali Display Controller». Linux kernel mailing list. 1 de abril de 2016.
  6. ↑ Dampf, Guido (1986). «Graphics with the NEC 7220: Direct access with Turbo Pascal». Archivado desde el original el 2 de mayo de 2019. Consultado el 27 de julio de 2013. (Traducción de "Grafik mit dem 7220 von NEC", mc, 1986, H11, pp. 54-65)
  7. ↑ Changon Tsay (1 de enero de 1986). A graphics system design based on the INTEL 82720 graphics display controller. University of Texas at El Paso. pp. 1-152.

Enlaces externos