AGP (Accelerated Graphics Port)

DIME (DIrect Memory Execute). Placas base. Estructura de computadores. Tarjetas Gráficas. Buses

  • Enviado por: Cols
  • Idioma: castellano
  • País: España España
  • 11 páginas
publicidad

Introducción.

Hace unos años, existían en el mundo PC dos tipos de BUSES, el BUS ISA y el BUS PCI. Ni el BUS ISA ni el BUS PCI, tenían las características deseables para las nuevas tarjetas gráficas que estaban surgiendo. La aparición de aplicaciones con gráficos 3D imponía una multitud de rigurosos requerimientos en la plataforma del PC, incluyendo cálculos geométricos más rápidos, renderización más sofisticada y texturizaciones más detalladas. Pero mientras el procesador Pentium II estaba bien ajustado para manejar ratios geométricos crecientes, y la nueva generación de controladoras gráficas podía soportar una gran variedad de efectos de renderización, el creciente tamaño de los mapas de texturas había llegado a ser un gran problema.

Problemática

Un problema, era el tamaño de la memoria de vídeo local usada por las controladoras gráficas. Típicamente, esta memoria estaba entre los 2-4 MB. Sin embargo, las aplicaciones 3D que usaban más de 20 MB para un mapa de textura simple estaban empezando a aparecer. La memoria de vídeo se podía ampliar para cubrir esta demanda, pero esta solución era muy cara, y hoy en día todavía lo es.

Una segunda cuestión era el ancho de banda soportado por el BUS PCI. Las controladoras gráficas necesitan "pretraer" mapas de texturas desde la memoria del sistema a su RAM local. Como los mapas de texturas han crecido en tamaño, el BUS PCI ha empezado a ser un cuello de botella. El problema es todavía más agudo para las aplicaciones que implican vídeo en tiempo real. Añadido a esto, la explosión de los nuevos dispositivos de alta velocidad que se unen al BUS PCI, como unidades Ultra DMA y adaptadores LAN a 100 MB/s, permiten ver fácilmente lo congestionado que puede llegar a encontrarse el BUS PCI.

Ventajas del AGP.

La tecnología AGP (Accelerated Graphics Port) fue creada por INTEL. Dicha tecnología, mejora el rendimiento del sistema proporcionando un camino de alta velocidad entre la controladora gráfica del PC y la memoria del sistema. Este camino permite a la controladora ejecutar mapas de texturas directamente en la memoria del sistema en vez de traerlas a su memoria de vídeo limitada. Esto también demora la velocidad del flujo de vídeo decodificado desde la CPU a la controladora.

Las ventajas son muchas:

  • Mapas de texturas de tamaño, detalle y realismo ilimitado.

  • Las aplicaciones 3D también correrán más rápido ya que la necesidad de llevar las texturas a la memoria de vídeo se elimina. ¿Cuánto más rápido?. Más de 12'6 veces más frames/segundo, de acuerdo con las últimas comparaciones de ejecución.

  • Minimiza la necesidad de memoria de vídeo.

  • El tráfico de vídeo "volará sin costuras" a través del BUS AGP hacia la pantalla del usuario.

  • Los sistemas tendrán más estabilidad cuando el tráfico de gráficos y vídeo de gran ancho de banda se eliminen del BUS PCI.

Qué es:

AGP tiene dos facetas igualmente importantes: (1) El cableado y, (2) DIME (DIrect Memory Execute).

BUS PCI: puede llegar a tener una frecuencia de 33 Mhz y soporta un máximo de 132 MB/s de transferencia de datos. Es un bus de 32 bits de direcciones y datos multiplexados.

BUS AGP: frecuencia de hasta 66 Mhz con una velocidad de transferencia máxima de 528 MB/s.

Rendimiento: el bus AGP tiene entre un 50 y un 80% más de rendimiento por regla general. Puede haber algún hardware que puede soportar una sola transferencia por ciclo de reloj, es decir, sólo aprovechando el flanco de subida. De esta manera, la velocidad obtenida sería de 264 MB/s, dado que no aprovecha la posibilidad del modo 2X que consiste en aprovechar no solo el flanco de subida del ciclo, sino también el de bajada).

