Controlador de pantalla de video

Tipo de circuito integrado
Diagrama de bloques de un controlador de pantalla gráfica NEC μPD7220

Un controlador de pantalla de vídeo ( VDC ), también llamado motor de pantalla o interfaz de pantalla , 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 de TV 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 algunos de los primeros sistemas de imagen de vídeo.

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

La mayoría de las veces, el chip VDC está completamente integrado en la lógica del sistema informático principal (su RAM de video aparece en el mapa de memoria de la CPU principal), pero a veces funciona como un coprocesador que puede manipular el contenido de la RAM de video de forma independiente.

Controlador de pantalla de video vs. unidad de procesamiento de gráficos

La diferencia entre un controlador de pantalla, un acelerador de gráficos y un IC de compresión/descompresión de video es enorme, pero, dado que toda esta lógica generalmente se encuentra en el chip de una unidad de procesamiento de gráficos y generalmente no está disponible por separado para el cliente final, a menudo hay mucha confusión acerca de estos bloques funcionales tan diferentes.

Las GPU con aceleración de hardware se hicieron populares durante la década de 1990, entre ellas 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. Las VDC solían contar con hardware especial para la creación de " sprites ", función que en chips VDP más modernos se realiza con el " Bit Blitter " utilizando la función " Bit blit ".

Un ejemplo de un procesador de pantalla de vídeo típico es el " procesador de pantalla de vídeo de plano de desplazamiento y fondo VDP2 de 32 bits " de Sega Saturn . Otro ejemplo es el chip Lisa (AGA) que se utilizó para mejorar los gráficos de las computadoras Amiga de la generación posterior .

Dicho esto, no está del todo claro cuándo un "chip de vídeo" es un "controlador de pantalla de vídeo" y cuándo es un "procesador de pantalla de vídeo". Por ejemplo, el TMS9918 a veces se denomina "controlador de pantalla de vídeo" y a veces "procesador de pantalla de vídeo". Sin embargo, en general, un "procesador de pantalla de vídeo" tiene cierta potencia para "procesar" el contenido de la RAM de vídeo (por ejemplo, rellenar un área de RAM), mientras que un "controlador de pantalla de vídeo" solo controla la sincronización de las señales de vídeo y el acceso a la RAM de vídeo.

La unidad de procesamiento gráfico (GPU) va un paso más allá que el VDP y normalmente también admite funciones 3D. Este es el tipo de chip que se utiliza en los ordenadores personales modernos.

Tipos

Los controladores de pantalla de video se pueden dividir en varios tipos diferentes, enumerados aquí desde el más simple al más complejo;

  • Los cambiadores 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. Obtienen los datos de vídeo de la CPU principal, un byte a la vez, y los convierten en un flujo de bits en serie, de ahí el nombre técnico "cambiador de vídeo". Este flujo de datos en serie se utiliza luego junto con las señales de sincronización para generar una señal de vídeo. La CPU principal debe hacer la mayor parte del trabajo. Normalmente, estos chips solo admiten un modo de gráficos rasterizados de resolución muy baja .
  • Un CRTC , o controlador de tubo de rayos catódicos , genera los tiempos de vídeo y lee los datos de vídeo de la RAM conectada al CRTC para enviarlos a través de una ROM de generador 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] Debido a que las capacidades reales del generador de vídeo dependen en gran medida de la lógica externa, el 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 video son mucho más complejos que los controladores CRT, y los circuitos externos que se necesitan con un CRTC están integrados en el chip del controlador de video. A menudo se admiten sprites, así como generadores de caracteres (basados ​​en RAM) y RAM de video dedicada a atributos de color y registros de paleta ( tablas de búsqueda de colores ) para los modos de alta resolución o texto.
  • Los coprocesadores de vídeo tienen su propia CPU interna dedicada a leer (y escribir) su propia RAM de vídeo (que puede ser compartida con la CPU) y convertir el contenido de esta RAM de vídeo en una señal de vídeo. La CPU principal puede dar órdenes al coprocesador, por ejemplo, para cambiar los modos de vídeo o para manipular el contenido de la RAM de vídeo. El coprocesador de vídeo también controla el generador de caracteres (que suele estar basado en RAM), la RAM de atributos de color, los registros de paleta y la lógica de sprites (siempre que existan, por supuesto).

