jueves, 19 de septiembre de 2019

Tarjeta de Red o Gráfica

La tarjeta gráfica o tarjeta de video es el hardware responsable de procesar las imágenes para ser enviadas al monitor. Dentro del hardware, integra el grupo de los Periféricos y, dentro de éste grupo, los periféricos de salida.

Podemos decir que está integrada principalmente por un GPU y la VRAM o memoria RAM de video.

La tarjeta de video realiza dos operaciones:

1-. Interpreta los datos que le llegan del procesador, ordenándolos y calculando el valor de cada píxel y lo almacena en la memoria de video para poder presentarlos en la pantalla.

2-. Desde la memoria de video, toma la salida de datos digitales resultante del proceso anterior y la transforma en una señal analógica que pueda entender el monitor. Esto quiere decir que trasforma la señal digital de la computadora (codifica) en una señal que pueda entender el monitor y así generar la imagen en la pantalla.

Las tarjetas de videos, debido al calor que generan tanto el GPU como la memoria, utilizan un disipador junto con un fan (ventilador) para refrigerarse.

Tipos de Tarjetas:

Tarjeta MDA:
"Monochrome Display Adapter" o Adaptador monocromo. Fue lanzada por IBM como una memoria de 4 KB de forma exclusiva para monitores TTL (que representaban los clásicos caracteres en ámbar o verde). No disponía de gráficos y su única resolución era la presentada en modo texto (80x25) en caracteres de 14x9 puntos, sin ninguna posibilidad de configuración.

Básicamente esta tarjeta usa el controlador de vídeo para leer de la ROM la matriz de puntos que se desea visualizar y se envía al monitor como información serie. No debe sorprender la falta de procesamiento gráfico, ya que, en estos primeros PC no existían aplicaciones que realmente pudiesen aprovechar un buen sistema de vídeo. Prácticamente todo se limitaba a información en modo texto.

Este tipo de tarjeta se identifica rápidamente ya que incluye (o incluía en su dia) un puerto de comunicación para la impresora.

Tarjeta CGA
"Color Graphics Array" o "Color graphics adapter" según el texto al que se recurra. Aparece en el año 1981 también de la mano de IBM y fue muy extendida. Permitía matrices de caracteres de 8x8 puntos en pantallas de 25 filas y 80 columnas, aunque solo usaba 7x7 puntos para representar los caracteres. Este detalle le imposibilitaba el representar subrayados, por lo que los sustituía por diferentes intensidades en el caracter en cuestión.En modo gráfico admitía resoluciones de hasta 640x200. La memoria era de 16 KB y solo era compatible con monitores RGB y Compuestos. A pesar de ser superior a la MDA, muchos usuarios preferían esta última dado que la distancia entre puntos de la rejilla de potencial en los monitores CGA era mayor. El tratamiento del color, por supuesto de modo digital, se realizaba con tres bits y uno más para intensidades. Así era posible lograr 8 colores con dos intensidades cada uno, es decir, un total de 16 tonalidades diferentes pero no reproducibles en todas las resoluciones tal y como se muestra en el cuadro adjunto.

Esta tarjeta tenía un fallo bastante habitual y era el conocido como "snow". Este problema era de carácter aleatorio y consistía en la aparición de "nieve" en la pantalla (puntos brillantes e intermitentes que distorsionaba la imagen). Tanto era así que algunas BIOS de la época incluían en su SETUP la opción de eliminación de nieve ("No snow").

Tarjeta HGC
"Hercules Graphics Card" o más popularmente conocida como Hércules (nombre de la empresa productora), aparece en el año 1982, con gran éxito convirtiéndose en un estándar de vídeo a pesar de no disponer del soporte de las rutinas de la BIOS por parte de IBM. Su resolución era de 720x348 puntos en monocromo con 64 KB de memoria. Al no disponer de color, la única misión de la memoria es la de referenciar cada uno de los puntos de la pantalla usando 30,58 KB para el modo gráfico (1 bit x 720 x 348)y el resto para el modo texto y otras funciones. Las lecturas se realizaban a una frecuencia de 50 HZ, gestionadas por el controlador de vídeo 6845. Los caracteres se dibujaban en matrices de 14x9 puntos.

Componentes

