Hardware

Informática. Vídeo. Colores. Información: almacenamiento

  • Enviado por: Lalo
  • Idioma: castellano
  • País: México México
  • 8 páginas
publicidad

El Hardware de Video

El hardware de video es la parte del ordenador que se encarga de enviar las señales apropiadas al monitor para que se represente en este la imagen que tenemos almacenada en la memoria de video en alguna de las formas comentadas en el apartado anterior. Por supuesto el monitor también es parte (imprescindible de hecho) del hardware de video.

Básicamente el hardware de vídeo esta formado por un controlador de vídeo y la memoria de vídeo. El controlador de vídeo es un chip que controla todo el proceso de generación de las señales del monitor. Generalmente este chip es programable y es el encargado de proporcionar los modos de vídeo soportados en nuestros ordenadores.

Los modos de video se suelen caracterizar por la resolución y el número de colores. La resolución define el número de puntos que pueden ser representados en la pantalla en dirección horizontal y vertical, estos puntos reciben el nombre de pixeles. Así una resolución de 800x600 permite representar 800 pixeles horizontales por 600 verticales. Una imagen formada por una matriz de 800x600 ocuparía toda la pantalla. El número de colores representa la cantidad de colores distintos que puede generar el hardware de video. Valores típicos son 16 colores o 256 colores, generalmente en formato paleta de color. Cuando el formato pasa a ser true-color, el concepto de número de colores se sustituye por profundidad de color o bits de color y así hablamos de profundidades de 16 bits, 24 bits o 32 bits.

La memoria de video generalmente es una memoria especial ya que necesita ser accedida por una parte por el procesador central del ordenador, cuando le pedimos que pinte algo en pantalla y por el controlador de video para generar las señales del monitor. El tamaño de la memoria de video está estrechamente relacionado con los modos de video soportados, veamos un ejemplo de esta relación.

Supongamos que disponemos de un modo con una resolución de 640x480 con 256 colores simultáneos y un formato de paleta de color. Con este esquema, como ya se explicó cada punto ocuparía 1 byte, por lo que necesitaríamos 640x480=307200 o 300 Kbytes. Si en lugar de los 256 colores tuviésemos un formato true color de 24 bits, la misma resolución requeriría 3 veces más memoria, 900 Kbytes.

Los modos de 16 colores

En los sistemas de video como EGA o las primeras VGA (256 Kbytes), en los modos de alta resolución (en 640x480 de aquella y aún hoy para algunos usuarios) sólo era posible representar 16 colores simultáneos en pantalla. Para poder codificar 16 colores necesitamos 4 bits, con lo cual en cada posición de la memoria de video podríamos codificar dos pixeles. Sin embargo estos modos almacenaban la información de una forma distinta, utilizando los llamados planos de bits.

En este enfoque, la imagen estaba formada por 4 planos de bits, en cada uno de los cuales se almacenaba una representación monocroma de la imagen con relación al bit de entre los cuatro posibles para representar los 16 colores referenciaban, es decir, si por ejemplo en la paleta de color se representaba el color rojo con los bits 1001, para poder visualizar ese pixel era necesario pintarlos en el plano 0 y en el plano 3.

Un esquema de este tipo presenta ventajas e inconvenientes como sucede en todos los campos. Entre las ventajas podemos citar:

  • Con esta organización de memoria podemos pintar 8 pixeles con solo un acceso a memoria. La limitación es que los 8 pixeles están en el mismo plano, así si necesitamos 4 colores tendríamos que realizar 2 acceso para pintar los 8 pixeles, en el peor caso solo se realizarían 4 accesos a memoria para pintar los 8 pixeles. Entre cada uno de estos accesos es necesario enviar información a los registros de la tarjeta de video mediante instrucciones OUT las cuales suelen ser más lentas, pero en general si no utilizamos los 4 planos ganamos velocidad.

  • Rellenar un plano para toda la pantalla se convierte en un volcado en una zona lineal, la pantalla pasa a ser de 80x480 (640/8 x 480 lineas), lo que facilitaba operaciones como escrolles.

  • Mediante una redefinición adecuada de la paleta de color podemos crear efectos de transparencia una forma muy sencilla. Si definimos los colores con el bit 3 a 1 (del 8 al 15) con las mismas tonalidades que los que lo tienen a 0 pero un poco más oscuras, pintar sobre el plano 3 hace que los colores de la imagen se oscurrezcan. De la misma forma si definimos estos colores con un valor fijo, las zonas en las que pintemos en el plano 3 pasarán a tener el mismo color independientemente de lo que tengan en los otros planos.