AGP (Accelerated Graphics Port)
AGP mantiene las transferencias más cerca de los valores máximos que el BUS PCI porque AGP incorpora una serie de señales extra que permiten

Figura 1.1

PCI sin "pipelining" vs. AGP. An es la dirección de petición y Dn el resultado.

"pipelining" y colas de peticiones (Figura 1.1). Esto solapa los tiempos de acceso a la memoria o al BUS para la petición "n" con el resultado de la petición "n+1", "n+2", etc. en el BUS PCI, la petición "n+1" no empieza hasta que la transferencia de datos de la petición "n" finaliza. Mientras que ambos BUSES (AGP y PCI) pueden actuar en modo ráfaga (transferencia de múltiples datos contiguos en respuesta a una única petición), esto solo mejora en parte la naturaleza no "pipeline" del PCI.

AGP tiene 8 líneas de direcciones extra, lo que permite al chip gráfico emitir nuevas direcciones y peticiones simultáneamente al continuo movimiento de datos de la petición previa en las 32 líneas de datos/direcciones.

EL Bus AGP sólo permite la conexión de dos dispositivos: el chipset y el chip gráfico. La siguiente figura es un diagrama de un sistema AGP, con las tasas de transferencia máximas.

AGP (Accelerated Graphics Port)
 

El BUS sin nombre del otro lado del chipset, entre el controlador de memoria y la memoria del sistema, es típicamente de 64 bits y debe ser compartido entre la CPU, el chip de gráficos y los accesos del BUS PCI a la RAM del sistema. Los chipsets iniciales soportarán 528 MB/s de velocidad en este BUS del sistema, pero futuras versiones la aumentarán. Los 800 MB/s de punta en la memoria local de video provienen de un BUS de 64 bits a 100 Mhz.

La llamada "memoria AGP" es simplemente la asignación dinámica de áreas de la DRAM del sistema, con lo cual el chip de gráficos puede acceder rápidamente. La rapidez viene de un hardware encapsulado en el chipset, que traduce las direcciones, con lo que el controlador de gráficos y su software puede ver un espacio contiguo en la memoria principal, cuando en realidad estas páginas no están juntas. Gracias a esto, el chip de gráficos puede acceder a grandes estructuras de datos como mapas de bits de texturas (1-128 KB) como si fueran una entidad simple. Este hardware encapsulado es la llamada GART (Graphics Address Remapping Table), similar en funcionamiento al hardware de paginación del chip de la CPU. Ver la Figura 1.3 para una ilustración del mapeado de direcciones.

 

Las direcciones virtuales del procesador se transforman en direcciones físicas mediante su hardware de paginación. Estas direcciones físicas se usan para acceder a la RAM del sistema, al Frame Buffer local y a la RAM AGP. La CPU accede la Frame Buffer y a la RAM AGP usando las mismas direcciones que usa el chip de gráficos; por esta razón, el Sistema Operativo pone el hardware de paginación de la CPU en un modo directo 1:1 (modo de no-traducción de direcciones virtuales a físicas).

Para los accesos a la RAM AGP, el chip de gráficos y la CPU usan una región de varios MB contiguos. Pero la GART traduce esto a varias páginas, posiblemente separadas, de 4 KB en la memoria del sistema. Los accesos de los dispositivos PCI a la región de memoria AGP (por ejemplo, para captura de vídeo en directo) también van a través de la GART. Hay que notar que en futuras implementaciones del chipset y los drivers, los accesos de la CPU podrán no necesitar la GART, ya que las tablas de paginación de la CPU pueden estar configuradas para hacer el mismo remapeado. Pero este tipo de cambios debería ser transparente a las aplicaciones software. Como se puede suponer, la GART debe ser inicializada y actualizada por software desde el Sistema Operativo como páginas de 4 KB asignadas y desasignadas en la región de memoria AGP.

 

DIME (DIrect Memory Execute)