GPU
La GPU, acrónimo de «graphics processing unit», que significa «unidad de procesamiento gráfico»— es un procesador (como la CPU) dedicado al procesamiento de gráficos; su razón de ser es aligerar la carga de trabajo del procesador central y, por ello, está optimizada para el cálculo en coma flotante, predominante en las funciones 3D. La mayor parte de la información ofrecida en la especificación de una tarjeta gráfica se refiere a las características de la GPU, pues constituye la parte más importante de la tarjeta. Tres de las más importantes de dichas características son la frecuencia de reloj del núcleo, que en 2010 oscilaba entre 500 MHz en las tarjetas de gama baja y 850 MHz en las de gama alta, el número de procesadores shaders y el número de pipelines (vertex y fragment shaders), encargadas de traducir una imagen 3D compuesta por vértices y líneas en una imagen 2D compuesta por píxeles.

Memoria RAM Gráfica.
Según la tarjeta gráfica esté integrada en la placa base (normalmente de bajas prestaciones) o no, utilizará la memoria RAM propia del ordenador o dispondrá de una dedicada. Dicha memoria es la memoria de vídeo o VRAM. Su tamaño oscila actualmente entre 256 MB y 4 GB. La memoria empleada en 2010 estaba basada en tecnología DDR, destacando GDDR2, GDDR3,GDDR4 y GDDR5, en especial GDDR2, GDDR3 y GDDR5. La frecuencia de reloj de la memoria se encontraba entre 400 MHz y 4,5 GHz (efectivos).

RAMDAC
El RAMDAC es un conversor de señal digital a analógico de memoria RAM. Se encarga de transformar las señales digitales producidas en el ordenador en una señal analógica que sea interpretable por el monitor. Según el número de bits que maneje a la vez y la velocidad con que lo haga, el conversor será capaz de dar soporte a diferentes velocidades de refresco del monitor (se recomienda trabajar a partir de 75 Hz, nunca con menos de 60).[9] Dada la creciente popularidad de los monitores digitales el RAMDAC está quedando obsoleto, puesto que no es necesaria la conversión analógica si bien es cierto que muchos conservan conexión VGA por compatibilidad.

Interfaces con la placa base.
En orden cronológico, los sistemas de conexión entre la tarjeta gráfica y la placa base han sido, principalmente:
Slot MSX: bus de 8 bits usado en los equipos MSX
ISA: arquitectura de bus de 16 bits a 8 MHz, dominante durante los años 1980; fue creada en 1981 para los IBM PC.
Zorro II usado en los Commodore Amiga 2000 y Commodore Amiga 1500.
Zorro III usado en los Commodore Amiga 3000 y Commodore Amiga 4000
NuBus usado en los Apple Macintosh
Processor Direct Slot usado en los Apple Macintosh
MCA: intento de sustitución en 1987 de ISA por IBM. Disponía de 32 bits y una velocidad de 10 MHz, pero era incompatible con los anteriores.
EISA: respuesta en 1988 de la competencia de IBM; de 32 bits, 8.33 MHz y compatible con las placas anteriores.
VESA: extensión de ISA que solucionaba la restricción de los 16 bits, duplicando el tamaño de bus y con una velocidad de 33 MHz.
PCI: bus que desplazó a los anteriores a partir de 1993; con un tamaño de 32 bits y una velocidad de 33 MHz, permitía una configuración dinámica de los dispositivos conectados sin necesidad de ajustar manualmente los jumpers. PCI-X fue una versión que aumentó el tamaño del bus hasta 64 bits y aumentó su velocidad hasta los 133 MHz.
AGP: bus dedicado, de 32 bits como PCI; en 1997 la versión inicial incrementaba la velocidad hasta los 66 MHz.
PCIe: interfaz serie que desde 2004 empezó a competir contra AGP, llegando a doblar en 2006 el ancho de banda de aquel. No debe confundirse con PCI-X, versión de PCI.

Salidas.