Entre las desventajas podemos citar:

  • Pintar un solo pixel requiere operaciones adicionales. Al codificarse 8 pixeles en un solo byte, además de calcular el byte en el que se debe almacenar un pixel con determinadas coordenadas es necesario calcular la posición del pixel dentro.Para estos casos en los que interesa el acceso a pixels individuales los controladores de video soportaban un método alternativo de escritura en el cual se escribían los 4 planos en un solo acceso.

  • Por supuesto, tenemos sólo 16 colores.

Dependiendo de la aplicación la utilización de esta filosofía de acceso a la memoria de video mediante planos de bit y en bloques de 8 pixels puede ser más aconsejable que un acceso directo a los pixels. En concreto este mapeado de memoria era y es utilizado generalmente por los juegos. Si bien, esto está pensado para sistemas de 16 colores, se pueden programar los registros del controlador de video para permitir un acceso de este tipo en modos de 256 colores disponiéndose, en este caso, de 8 planos de bits. Estos modos se conocen en general como modos X y se siguen en vigencia, prueba de ello es el soporte que proporcionan las librerías DirectX de Microsoft para Windows95.

Reducción de Colores

Es cierto que las imágenes cuanto más colorido tengan, mejor. Sin embargo hay ocasiones en que no es necesario una definición de color excesiva, pudiendo sacrificar los colores en favor de otro parámetro que puede que estemos tratando de optimizar. Por ejemplo sabemos que en el ordenador tenemos una memoria limitada, y aunque nos guste mucho una foto en True Color puede ser que no seamos capaces de manejarla con suficiente rapidez debido a la gran cantidad de memoria necesaria. Es el caso de un juego en el cual para hacerlo adictivo y jugable, los cambios de imagen deben ser rápidos. Otro caso en el que también interesa hacer una reducción de colores es cuando vamos a sacar una imagen por impresora y esta es blanco y negro. También es muy típico sacrificar colores para que una imagen ocupe menos y terde menos en enviarse vía modem o por internet. Es en estos casos donde puede ser mejor tener menos colores para ahorrar memoria. Pero ¿cual es la mejor forma de reducir colores? Métodos para esto es lo que vamos a intentar explicar en este apartado.

En el último subapartado vamos a tratar un tema que nos es precisamente el de reducción de colores, sino el de creación de los mismos a partir de una imagen en escala de grises. Sin embargo lo tratamos aquí por ser este el apartado que más va a tratar el juego con los colores.

Cuantificación de Colores

La reducción de los colores se basa fundamentalmente en una discretización del espacio de color RGB (en el que se encuentran definidos los colores de la imagen TRUE COLOR) dividiéndolo en cubos.

En un primer paso se calculan los rangos de variación de las distintas componentes RGB en la imagen. En realidad este paso es de poca utilidad puesto que las imágenes más agradables a la vista deben estar bastante contrastadas lo que implica que contenga colores, por una parte próximos al negro y por otra próximos al blanco con lo cual, en general, estaremos dividiendo todo el cubo RGB.

Posteriormente se discretizan todos los colores en la imagen asignándolos a uno de los cubos en los que se ha dividido la imagen, para posteriormente reducir el número de cubos al numero de colores deseados. Cada cubo representar un color que ser la media de todos los colores en el contenido.

Con esta información se construye una paleta y se representa la imagen en pantalla, ya sea asignando a los distintos colores su representante asociado al cubo al que pertenencen o utilizando técnicas de dithering.

Si el número de cubos conteniendo pixeles de la imagen es superior al número de colores que deseamos en nuestra imagen final, es necesaria una reducción del número de cubos. Esta reducción se lleva a cabo asimilando los cubos que contienen el menor número de pixeles al cubos que se encuentre m s próximo y por lo tanto que tendrá un representante lo más parecido posible al asociado al cubo que se desea eliminar.

