
Un controlador de pantalla de vídeo ( VDC ), también llamado motor de visualización o interfaz de visualización , es un circuito integrado que constituye 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 videojuegos. 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, así como en consolas de videojuegos y máquinas recreativas .
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 borrado . En ocasiones, se necesitaban otros chips auxiliares para construir un sistema completo, como la RAM para almacenar datos de píxeles , la ROM para almacenar fuentes de caracteres o lógica discreta como registros de desplazamiento .
Generalmente, el chip VDC se utiliza como una extensión de un sistema informático anfitrión y se integra completamente con él, con la memoria que almacena los datos gráficos ubicada en el mismo mapa de memoria que la CPU principal. Esto permite que la CPU escriba nuevos datos en la memoria, que luego el VDC 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 RAM dinámica inicial , algunos VDC utilizaban un grupo de DRAM completamente separado que podían leer sin interrupciones de la CPU ni ser interrumpidos por ella. Los sistemas posteriores utilizaron RAM de vídeo de doble puerto para evitar los problemas de rendimiento, lo que permitía a la CPU leer o escribir en la memoria desde un puerto, mientras que, simultáneamente, el VDC la leía desde el otro.
VDC frente a GPU
La diferencia entre un controlador de pantalla, un acelerador gráfico, un blitter y una unidad de procesamiento gráfico (GPU) suele ser difusa debido a ejemplos que, aunque se denominan de una clase, presentan características de otra. No siempre resulta claro cuándo un chip de vídeo en particular es un controlador de pantalla y cuándo un procesador de pantalla. Por ejemplo, el TMS9918 puede denominarse de ambas maneras, según la fuente.
En general, un VDC canónico no incluye capacidad interna para realizar operaciones gráficas por sí mismo, como dibujar líneas o rellenar áreas, y depende de la CPU principal para realizar estos cálculos y almacenar los resultados en la memoria para que el VDC los lea. Los blitters incorporan algunas de estas funciones, lo que requiere registros adicionales y hardware matemático en el circuito integrado para ejecutar estas rutinas. Algunos chips denominados VDC en la década de 1980 sí incluyen algunas de estas funciones, lo que los asemeja técnicamente a los blitters. La elección de la terminología se debió principalmente a la preferencia del fabricante por un término u otro.
Los VDC y los blitters fueron populares durante los años 80 y principios de los 90. Estos VDC solían tener hardware especial para la creación de sprites . Algunos ejemplos tempranos son el ANTIC de Atari y el TMS9918 de Texas Instruments . Diseños posteriores generalizaron los sprites mediante la implementación de funciones Bit Blitter , como el procesador de vídeo de fondo y desplazamiento de 32 bits VDP2 de la Sega Saturn y el chip Lisa (AGA) que se utilizó para los gráficos mejorados de las computadoras Amiga de última generación.
Las unidades de procesamiento gráfico (GPU) llevan esta evolución un paso más allá, incluyendo no solo hardware matemático más potente, generalmente con múltiples unidades de coma flotante , sino también la capacidad de enviar rutinas personalizadas a la GPU para su ejecución local. Esto significa que una GPU no solo cuenta con rutinas integradas para "dibujar una línea" o "rotar la cámara", sino que también puede recibir programas completos como "dibujar un avión", que se pueden ejecutar con una sola línea de código. Esto permite que el programa anfitrión reduzca drásticamente la cantidad de información que se debe enviar y recibir entre la GPU y el anfitrión, lo que puede ofrecer grandes mejoras en el rendimiento.
Las GPU se popularizaron durante la década de 1990, incluyendo la S3 ViRGE , la Matrox Mystique y la Voodoo Graphics ; aunque ejemplos anteriores como la NEC μPD7220 ya existían desde hacía algún tiempo. Los sistemas modernos utilizan sistemas de visualización similares a las GPU, a veces integrados en la CPU, a veces como un circuito integrado independiente en una placa base más grande y a veces en una tarjeta gráfica independiente.
Tipos
Los controladores de pantalla de vídeo se pueden dividir en varios tipos diferentes, que se enumeran aquí desde el más simple hasta el más complejo;
- Los desplazadores de vídeo , o "sistemas basados en registros de desplazamiento de vídeo" (no existe un nombre generalmente aceptado para este tipo de dispositivos), son el tipo más simple de controladores de vídeo. Son responsables, directa o indirectamente, de las señales de temporización de vídeo, pero normalmente no acceden directamente a la RAM de vídeo. Reciben los datos de vídeo de la CPU principal, byte a byte, y los convierten en un flujo de bits en serie, de ahí el nombre técnico de "desplazador de vídeo". Este flujo de datos en serie se utiliza junto con las señales de sincronización para generar una señal de vídeo. La CPU principal debe realizar la mayor parte del trabajo. Normalmente, estos chips solo admiten un modo de gráficos rasterizados de muy baja resolución .
- Un CRTC , o controlador de tubo de rayos catódicos , genera la sincronización del vídeo y lee los datos de vídeo de la RAM conectada al CRTC para enviarlos a través de una ROM generadora de caracteres externa (para modos de texto ) o directamente al registro de desplazamiento de salida de vídeo (para modos gráficos de alta resolución). [ 1 ] Dado que las capacidades reales del generador de vídeo dependen en gran medida de la lógica externa, un generador de vídeo basado en un chip CRTC puede tener una amplia gama de capacidades, desde sistemas simples solo en modo texto hasta sistemas de alta resolución que admiten una amplia gama de colores. Sin embargo, estos sistemas normalmente no admiten sprites.
- Los controladores de interfaz de vídeo son mucho más complejos que los controladores CRT, y los circuitos externos necesarios para un CRT están integrados en el chip controlador de vídeo. Suelen ser compatibles con sprites, así como con generadores de caracteres (basados en RAM) y memoria RAM de vídeo dedicada a los atributos de color y a los registros de paleta ( tablas de búsqueda de color ) para los modos de alta resolución o texto.
- Los coprocesadores de vídeo cuentan con su propia CPU interna dedicada a leer (y escribir) su memoria RAM de vídeo (que puede ser compartida con la CPU) y a convertir su contenido en una señal de vídeo. La CPU principal puede enviar comandos al coprocesador, por ejemplo, para cambiar los modos de vídeo o manipular el contenido de la memoria RAM de vídeo. El coprocesador de vídeo también controla el generador de caracteres (generalmente basado en RAM), la memoria RAM de atributos de color, los registros de paleta y la lógica de los sprites (siempre que existan).
Lista de ejemplos de VDC
Ejemplos de controladores de pantalla de vídeo son:
Cambiadores de vídeo
- El RCA CDP1861 era un chip muy sencillo, fabricado con tecnología CMOS (algo inusual a mediados de la década de 1970) para complementar el microprocesador RCA 1802. Se utilizaba principalmente en el COSMAC VIP y solo admitía un modo gráfico monocromo de muy baja resolución.
- El adaptador de interfaz de televisión (TIA) es el chip de vídeo personalizado que constituye el corazón de la consola de juegos Atari 2600 , un chip primitivo que dependía del microprocesador 6502 para realizar la mayor parte del trabajo y que también se utilizaba para generar el audio.
Controladores CRT
- El controlador Intel 8275 CRT se utilizó en el Convergent Technologies AWS / Burroughs B20 , junto con algunos sistemas de bus S-100 .
- El Motorola 6845 (MC6845) es un generador de direcciones de vídeo introducido por Motorola y utilizado en el Amstrad CPC y el BBC Micro . También se utilizó en casi todos los primeros adaptadores de vídeo para PC, como los adaptadores MDA , CGA y EGA . Los adaptadores MDA y CGA utilizan un chip Motorola, mientras que el EGA incorpora un chipset IBM personalizado compuesto por cinco chips LSI. Uno de estos chips incluye la reimplementación del CRTC por parte de IBM, que funciona de forma similar al MC6845, pero difiere en algunas direcciones de registro y funciones, por lo que no es totalmente compatible. En todos los adaptadores VGA posteriores , la función del 6845 se reproduce dentro del chip de vídeo, de modo que, en cierto modo, todos los PC compatibles con IBM PC actuales aún incorporan la lógica del CRTC 6845.
controladores de interfaz de vídeo
- Los controladores de vídeo Signetics 2636 y 2637 son conocidos principalmente por su uso en los sistemas Interton VC 4000 y Emerson Arcadia 2001, respectivamente.
- El MC6847 es un generador de vídeo (VDG) introducido por primera vez por Motorola y utilizado en el ordenador a color TRS-80 , el Dragon 32/64 , el Laser 200 y el Acorn Atom, entre otros.
- Los chips MOS Technology 6560 (NTSC) y 6561 (PAL) se conocen como controladores de interfaz de vídeo (VIC) y se utilizan en el VIC-20 .
- Los chips MOS Technology 6567/8562/8564 (versiones NTSC) y 6569/8565/8566 (PAL) eran conocidos como VIC-II y se utilizaban en el Commodore 64 .
- El chip MOS Technology 8563/8568 se utilizó en los ordenadores Commodore 128 (8563) y Commodore 128D (8568) para crear una pantalla de texto de 80 columnas, así como varios modos gráficos de alta resolución. Los modelos Commodore 128 incluían un VIC-II para admitir modos de vídeo compatibles con Commodore 64 .
- El dispositivo de edición de texto (TED) MOS Technology 7360 se utilizó en los ordenadores Plus/4 , Commodore 16 y Commodore 116 y disponía de capacidad de audio integrada.
- El circuito integrado SCC66470 de Philips Semiconductors era un controlador de vídeo y sistemas (VSC) que se utilizaba junto con su microcontrolador 68070, por ejemplo, en sistemas CD-i .
coprocesadores de vídeo
- El ANTIC ( Alpha - Numeric Television Interface Circuit ) fue un chip de sistema de vídeo primitivo utilizado en los ordenadores Atari de 8 bits . Podía leer una " lista de visualización " con su propia CPU integrada y utilizar estos datos para generar una señal de vídeo compleja.
- El TMS9918 , conocido como procesador de visualización de vídeo (VDP), fue diseñado originalmente para la Texas Instruments TI-99/4 , pero posteriormente también se utilizó en sistemas como la MSX (MSX-1), ColecoVision , la serie Memotech MTX y las consolas Sega SG-1000 y SC-3000 . La Master System utiliza un VDP mejorado basado en el TMS9918, y el VDP Sega 315-5313 (Yamaha YM7101), utilizado en la Sega Genesis y algunas máquinas recreativas, es una versión mejorada del VDP de la Master System, con los modos originales (inferiores) del TMS9918 eliminados.
- El NEC μPD7220 . Se utilizó en algunas tarjetas gráficas de gama alta para el IBM PC a mediados de los 80, especialmente en productos de Number Nine Visual Technology .
- El RP2C02 ( NTSC ) [ 2 ] o RP2C07 ( PAL ) [ 3 ] es un coprocesador de vídeo diseñado por Ricoh para Nintendo en las consolas Famicom y Nintendo Entertainment System , conocido como "Unidad de Procesamiento de Imagen" (PPU). Está conectado a 2048 bytes de RAM de vídeo dedicada y cuenta con un bus de direcciones dedicado que permite acceder a RAM o ROM adicionales desde el cartucho del juego. Admite un campo de juego desplazable de 256 × 240 píxeles, junto con una lista de visualización de 64 OBJ (sprites), de los cuales se pueden mostrar 8 por línea de exploración.
- El Yamaha V9938 es una versión mejorada del TMS9918 y se utilizó principalmente en el MSX2 .
- El Yamaha V9958 es el procesador de vídeo (VDP) que se utiliza principalmente en los ordenadores MSX2+ y MSX turboR .
- El VLSI VS21S010D-L es una memoria SRAM SPI/paralela de 128 kB con un controlador de pantalla de vídeo integrado, píxeles de profundidad de bits variable y un blitter de movimiento de bloques.
- La serie Thomson EF936x de procesadores de visualización gráfica (GDP) ofrece una velocidad de dibujo de 1 millón de píxeles por segundo y resoluciones de hasta 1024×512.
Alternativas a un chip VDC
Cabe destacar que muchos de los primeros ordenadores domésticos no utilizaban un chip VDP, sino que construían todo el controlador de vídeo a partir de numerosos chips lógicos discretos (por ejemplo, el Apple II , el PET y el TRS-80 ). Debido a la gran flexibilidad de estos métodos, los generadores de vídeo podían ser muy potentes (o extremadamente primitivos, según la calidad del diseño), pero también requerían una gran cantidad de componentes.
Muchos de los primeros sistemas utilizaban algún tipo de matriz lógica programable ( PLR) para crear un sistema de vídeo; ejemplos de ello son los sistemas ZX Spectrum y ZX81 , y el Elektronika BK-0010 , aunque existieron muchos otros. Las primeras implementaciones solían ser muy primitivas, pero las posteriores a veces dieron lugar a sistemas de vídeo bastante avanzados, como el del SAM Coupé . En los sistemas más básicos, como el ZX81, el hardware solo realizaba funciones eléctricas y el microprocesador se encargaba de la sincronización y el nivel del flujo de vídeo. Dado que la velocidad de datos de vídeo era alta en relación con la velocidad del procesador, el ordenador solo podía realizar cálculos no relacionados con la visualización durante el intervalo entre fotogramas. Esto limitaba el rendimiento a un máximo del 25 % de los ciclos de CPU disponibles.
Estos sistemas permitían construir sistemas muy capaces con relativamente pocos componentes, pero la baja cantidad de transistores de la lógica programable inicial hacía que las capacidades de los primeros sistemas basados en PLA fueran a menudo menos impresionantes que las de aquellos que utilizaban controladores de interfaz de vídeo o coprocesadores de vídeo disponibles en ese momento. Las soluciones PLA posteriores, como las que utilizaban CPLD o FPGA , permitieron crear sistemas de vídeo mucho más avanzados, superando a los construidos con componentes comerciales.
Una solución híbrida frecuente consistía en 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 ello, todos los sistemas de vídeo actuales basados en VGA siguen utilizando los registros de hardware que proporcionaba el 6845.
Soluciones modernas