Los sistemas de conexión más habituales entre la tarjeta gráfica y el dispositivo visualizador (como un monitor o un televisor) son:
DA-15 conector RGB usado mayoritariamente en los Apple Macintosh
Digital TTL DE-9 : usado por las primitivas tarjetas de IBM (MDA, CGA y variantes, EGA y muy contadas VGA)
SVGA/Dsub-15: estándar analógico de los años 1990; diseñado para dispositivos CRT, sufre de ruido eléctrico y distorsión por la conversión de digital a analógico y el error de muestreo al evaluar los píxeles a enviar al monitor.
DVI: sustituto del anterior, fue diseñado para obtener la máxima calidad de visualización en las pantallas digitales como los LCD o proyectores. Evita la distorsión y el ruido al corresponder directamente un píxel a representar con uno del monitor en la resolución nativa del mismo.
S-Video: incluido para dar soporte a televisores, reproductores de DVD, vídeos, y videoconsolas.
Otras no tan extendidas en 2010 son:

S-Video implementado sobre todo en tarjetas con sintonizador TV y/o chips con soporte de video NTSC/PAL
Vídeo Compuesto: Es bastante antiguo y equiparable al euroconector, es analógico de muy baja resolución mediante conector RCA.
Vídeo por componentes: utilizado también para proyectores; de calidad comparable a la de SVGA, dispone de tres clavijas (Y, Cb y Cr).
HDMI: tecnología de audio y vídeo digital cifrado sin compresión en un mismo cable.
Display Port: Puerto para Tarjetas gráficas creado por VESA y rival del HDMI, transfiere video a alta resolución y audio. Sus ventajas son que está libre de patentes, y por ende de regalías para incorporarlo a los aparatos, tambien dispone de unas pestañitas impidiendo que se desconecte el cable accidentalmente.

Dispositivos refrigerantes.

Debido a las cargas de trabajo a las que son sometidas, las tarjetas gráficas alcanzan temperaturas muy altas. Si no es tenido en cuenta, el calor generado puede hacer fallar, bloquear o incluso averiar el dispositivo. Para evitarlo, se incorporan dispositivos refrigerantes que eliminen el calor excesivo de la tarjeta. Se distinguen dos tipos:

Disipador: dispositivo pasivo (sin partes móviles y, por tanto, silencioso); compuesto de material conductor del calor, extrae este de la tarjeta. Su eficiencia va en función de la estructura y la superficie total, por lo que son bastante voluminosos.
Ventilador: dispositivo activo (con partes móviles); aleja el calor emanado de la tarjeta al mover el aire cercano. Es menos eficiente que un disipador y produce ruido al tener partes móviles.
Alimentación
Hasta ahora la alimentación eléctrica de las tarjetas gráficas no había supuesto un gran problema, sin embargo, la tendencia actual de las nuevas tarjetas es consumir cada vez más energía. Aunque las fuentes de alimentación son cada día más potentes, el cuello de botella se encuentra en el puerto PCIe que sólo es capaz de aportar una potencia de 150 W. Por este motivo, las tarjetas gráficas con un consumo superior al que puede suministrar PCIe incluyen un conector (PCIe power connector) que permite una conexión directa entre la fuente de alimentación y la tarjeta, sin tener que pasar por la placa base, y, por tanto, por el puerto PCIe.

Aun así, se pronostica que no dentro de mucho tiempo las tarjetas gráficas podrían necesitar una fuente de alimentación propia, convirtiéndose dicho conjunto en dispositivos externos.

Errores Comunes

Confundir a la GPU con la tarjeta gráfica. Aunque muy importante, no todas las GPUs y adaptadores de gráficos van en tarjeta ni son el único determinante de su calidad y rendimiento

Considerar el término tarjeta de video como privativo del PC y compatibles. Esas tarjetas se usan en equipos no PC e incluso sin procesador Intel y sus chips en videoconsolas.

Confundir al fabricante de la GPU con la marca de la tarjeta. Actualmente los mayores fabricantes de chip gráficos en el mercado son NVIDIA y ATI Technologies. Esto se debe a que se encargan solamente, de hacer los chip gráficos (GPU).

Referencias:
  • https://tallerinformatica.wordpress.com/tarjetas-graficas-o-de-video/
  • https://www.ecured.cu/Tarjeta_Gr%C3%A1fica

miércoles, 18 de septiembre de 2019

Gnuplot y OpenGL


