016-Adaptadores de Video

Anuncio
Buses y Periféricos. 99/00
Adaptadores de Video
Adaptadores de Vídeo.
Un adaptador de vídeo es un circuito que controla el monitor o pantalla. Su función principal es mostrar
en pantalla los datos que el procesador deposita en una memoria específica. Básicamente existirán dos
tipos de datos a visualizar: caracteres y gráficos. Los caracteres vienen prefigurados en tramas de puntos
que el adaptador selecciona y envía a pantalla como un bloque a la recepción de su código. Los datos
gráficos informan específicamente para cada punto visible en pantalla del grado de intensidad o color que
se le desea dar.
El adaptador también genera señales de control que determinan la resolución de la pantalla (número de
puntos visibles). Son las llamadas señales de sincronismo.
Breve discusión sobre monitores.
Los que llamamos monitores, pantallas, dispositivos TCR (en inglés CRT), o televisión, consiste en un
haz de electrones que incide en una pantalla de cristal recubierta de un material fosforescente. Cuando el
rayo choca contra esta pantalla en un punto determinado, este material centellea con una intensidad
proporcional a la del haz de electrones, y permanece encendida (persistencia) durante un breve periodo
una vez que el haz se ha alejado. La combinación de puntos de variadas intensidades forman la imagen
vista por el otro lado.
El haz de electrones va barriendo la pantalla de izquierda a derecha y de arriba abajo. Cada vez que traza
una línea y tras la recepción de un pulso (SH), el cañón retrocede hasta el comienzo de una nueva línea y
así prosigue hasta alcanzar el punto extremo inferior derecha, en este momento recibe un pulso (SV) que
obliga al cañón a retornar al extremo superior izquierda. La intensidad del haz de electrones estaría
gobernada por una tercera señal directamente relacionada con los datos a mostrar en pantalla.
La diferencia más destacable de un monitor color y uno monocromo es que en estos el material
fosforescente tenía un solo tono y la información contenida en la señal de datos determinaba el grado de
intensidad con que hacer brillar cada punto. En los monitores color existe por cada punto diferenciado de
pantalla (la diferenciación se realiza mediante unas máscaras que obliga a que el haz de electrones incida
exactamente en un punto y no influya en las zonas limítrofes a él) tres subzonas, cada una revestida de un
material fosforescente que genera uno de los colores básicos (Rojo, Verde y Azul) al incidir el rayo sobre
él. Por la combinación de diversas intensidades de estos tres colores se obtienen el resto de los tonos.
Ahora la señal de datos está compuesta de tres parciales: la señal de datos para el haz rojo, la señal de
datos para el haz verde y la señal de datos para el haz azul.
En los televisores tradicionales todas estas señales iban combinadas en una única señal de vídeo. Por ello
existían una serie de fases de disgregación (demodulación) que separaba y encaminaba cada una de las
señales a su función. Con el uso para entornos informáticos se crearon los adaptadores que generaban
directamente cada una de las señales, lo que simplificaba el dispositivo de televisión al eliminarle todas
esas fases de pretratamiento de la señal de vídeo. Los adaptadores podían generar estas señales en formato
digital, lo cual no afecta particularmente a las señales de sincronismo, pero sí a la señal de datos
determinando los grados de intensidad que pueden asociarse con cada punto; o en formato analógico lo
que proporciona más precisión en este punto.
Las frecuencias de estas señales determinan lo que llamamos la resolución del monitor.
La señal de sincronismo vertical (SV) nos da, con su frecuencia, el número de pantallas (frames) visibles
por segundo; la señal de sincronismo horizontal determina (SH) el número de líneas que contiene cada
pantalla y la frecuencia de la señal de caracteres determina el número de puntos que es posible distinguir
en una línea o píxeles. Un píxel es un punto individualizado de pantalla. Para conseguir esta
individualización cada píxel debe estar separado por una zona oscura de los píxeles que le rodean. Al
espacio que ocupa un píxel más ésta distancia de separación se le denomina pitch y viene determinada por
la frecuencia de la señal de datos por un lado, la frecuencia de la señal SH por otro y limitadas por las
características del material fosforescente y el mecanismo de movimiento del cañón de electrones, etc, que
establecerán un tope inferior a estas frecuencias.
Buses y Periféricos. 99/00
Adaptadores de Video
Ejemplo: Para una frecuencia Sv=70Hz y Sh=80KHz ¿cuál se estima que sería la frecuencia de la señal de datos si deseamos un
mínimo de 200 puntos por línea? Si la señal Sh es de 80KHz, su periodo es de 1/80KHz y lo que queremos es dibujar 200 puntos en
ese tiempo. La señal de datos debe aportar información para cada punto, si dibujáramos todos los puntos con la misma intensidad,
tendríamos una señal periódica con el periodo equivalente a el tiempo invertido en cada punto que sería (1/80K)/200 lo que
equivaldría a un periodo de 1/(200*80K), es decir una frecuencia de 16000 KHz.
En un principio la frecuencia de estas señales estaba fija para un determinado monitor, lo que implica que
esos monitores mantenían una resolución estática. Aunque para superar el número de líneas de pantalla
que es posible ver a determinadas frecuencias SV y SH, se empleó una técnica denominada entrelazado.
Esta técnica hace que cada imagen a visualizar se envíe a pantalla en dos frames: uno de los cuales
mostraría las líneas pares de la imagen y el otro las líneas impares. Por este medio se podía doblar el
número de líneas por pantalla aunque al coste de mostrar una imagen cada dos frames (también requeriría
ajustes en el mecanismo de dirección del haz) lo que tenía como efecto que parpadease la imagen.
Posteriormente se construyeron monitores que permitían variar la frecuencia de estas señales y con ello
la resolución de la misma dinámicamente según las necesidades.
Como caracterización de un monitor podemos recibir el número de pulgadas que tiene la diagonal de su
pantalla. Estas pulgadas junto con el pitch nos puede servir para estimar la resolución máxima de este
monitor según la siguiente fórmula:
pulgadas2 = (líneas *pitch)2 + (puntosporlínea *pitch)2
ejemplo: Tenemos un monitor de 14 pulgadas y no facilitan la información de que el pitch es de 0.28 milímetros. ¿Podemos inferir
de esta información la máxima resolución de este monitor?).
0.28mm*0.039=0.0109 pulgadas
142=y2*0.01092+x2*0.01092
Generalmente los monitores presentan más puntos en la horizontal (x) que en la vertical (y), supongamos que la relación es 1.3:
y*1.3=x
142=y2*0.01092+ y2*1.32*0.01092
142/(0.01092*(1+1.32))=y2
y=783
x=1.3*y=1018
Controlador de vídeo.
Un controlador o adaptador de vídeo consiste en un circuito generador de las señales descritas arriba más
un circuito generador de señal de datos. Asociado con este circuito está una memoria en la cual el
procesador deposita la información que desea mostrar en pantalla. Como ya se ha comentado el
dispositivo puede funcionar en uno de dos modos genéricos: texto o gráfico. En modo texto el procesador
deposita en la memoria los caracteres a mostrar en pantalla más una información asociada con cada uno
indicando el grado de intensidad o color (o alguna otra característica más elaborada proporcionada por el
controlador) con las que se desea que aparezca (atributo). En modo gráfico se limita a informar sobre el
atributo de cada punto de pantalla. El controlador obtiene esa información y genera con ella la señal de
datos que gobierna la intensidad del haz (o los haces en el caso de monitores color).
Para el modo texto el proceso es el siguiente: a partir del código de carácter se recupera una trama de
puntos (previamente almacenada en una memoria residente en el propio controlador) que es una
representación visual del carácter a mostrar, se modifica convenientemente esta trama de puntos a partir
de los atributos asociados al carácter y se envía a pantalla a través de la señal de datos (esta simplificación
es ligeramente más compleja ya que cada carácter ocupa varias líneas de pantalla y una sola línea de
pantalla contiene información correspondiente a diferentes caracteres.)Para el modo gráfico la
información del atributo asociado con cada punto de pantalla es traducida directamente a la señal de datos
(grados de intensidad del haz de electrones)
En lo que respecta a caracterizar un adaptador de vídeo, el principal atractivo es la resolución que ofrece
tanto para el modo gráfico, ofrecida en puntos por pantalla, como para el modo texto, ofrecida en
caracteres por pantalla. En cuanto a esto último, es también determinante el tamaño de la trama de puntos
Buses y Periféricos. 99/00
Adaptadores de Video
que alberga la representación de un carácter, a mayor número de puntos se asignen a esta trama mayor
flexibilidad para ofrecer diferentes estilos de carácter.
Otra característica importante es el color, o en el caso de monocromo, niveles de gris. Esto viene
determinado por dos aspectos: requerimientos de memoria del adaptador, capacidad de traducción digitalanalógica desde el código de color a intensidad del haz de electrones. En este sentido los adaptadores
ofrecen toda una gama de colores posible, pero debido a requerimientos de memoria y de codificación por ejemplo tamaño del código de atributo - no es posible mostrar todos los colores al mismo tiempo, sino
un subconjunto al que se le suele denominar paleta.
Adaptadores de vídeo en PC's
CGA
El primer adaptador de vídeo incorporado en los primeros PC fue el CGA (color graphics adapter).
Ofrecía ambos modos de trabajo: texto y gráfico, pero se consideraba que el modo texto con una trama de
puntos por carácter de 8x8 era bastante pobre, sobre todo en comparación con el otro adaptador que se
ofrecía como alternativa MDA. A diferencia de aquel, en cambio, ofrecía modo gráfico y color, una
resolución de 640x200 puntos en modo gráfico y un máximo de 80x25 caracteres.
Este adaptador admitía una RAM de hasta 16K situada en B8000h. En esta, los datos destinados a ser
mostrados en pantalla están codificados por líneas y de izquierda a derecha de pantalla. Para el modo
texto en las direcciones pares aparecía el código del carácter y en las impares el código del atributo.
Además el adaptador permite seleccionar diversos submodos de los modos genéricos que varían en
resolución o uso del color. Esto influye directamente en el uso de la memoria. Los requerimientos de
memoria de algunos modos son menores que la memoria disponible, cuando esto ocurre la memoria se
divide en página, cada una de las cuales es el espacio de datos necesario para cubrir las necesidades de un
frame (por ejemplo 40*25 caracteres*2 bytes por carácter=2000 localizaciones de memoria. O en modo
gráfico 640*200 puntos *2 bits para color (4 colores)=32 000 localizaciones de memoria) y en cada
instante existe una página activa que es la que se está utilizando para mostrar en pantalla.
El número de colores permitidos en CGA es 16 con lo cual se requieren cuatro bits para codificar. Los
caracteres poseen un fondo y un dibujo que deben tener diferente color por ello se codifican ambos en el
atributo (4 bits para el dibujo y 3 bits (8 colores) para el fondo. En el atributo pueden especificarse otras
características que pueda proporcionar el adaptador, en el caso de CGA el parpadeo.
Los requerimiento del modo gráfico varían con la selección del número de colores ofrecido, CGA ofrece
paletas de 4 y dos colores seleccionables a partir de una gama de 16 posibles. Esto significa que el
adaptador es capaz de comunicar 16 colores diferentes a cada pixel. Pero no dispone de memoria
suficiente para codificar todas estas posibilidades para todos y cada uno de los puntos de pantalla. En el
modo máximo de resolución 640x200 tiene que definir el color de 128000 pixels, si utiliza 4 bits –16
combinaciones- para cada pixel necesita 512000 bits o 64000 bytes que excede los 16K de que dispone,
por ello le asigna sólo 1 bits a cada pixel. En el modo medio la resolución es de 320x200 lo que equivale
a un total de 64000 puntos. La memoria disponible es de 16K bytes o 128 K bits lo que permite disponer
dos bits por cada pixel. Por ello proporciona una paleta de 4 colores para este modo. El código que sitúa
en esos dos bits de cada pixel no es un código de color, sino un índice a un paquete de 4 registros de un
mínimo de 4 bits cada uno que contienen el verdadero código de color. Observar que en cualquier
momento se pueden cambiar los contenidos de esos registros y automáticamente cambiará el color de
todos los píxeles que apunten al registro modificado.
MDA
MDA es un adaptador que ofrece exclusivamente modo texto y monocolor. Apareció la mismo tiempo
que CGA y supera a este en la resolución de pantalla 720x350 y en resolución de carácter 9x14.
EGA
EGA apareció en 1985 y supera en características a CGA aproximándose en modo texto a lo que ofrece
MDA. ( 640x350 frente a 640x200 de CGA y 8x14 frente a los 8x8 de CGA) .
Buses y Periféricos. 99/00
Adaptadores de Video
Dispone de un espacio de memoria de 256k bytes aunque el procesador solo ofrezca un espacio de
direccionamiento de 128K (A0000h..BFFFFh). Puede emular a los modos CGA y MDA y tiene una
paleta de 16 colores simultáneos seleccionables de una gama de 64.
En modo texto al igual que en CGA necesita 4k byte de memoria direccionable comenzando en B8000h
para almacenar una pantalla de datos, por lo que usa el resto de memoria como páginas alternativas
pudiendo disponer de hasta 8 de estas páginas.
En modo gráfico permite una paleta de hasta 16 colores por píxel disponiendo de 64 colores donde elegir.
Opcionalmente el adaptador puede disponer de varias paletas de colores, entre las cuales siempre habrá
únicamente una activa.
Por otra parte la máxima resolución en modo gráfico ofrecida por EGA es de 640x350 a 16 colores
requiriéndose para almacenarla completa en memoria necesita 640*350*4 = 896000 bits (aprox 100K
bytes). La memoria direccionable que se puede utilizar para el modo gráfico es de 64K byte (a pesar de
los 128 disponibles), pero la memoria disponible por el controlador - aunque no direccionable
directamente por el procesador - es de 256K byte. Para encajar estas dos dimensiones se divide la
memoria del controlador en 4 bloques de 64 K bytes llamados planos. Cada plano es un bit de color de
manera que asignar un color a un pixel queda reflejado en un bit en la misma posición de cada plano. Un
acceso a una dirección de memoria es un acceso simultáneo a 8 píxeles. Por medio de una serie de
registros podemos asignar a cada uno de esos píxeles sus 4 bits de selección del color. Cada uno de esos
bits quedará almacenado en un plano. El proceso de manipular píxel en modo gráfico es algo complejo
porque están implicados algunos registros que hay que tener en cuenta.
0
64
kB
1
0
1
6bits
0101
0
1
2
4
5
6
.
.
.
256KB
MCGA
MCGA Es un sistema que utiliza monitores con entrada analógica. Esta novedad permite una mayor gama
de niveles de gris o colores, 262144, aunque las limitaciones de manejo datos reducen esta gama a una
paleta de 256 colores a utilizar simultáneamente.
VGA
VGA También utiliza monitores analógicos. Su novedad, en cambio, está en la incorporación del
adaptador en un solo chip que a partir de su introducción vino añadido en las placas base, a diferencia de
los adaptadores vistos hasta ahora que tenían que ser pinchados en el bus de ampliación del sistema.
Aumenta la resolución a 720x400 en modo texto y 640x480 en modo gráfico y mantiene las
características de color introducidas con MCGA.
A continuación han surgido nuevos adaptadores que van aumentando las prestaciones tanto en resolución
de puntos SVGA, XGA:1024x768 como en gama de colores disponible:16 millones de colores (24 bits)
Buses y Periféricos. 99/00
Adaptadores de Video
Bibliografía:
The 8086 IBM PC and Compatible computers.
Muhammad Ali Mazidi, Janice Gillispie Mazidi
Prentice Hall 1998
Solucionario del programador para IBM PC, XT, AT y compatibles.
Robert Jourdain.
Descargar