La selección de los colores más representativos de una imagen es un asunto complicado. El algoritmo más simple para llevar a cabo esta tarea es el conocido como algoritmo de popularidad, en el que se considera que los colores más importantes son aquellos que aparecen con más frecuencia. Este algoritmo tiene como inconveniente que elimina colores que aún apareciendo en muy poca cantidad tienen una gran importancia en la calidad subjectiva final de la imagen. Supongamos que mediante un programa de renderizado 3D (por ejemplo mediante técnicas de raytracing) generamos una imagen de una esfera azul metálica iluminada por un punto de luz. Los tonos de azul serán los que más aparecerán, a excepción de unos pocos tonos claros en la región donde se refleja la luz (en nuestro programa 3D hemos caracterizado la esfera con reflexión especular). El algoritmo de popularidad eliminaría esos colores obteniéndose un resultado final de muy mala calidad. Si conservásemos estos tonos claros y eliminásemos algunos de los azules, el resultado sería mucho más agradable a la vista, ya que apenas notaríamos la diferencia entre dos tonos de azul muy parecidos.

De todo lo comentado en el parrafo anterior se deduce que más importante que la frecuencia de aparición de los puntos en la imagen, es la distancia entre los distintos puntos. Es mejor eliminar puntos muy parecidos aunque aparezcan muchas veces y sustituirlos por un sólo representante que eliminar colores que aún apareciendo pocas veces son muy distintos que el resto de los que aparecen en la imagen.

Un algoritmo más elaborado que el de la popularidad es el algoritmo del octree. Este algoritmo lleva a cabo una división recursiva del espacio RGB en cubos cada vez de menor tamaño. En una primera etapa se divide todo el cubo RGB, obteniéndose 8 nuevos cubos (de ahí su nombre octree -árbol de ocho en ocho-). Si alguno de los cubos no contiene pixeles de imagen, el árbol ya no sigue creciendo en esa dirección. El algoritmo teórico, divide los cubos hasta que cada uno de ellos sólo contenga un pixeles. En realidad no es necesario llegar a estos niveles, según lo expuesto anteriormente podríamos solamente dividir aquellos cubos en los que la varianza de los pixeles en ellos contenidos fuese grande, de esta forma nos aseguramos de tener representados los colores más distintos de la imagen.

Este algoritmo en su forma original es muy poco práctico. Los árboles requieren una cantidad excesiva de memoria además de los requerimientos de almacenamiento de los pixeles de la imagen (estamos hablando de tamaños de imagen de cerca del Megabyte de memoria). Se han desarrollado varias técnicas para solucionar estos problemas. En la práctica en lugar de un árbol se construye una matriz con tantas componentes como el número de colores al que deseemos reducir la imagen. Cada entrada en la matriz representar un cubo en el espacio RGB. Por otra parte se hace necesaria la utilización de una tabla hash para reducir el número de bits por pixel de 24bits a un valor apropiado, de forma que sea posible tener información de estos en memoria para el calculo de la varianza en cada uno de los cubos.

El algoritmo comienza con 8 cubos y asigna los pixeles de la imagen a cada uno de ellos. Posteriormente calcula el de mayor varianza y genera 8 nuevas entradas en la matriz, ajustando las características de los cubos que sufren modificaciones. Este proceso se repite hasta conseguir un número de cubos iguales al numero de colores que deseamos reducir.

Este algoritmo obtiene unos resultados muy buenos, aunque de todas formas requiere bastante espacio de almacenamiento y las funciones hash a utilizar tienen una importante influencia sobre el resultado final de la imagen.

Como ya indicamos, la reducción se hace eliminando el cubo que contiene el menor número de pixeles de imagen y de todo lo expuesto en esta sección se deduce que esta no es una opción excesivamente buena. Sería más recomendable la asimilación de los dos cubos más próximos en uno sólo, necesitando este proceso un número muy superior de operaciones al ser necesario el cálculo de distancias y una comparación exhaustiva entre todos los cubos disponibles. Cuando la reducción se lleva a cabo para un número elevado de colores, en general no vamos a tener problemas de eliminación de colores importantes, puesto que se realiza un ajuste muy fino y por lo tanto tendremos cubos con colores próximos a los que más aparecen y con pocas componentes que ser n eliminados, sin embargo cuando el número de colores al que queremos reducir se hace muy pequeño (32 ó 16 colores) esta división fina constituye un problema.

