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.