Todos los pixeles dibujados en escenas gráficas 3D están también texturizados o sombreados (shading). Sombrear no requiere traer los mapas de bits para crear el pixel, pero el mapeado de texturas consiste en extraer 1,2,4, u 8 texels de un mapa de bits, mediándolos basándose en alguna aproximación matemática de la localización del mapa de bits (o múltiples mapas de bits) necesitada en la imagen final y escribiendo el pixel resultante en el Frame Buffer.

Los chips AGP pueden explotar la memoria principal directamente (DIME) para la compleja operación de mapeado de texturas. Sin DIME, la mayoría de controladores gráficos PCI solo pueden texturizar desde la memoria de vídeo local situada directamente en el chip (Figura 1.3).

 

AGP (Accelerated Graphics Port)

 

Figura 1.3

Flujo de datos de textura con PCI requiriendo una copia extra en el Frame Buffer RAM.

 

Inicialmente, la primera generación de chips gráficos AGP sólo harán un "BUS mastering" similar al del PCI, o tal vez ninguno y aunque se beneficiarán de las altas velocidades de transferencia del nuevo BUS, tendrán que transferir la totalidad del mapa de textura a su memoria local vía AGP, y reacceder a la textura desde la RAM local para obtener los texels para el mapa.

Si los chips no usan "BUS mastering", la CPU tiene que traer la textura de la memoria principal y escribirla vía el BUS en el Frame Buffer. Debido a esto, existen copias redundantes de las texturas. Sin embargo, la Figura 1.4 muestra como el DIME evita las copias redundantes y los movimientos extra de datos.

 

AGP (Accelerated Graphics Port)

 

Figura 1.4

Flujo de datos de textura con DIME en AGP

 

La RAM de vídeo normalmente es más cara que la RAM del sistema y no puede ser utilizada para otros propósitos por el Sistema Operativo cuando no se necesita para correr aplicaciones gráficas. El chip gráfico necesita un acceso rápido a su memoria local para el refresco de pantalla, el Z-Buffer y los pixeles. Por esta razón, los programadores, siempre pueden tener más memoria de texturas a través de la memoria AGP del sistema. Manteniendo las texturas fuera del Frame Buffer, se permite mayor resolución de pantalla, o Z-Buffering de un tamaño de pantalla muy grande. Muchas aplicaciones pueden usar entre 2-16 MB para almacenamiento de texturas. Usando AGP y DIME, lo pueden tener.

Qué tipos hay:

Como muchas tecnologías jóvenes, AGP fue lanzado al mercado en cuanto estuvo preparado, aunque aún no se hubiera afinado del todo. Por ello, existen varios modos de AGP:

AGP 1x:

Modo con bus de 32 bits y a 66 MHz. Su tasa teórica de transferencia máxima es de 264 MB/s. En la actualidad, pocas tarjetas de marca tienen sólo este modo.

AGP 2x:

Modo con bus de 32 bits y a 66 MHz reales, o 133 MHz "virtuales" gracias al doble aprovechamiento de cada señal de reloj (una tecnología utilizada, por ejemplo, en la DDR-SDRAM). Su tasa teórica de transferencia máxima es de 528 MB/s. Es el actualmente usado por las tarjetas de calidad.

AGP 4x:

Nuevo modo que se implantará en un futuro; aproximadamente 1 GB/s.

Sin duda alguna, el modo 1x es un modo "experimental", sacado al mercado con prisas. Su rendimiento es y será indistinguible del de PCI, así que su tiempo de vida ha terminado ya (excepto como modo para compatibilidad con tarjetas más antiguas). El modo 2x es el auténtico AGP, aunque como veremos tampoco es la panacea...

 

Conclusión:

Diremos que el PCI es un bus de alto rendimiento y muy eficaz pero que se queda corto con el tratamiento de texturas. Para ello se ha creado AGP que posee mas velocidad de transferencia y capacidad de usar la RAM como memoria de video de la tarjeta pero con la desventaja de ser esta capacidad una solución lenta hoy por hoy. Por consiguiente queda claro que una tarjeta aceleradora 3D PCI de 16 MB ira más rápido que otra AGP de 4MB ya que la PCI trabaja en su propia memoria y la AGP depende de la memoria del PC.

4