Lista de ejemplos de VDC

Algunos ejemplos de controladores de visualización de vídeo son:

Cambiadores de video

  • El RCA CDP1861 era un chip muy simple, construido en tecnología CMOS (algo inusual para mediados de los años 1970) para complementar el microprocesador RCA 1802 , se utilizó principalmente en el COSMAC VIP . Solo podía soportar un modo gráfico monocromo de muy baja resolución.
  • El Adaptador de Interfaz de Televisión (TIA) es el chip de video personalizado que es el corazón de la consola de juegos Atari 2600 , un chip primitivo que dependía del microprocesador 6502 para hacer la mayor parte del trabajo, también se usaba para generar el audio.

Controladores CRT

  • El controlador CRT Intel 8275 se utilizó en 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 primera vez por Motorola y utilizado para el Amstrad CPC y el BBC Micro . También se utilizó para casi todos los primeros adaptadores de vídeo para PC, como los adaptadores MDA , CGA y EGA . El MDA y el CGA utilizan un chip Motorola real, mientras que el EGA tiene un chipset IBM personalizado de cinco chips LSI; uno de esos chips incluye la reimplementación de IBM del CRTC, que funciona como un MC6845 pero difiere en algunas direcciones de registro y funciones, por lo que no es 100% compatible. En todos los adaptadores posteriores compatibles con VGA, la función del 6845 todavía se reproduce dentro del chip de vídeo, por lo que, en cierto sentido, todos los PC actuales compatibles con IBM PC aún incorporan la lógica del CRTC 6845.

Controladores de interfaz de vídeo

Coprocesadores de vídeo

  • El ANTIC ( circuito de interfaz de televisión alfanumérico ) fue uno de los primeros chips de sistema de vídeo utilizados 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 se conoce como procesador de pantalla de video (VDP) y fue diseñado inicialmente para la Texas Instruments TI-99/4 , pero luego también se utilizó en sistemas como MSX (MSX-1), ColecoVision , Memotech MTX series y para 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 Sega Genesis y algunas máquinas arcade es un avance adicional del VDP de la Master System con los modos TMS9918 originales (inferiores) eliminados.
  • El NEC μPD7220 se utilizó en algunas tarjetas gráficas de gama alta para IBM PC a mediados de los años 80, en particular en productos de Number Nine Visual Technology .
  • El RP2C02 ( NTSC ) [2] o RP2C07 ( PAL ) [3] fue un coprocesador de vídeo diseñado por Ricoh para el uso de Nintendo en la Famicom y la Nintendo Entertainment System . Estaba conectado a 2048 bytes de RAM de vídeo dedicada y tenía un bus de direcciones dedicado que permitía acceder a RAM o ROM adicionales desde el cartucho de juego. Se admitía un campo de juego desplazable de 256×240 píxeles, junto con una lista de visualización de 64 OBJ (sprites), de los cuales 8 podían mostrarse por línea de escaneo.
  • El Yamaha V9938 es una versión mejorada del TMS9918, y se utilizó principalmente en el MSX2 .
  • El Yamaha V9958 es el procesador de visualización de video (VDP) utilizado principalmente en las computadoras MSX2+ y MSX turboR .
  • La VLSI VS21S010D-L es una SRAM SPI/paralela de 128 kB con un controlador de pantalla de video integrado con píxeles de profundidad de bits variable y un blitter de movimiento de bloques.
  • La serie  Thomson EF936x de procesador de pantalla gráfica (GDP), que 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

Tenga en cuenta que muchas de las primeras computadoras domésticas no usaban un chip VDP, sino que construían todo el controlador de pantalla de video a partir de una gran cantidad de chips de lógica discreta (algunos ejemplos son Apple II , PET y TRS-80 ). Debido a que estos métodos son muy flexibles, los generadores de pantalla de video podían ser muy capaces (o extremadamente primitivos, dependiendo de la calidad del diseño), pero también necesitaban una gran cantidad de componentes.