Si tenemos un ajuste muy fino del espacio RGB, y el número de colores al que queremos reducir la imagen es muy pequeño, tendremos que eliminar muchos cubos, en concreto los que tengan el menor número de pixeles. Inicialmente eliminaremos colores próximos a los que más aparecen como se indicaba en el apartado anterior, pero al seguir reduciendo estaremos eliminando los colores importantes de los que hemos hablado y que tienen asociados muy pocos pixeles de imagen. Para solucionar esto nuestro programa permite que el usuario indique manualmente el número de divisiones por componente RGB que se desea realizar. Cuando nos encontramos en este caso una división más gruesa nos lleva a tener que eliminar menos cubos (o incluso ninguno) siendo más probable que prevalezcan los cubos conteniendo esos colores importantes de aparición menor.

UNIDADES DE ALMACENAMIENTO DE LA INFORMACION.

Lugar que ocupan las unidades de discos magnéticos y ópticos dentro del conjunto

De los periféricos más comunes.

Teniendo presente la Unidad 1, habíamos planteado que un computador se comunica con el exterior mediante los periféricos ligados al mismo, que son dispositivos (hardware) controlados por software.

El "exterior" podía estar constituido por distintos medios: discos, papel, pantalla, teclado, cable telefónico, cable de comunicación con otros computadores de una red, etc.

Los discos, sean rígidos, CDs, o disquetes se consideran memoria auxiliar o secundaria, de gran capacidad de almacenamiento en relación con la memoria principal, pero de acceso un millón de veces mas lento.

Propiedades y funciones de los discos magnéticos.

1. Tiene capacidad para almacenar masivamente grandes cantidades de inmolación en reducidos espacios con el consiguiente bajo costo relativo por byte almacenado.

2. Es memoria "no volátil": guarda largo tiempo los bits almacenados aunque se retire el sumistro de energía eléctrica, propiedad que la memoria principal carece.

3. Permite acceder en pocos milisegundos, casi directamente, al lugar donde se halla un bloque de datos a leer o escribir, sin necesidad de búsqueda en todos los bloques de datos que le preceden, como ocurre en una cinta magnética. En esta además no se puede re-escrbir una porción sin re-escribirla totalmente.

  • La mayoría de los programas están almacenados en disco, constituyendo archivos

"Ejecutables".

Cuando se necesita un programa, una copia de este pasa a memoria principal, para ser ejecutado.

- Generalmente pasa de disco a memoria una copia del archivo de datos que procesara un programa.

Los resultados obtenidos van de memoria a disco, formando parte de dicho archivo o de otro.

  • El disco sirve también para simular una "memoria virtual', de mucho mayor capacidad que la memoria principal existente.

Disco magnético. Escritura y lectura de cada bit de un sector

Un disco (sea flexible o duro) sirve de soporte para archivos de información. Almacena los bytes de estos archivos en uno o varios sectores de pistas circulares. Ellas son anillos concéntricos separados lo menos posible entre si existentes en sus dos caras recubiertas de una fina opa superficial de material magnetizable. Este es del tipo usado en las cintas de audio, siendo que las partículas ferromagneticas conservan su magnetismo aunque desaparezca el campo que las magnetizo.

Una bobina de alambre arrollada sobre este núcleo genera dicho campo magnético, al circular por ella una comente eléctrica. El núcleo ferromagnetico y la bobina constituyen una cabeza. Todas las pistas de una cara de un disco son escritas o leídas por una misma cabeza, portada por un brazo móvil

La cabeza queda inmóvil sobre la pista a escribir o leer, mientras el disco gira frente a ella,

Existe una cabeza para cada cara de un disco. Los brazos que las soportan se mueven juntos. O sea, que si la cabeza de la cara superior esta sobre una cierta pista, la otra cabeza estar en una pista de la cara inferior, teniendo siempre ambas pistas el mismo radio (una esta cobre la otra separadas por el espesor del disco).

En una escritura, a la cabeza seleccionada - muy próxima o tocando la superficie del disco le llega del exterior por dos cables- una señal eléctrica que presenta dos niveles de tensión eléctrica.

En una escritura, luego que el material ferromagnetico de una cara pasa frente a laCabeza magnetizante quedan formados una sucesión de imanes superficiales, los cuales conforman una pista circular, por estar la cabeza fija, y girar la superficie del disco. Los campos magnéticos de estos imanes ce manifestaran en la superficie de la pista, codificando unos y ceros.