Gracias a los avances en la fabricación de dispositivos semiconductores , cada vez se implementan más funcionalidades en circuitos integrados , que a menudo se pueden licenciar como núcleos de propiedad intelectual de semiconductores (SIP core). Los bloques de sistema en paquete (SiP) para controladores de pantalla se encuentran en los chips de GPU , APU y SoC .
Admiten diversas interfaces : VGA , DVI , HDMI , DisplayPort , VHDCI , DMS-59 y más. El PHY incluye LVDS , DisplayPort integrado , TMDS y Flat Panel Display Link , OpenLDI y CML . Un monitor de computadora moderno puede tener un controlador LCD o un controlador OLED integrado. [ 4 ]
Por ejemplo, una señal VGA, generada por la GPU, se transmite a través de un cable VGA al controlador integrado del monitor. Ambos extremos del cable terminan en un conector VGA . Los portátiles y otros ordenadores portátiles utilizan diferentes interfaces entre el controlador de pantalla y la pantalla. Un controlador de pantalla suele ser compatible con varios estándares de visualización .
El controlador KMS es un ejemplo de controlador de dispositivo para controladores de pantalla, y AMD Eyefinity es una marca especial de controlador de pantalla con soporte para múltiples monitores .
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 pantalla de forma independiente. El primero tiene nombres comerciales como Mali-200 o Mali-T880, mientras que el segundo está disponible como Mali-DP500, Mali-DP550 y Mali-DP650. [ 5 ]
Historia
En 1982, NEC lanzó el NEC μPD7220 , uno de los controladores de pantalla de video más utilizados en las computadoras 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 . [ 6 ] Intel obtuvo la licencia del diseño y lo denominó controlador de pantalla gráfica 82720. [ 7 ]
Anteriormente, las tarjetas gráficas también se denominaban adaptadores gráficos, y los chips utilizados en estas tarjetas ISA / EISA consistían únicamente en un controlador de pantalla, ya que esta era la única funcionalidad necesaria para conectar un ordenador a una pantalla. Las tarjetas posteriores incluyeron circuitos integrados para realizar cálculos relacionados con la renderización 2D en paralelo con la CPU; estas tarjetas se denominaron tarjetas aceleradoras gráficas. De forma similar, posteriormente se incorporaron circuitos integrados para la renderización 3D. Dichas 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 que el que puede proporcionar el bus ISA.
Véase también
Referencias
- ↑ M. Rasch, B. Bertelsons (1995). Scott Slaughter (ed.). PC Underground: Unconventional Programming Topics . EE. UU.: Abacus Software Inc. págs. 58-68. ISBN 978-1557552754.El controlador de tubo de rayos catódicos (CRTC) es responsable de generar la señal de vídeo y es programable. El CRTC registra tablas de significado de bits para VGA , EGA , CGA , Hercules , SVGA y Modo X.
- ↑ "Vídeo NES NTSC" . NESdev.org. 4 de junio de 2024.
- ↑ "Vídeo NES PAL" . NESdev.org. 24/06/2024.
- ↑ https://www.xhpanel.com/info-detail/lcd-controller-boards-everything-you-need-to-know
- ↑ "Soporte inicial para el controlador de pantalla ARM Mali" . Lista de correo del kernel de Linux . 1 de abril de 2016.
- ↑ Dampf, Guido (1986). "Gráficos con el NEC 7220: Acceso directo con Turbo Pascal" . Archivado del original el 2 de mayo de 2019. Recuperado el 27 de julio de 2013 .(Traducción de "Grafik mit dem 7220 von NEC", mc , 1986, H11, págs. 54-65)
- ↑ Changon Tsay (1 de enero de 1986). Diseño de un sistema gráfico basado en el controlador de pantalla gráfica INTEL 82720. Universidad de Texas en El Paso. págs. 1–152 .
{{cite book}}:|work=ignorado ( ayuda )
Enlaces externos
- Conferencia sobre Linux embebido 2013: Anatomía de un controlador KMS embebido en YouTube. Un controlador KMS es un controlador de dispositivo para controladores de pantalla.
- chips gráficos
- Tecnología de televisión