Muchos de los primeros sistemas utilizaban algún tipo de matriz lógica programable para crear un sistema de vídeo; algunos ejemplos son los sistemas ZX Spectrum y ZX81 y el Elektronika BK-0010 , pero había muchos otros. Las primeras implementaciones eran a menudo muy primitivas, pero las implementaciones posteriores a veces daban lugar a 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 el microprocesador proporcionaba la sincronización y el nivel del flujo de vídeo. Como 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 reales que no fueran de visualización durante el periodo de retroceso entre los fotogramas de visualización. Esto limitaba el rendimiento a un máximo del 25 % de los ciclos de CPU totales disponibles.

Estos sistemas permití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 primeros sistemas basados ​​en PLA eran a menudo menos impresionantes que las de los que utilizaban controladores de interfaz de vídeo o coprocesadores de vídeo que estaban disponibles en la misma época. Las soluciones PLA posteriores, como las que utilizaban 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 que se utilizaba con frecuencia consistía en utilizar un controlador de interfaz de vídeo (normalmente el Motorola 6845 ) como base y ampliar sus capacidades con lógica programable o un ASIC . Un ejemplo de este tipo de solución híbrida es la tarjeta VGA original , que utilizaba un 6845 en combinación con un ASIC. Por este motivo, todos los sistemas de vídeo actuales basados ​​en VGA siguen utilizando los registros de hardware que proporcionaba el 6845.

Soluciones modernas

Diagrama de bloques del chip ATi R300 . El controlador de pantalla se denomina "interfaz de pantalla".

Con los avances en la fabricación de dispositivos semiconductores , se implementan cada vez más funciones como circuitos integrados , que a menudo se pueden licenciar como núcleo de propiedad intelectual de semiconductores (núcleo SIP). Los bloques de controlador de pantalla System In Package (SiP) se pueden encontrar en la matriz 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 , TMDS y Flat Panel Display Link , OpenLDI y CML . [ cita requerida ]

Por ejemplo, una señal VGA, creada por la GPU, se transporta a través de un cable VGA hasta el controlador de pantalla. 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 pantalla de ordenador .

El controlador KMS es un ejemplo de un 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 (cambiar tamaño 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 : ofrece un núcleo 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. [4]

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 NEC PC-9801 , APC III , IBM PC compatibles , DEC Rainbow , Tulip System-1 y Epson QX-10 . [5] Intel obtuvo la licencia del diseño y lo llamó el controlador de pantalla gráfica 82720. [6]

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 pantalla, ya que esta era la única funcionalidad necesaria para conectar una computadora a una pantalla. Las tarjetas posteriores incluyeron circuitos integrados para realizar cálculos relacionados con la representación 2D en paralelo con la CPU; estas tarjetas se denominaron tarjetas aceleradoras de gráficos. De manera similar, con el tiempo siguieron los circuitos integrados para la representación 3D. Estas tarjetas estaban disponibles con interfaces VLB , PCI y AGP ; las tarjetas modernas generalmente usan 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 . 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 video y es programable. CRTC registra tablas de significado de bits para VGA , EGA , CGA , Hercules , SVGA y Modo X ".
  2. ^ "Vídeo NTSC de NES". NESdev.org. 4 de junio de 2024.
  3. ^ "Video de NES PAL". NESdev.org. 24 de junio de 2024.
  4. ^ "Soporte inicial para el controlador de pantalla ARM Mali". Lista de correo del kernel de Linux . 2016-04-01.
  5. ^ Dampf, Guido (1986). «Gráficos con el NEC 7220: acceso directo con Turbo Pascal» . Consultado el 27 de julio de 2013 .(Traducción de "Grafik mit dem 7220 von NEC", mc , 1986, H11, págs. 54-65)
  6. ^ Changon Tsay (1 de enero de 1986). Un diseño de 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 )
  • Conferencia sobre Linux integrado 2013: Anatomía de un controlador KMS integrado en YouTube El controlador KMS es un controlador de dispositivo para controladores de pantalla
Retrieved from "https://en.wikipedia.org/w/index.php?title=Video_display_controller&oldid=1246405541"