Ninguna porción de una pista puede quedar sin magnetizar: forma parte de un imán NS o SN. Esto también asegura, en una reprobación, el borrado de la infamación grabada anteriormente sobre una pista.

Si se re escribe un sector no es necesario realizar un paso intermedio de borrar la información antes escrita. La nueva escritura borra grabador igual que en un grabador de audio y video.

Durante una lectura, la misma cabeza - en un proceso inverso al de grabación- Censara los campos magnéticos sobre la superficie de la pista accedida, para detectar cada cambio de polarización cuando pasa de una porción de una pista polarizada NS a la siguiente, polarizada SN, o sea cuando encuentran enfrentados dos polos norte o sur. Estos cambios originan corrientes en la bobina, que aparecerán como breves impulsos eléctricos en los dos cables de la bobina que salen desde la cabeza. Puesto que cada uno de estos impulsos implica una inversión del campo magnético de la pista, y que estos cambios fueron producidos en la escritura cuando cambiaba el nivel de la señal eléctrica que actuaba sobre la bobina, se puede reconstruir esta señal Así es factible determinar los unos y ceros que dieron lugar a los cambios de nivel según la codificación (MFM o RLL) empleada. Esta operación es "no destructiva": pueden obtenerse copias de los datos guardados sin que estos se alteren.

Solo una cabeza escribe o lee el disco

Rígido por vez, al igual que en un disquete.

los tiempos de posicionamiento, latencia y acceso en un disco o disquete

Para acceder a un sector que esta en una cara de un disco. Primero el cabezal debe trasladarse hasta el cilindro que contiene la pista donde se encuentra dicho sector, y luego debe esperarse que al girar el disco ese sector quede debajo de la cabeza. Por lo tanto, deben tener lugar dos tiempos:

1. El brazo con la cabeza correspondiente a esa cara se citua en pocos milisegundos (tiempo "seek", de posicionamiento) directamente sobre el cilindro seleccionado, o sea sobre la pista del cilindro correspondiente a esa cara. Se considera un valor promedio para este tiempo'.

2. Una vez que la cabeza posesiona sobre dicha pista, los sectores de esta desfilaran debajo de esa cabeza.

Que son tiempo y velocidad de transferencia de datos ?

Suponiendo una lectura, una vez que el sector requerido esta frente a la cabeza activada -luego de transcurrir los tiempos de posicionamiento y de latencia- ella debe leer bit por bit dicho sector, pasando estos bits en serie hacia la electrónica, y luego hacia la interfaz del disco o disquete. El destino final de los bits conforma el campo de datos de un sector; es la zona de memoria principal (buffer) reservada para esos datos. A esta zona esos bits leídos llegan en paralelo (de 16 32 por vez) a través del bus que une la interfaz

Con la memoria principal.