gnuplot es un programa que permite generar gráficas 2D y 3D. Sus principales virtudes son la facilidad de uso y un acabado de muy alta calidad. En este tutorial nos referiremos a la versión gnuplot 3.7.

Los autores iniciales de gnuplot son Thomas Williams y Colin Kelly, quienes decidieron crear un programa que les permitiera visualizar las ecuaciones matemáticas de las clases de electromagnetismo y ecuaciones diferenciales. Su primera intención fue llamarlo "newplot", pero descubrieron que ya existía otro programa con ese mismo nombre, así que utilizaron el homófono (al menos en inglés) "gnuplot".

gnuplot no tiene ninguna relación con el proyecto GNU ni con la FSF. Actualmente ni es mantenido por la FSF ni está bajo la GPL. gnuplot es software libre en el sentido de que las fuentes están disponibles (y además son gratuitas), pero no se permite distribuir versiones modificadas.
gnuplot ofrece las siguientes facilidades:
  • Representaciones bidimensionales con distintos estilos (puntos, líneas, barras ...).
  • Representaciones tridimensionales (contorno y superficie).
  • Facilidades para etiquetar las gráficas, ejes y puntos representados (títulos y etiquetas).
  • Permite realizar cálculos con enteros, decimales y complejos.
  • Posee un conjunto de funciones predefinidas y permite al usuario definir las suyas propias.
  • Ayuda en línea.
  • Funciona en distintos SO y permite obtener gráficos en casi cualquier formato.
  • Permite trabajo interactivo o en modo comando (batch).


OpenGL (Open Graphics Library) es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. La interfaz consiste en más de 250 funciones diferentes que pueden usarse para dibujar escenas tridimensionales complejas a partir de primitivas geométricas simples, tales como puntos, líneas y triángulos.

Fue desarrollada originalmente por Silicon Graphics Inc. (SGI) en 199 y se usa ampliamente en CAD, realidad virtual, representación científica, visualización de información y simulación de vuelo. También se usa en desarrollo de videojuegos, donde compite con Direct3D en plataformas Microsoft Windows.

Básicamente OpenGL consiste en una serie de librerías y rutinas de clases por lo cual, OpenGL no es un paquete de software de renderizado y modelado como Blender o 3D Max, básicamente es una API de bajo nivel que proporciona una interfaz de hardware de gráficos. No es por lo tanto ningún lenguaje de programación, sino tan sólo un conjunto de librerías que son utilizadas a través de lenguajes de programación como VisualC++ para conseguir un interfaz software entre las aplicaciones y el hardware gráfico.

Programas como Blender utilizan OpenGL, por lo que puede hacer cualquier representación que se da en Blender con OpenGL. Al usar OpenGL directamente, se tiene que programar todos los efectos de iluminación, texturizado, carga modelo, etc. en sí mismo.

A cambio, OpenGL, ofrece algo muy valioso: la independencia con respecto a la plataforma de hardware y el sistema operativo en que se trabaje, brindando con ello una enorme portabilidad a sus productos. Así, OpenGL, permite:
  • Construir formas geométricas a partir de primitivas.
  • Ubicar los objetos en el espacio tridimensional y seleccionar el punto de vista de la escena.
  • Aplicar el color a los objetos, ya sea mediante una asignación explícita de la aplicación, a partir de las condiciones de iluminación o mediante la utilización de texturas.
  • Convertir la descripción matemática de los objetos y la información sobre el color en pixeles de la pantalla, proceso que se llama rasterización.
Aunque OpenGL está concebido para diseñar aplicaciones interactivas y facilita al usuario herramientas como la selección sus capacidades resultan insuficientes para, entre otras cosas, crear interfaces gráficas con un grado mayor de interactividad. Estas limitaciones condujeron al desarrollo de las librerías AUX y GLUT. Las librerías AUX presentan numerosas insuficiencias, y su aplicación se limita a programas de simple enseñanza.

Referencias Bibliográficas:

  • https://blanchardspace.wordpress.com/2013/02/24/que-es-opengl
  • https://www.ibiblio.org/pub/linux/docs/LuCaS/Presentaciones/200304curso-glisa/gnuplot/curso-glisa-gnuplot-html/x18.html


Captura de Examen


Dibujos en diferentes formatos

 Casita1
 Casita2
Casita 3