Sea un disco de 32 sectores por pista, que gira a 3.6(30 r.p.m. = 60 r.p.seg. I 1 revoluan/l6 mseg.

La velocidad de transferencia interna será la velocidad de transferencia real solo si a medida que la cabeza lee (o escribe) los datos de un sector, ellos se van transfiriendo hacia memoria (desde memoria sin demoras. Conforme a lo anterior resulta que la velocidad de transferencia de un disco depende:

- De la velocidad de transferencia interna de la unidad de disco (dependiente de la densidad, y el r.p.m.).

- Del tiempo de respuesta de la interfaz controladora (EIDE, SCSI), de la existencia de un cache en ella.

- De la velocidad del bus al cual la interfaz se conecta.

En general, si se aumenta la velocidad de giro lineal (numero de bits por cm de pita) se transferirá mas bits por segundo. Hoy dia esta densidad van en aumento en los nuevos modelos de discos rígidos, dado que con los actualestipos de cabezas desarrollados se pueden grabar y detectar mas bits por cm de pista, por lo que cada vez resultan mayores velocidades de transferencia interna de bits. Esto debe tener como correlato

Interfaces (DE o SCSI) que tengan listos rápidamente los datos a escribir o los leídos en un disco, y buses con un ancho de banda apto para soportar tales velocidades de transferencia entre la interfaz y memoria.

Caracteristicas propias de disquetes, disqueteras y controladoras

Arquitectura de los discos flexibles

Un disco flexible o "disquete" o "8oppy", como quiera Ilamarse, consiste en un disco de material plástico tipo mylrard, cubierto con una capa de material magnetizable en ambas caras. Este contenido en un sobre que sirve para protegerlo del polvo, ralladuras, huellas digitales y golpes.

Los disquetes son removibIes de la disquetera (designadas A, B, D,etc) en la que están insertados. Cuando un disquete se introduce en una disquetera, puede ser accedido en cualquiera de las dos caras por la correspondiente cabeza, pero una sola cara será leída o escrita por vez. Mientras no se de una orden de escritura o lectura, el disquete no gira, y las cabezas no tocan sus caras. Si tal orden ocurre, luego de una espera de casi medio segundo para que tome velocidad, el disco gira (a razón de 300 r.p.m. en el interior del

"sobre" protector, con la consiguiente elevación de temperatura). Solo gira mientras lee o escribe, rozando entonces cada cabeza la pista accedida. Esto, sumado a las partiulas de polvo siempre presentes, hace que la vida útil de un disco flexible como sea corta en comparación con la de un disco rígido.'

La flexibilidad de un disquete ayuda a que no se afectado cuando las cabezas tocan sus caras. Ce estima que la información almacenada en un disquete puede mantenerse con seguridad en el mismo durante 3 o 4 anos, siendo conveniente re-escribla una vez por ano, pues la magnetización de las pistas se va debilitando con el tiempo.

Un disquete no debe exponerse al calor, campos magnéticos (de transformadores, fotocopiadoras, teléfono, monitor), ni ser doblado. Las etiquetas deben escribirse antes de ser adheridas.

Discos Duros

Un disco duro es el adicto al trabajo en sistema de PC. Siempre que se enciende el computador, los discos sobre los que se almacenan los datos giran a una velocidad vertiginosa (a menos que disminuyan su potencia para ahorrar electr icidad).

Los discos duros de hoy, con capacidad de almacenar multigigabytes mantienen el mínimo principio de una cabeza de Lectura/Escritura suspendida sobre una superficie magnética que gira velozmente con precisión microsc ópica, al igual que los colosales discos de 40 MB del pasado, pero hasta allí llega la similitud, pues los discos duros de hoy llegan muy profundamente en nuevas disciplinas como la mecánica cuántica, la aerodinámica y l as vertiginosas velocidades de rotación.

Los discos duros pertenecen a la llamada memoria secundaria o almacenamiento secundario. Al disco duro se le conoce con gran cantidad de denominaciones como disco duro, rígido (frente a los discos flexibles o por su fabricación a base de una capa rígida de aluminio), fijo (por su situación en el ordenador de manera permanente), winchester (por ser esta la primera marca de cabezas para disco duro). Estas denominaciones aunque son las habituales no son exactas ya que existen discos de iguales prestaciones pero son flexibles, o bien removibles o transportables, u otras marcas diferentes fabricantes de cabezas.

Las capacidades de los discos duros varían desde 10 Mb. hasta varios Gb. en minis y grandes ordenadores. Para conectar un disco duro a un ordenador es necesario disponer de una tarjeta controladora. La velocidad de acceso depende en gran parte de la tecnología del propio disco duro y de la tarjeta controladora asociada al discos duro.

Que son los disquetes y unidades zip

Las unidades ZIP, por las capacidades de sus disquetes, por su contabilidad, y por su

Velocidad de transferencia esta a mitad de camino entre las unidades de disquete y las de disco duro, aunque más próximas a estas ultima: Así, su velocidad de giro es del orden de 3000 r.p.m., lo cual redunda en una mayor velocidad de transferencia.

El gabinete del ZIP derive es externo al gabinete del computador.

La conexión del ZIP derive generalmente se hace en el port paralelo que usa la impresora, debiéndose desconectar esta de dicho port, y volverla a conectar al gabinete del ZIP derive en un conector preparado. Los disquetes para ZDP derive son flexibles, y pueden almacenar en sus dos caras magnetizables 100/200 MB, empleándose comúnmente para back-up del disco rígido. Las cabezas de escritura/lectura están en contacto con las superficies de ambas caras, siendo más pequeñas en tamaño que las usadas en disquetera, lo cual permite grabar y sensar con daisidades de grabación mayores.