Bicentenario

(067) Cuando llegó el puerto AGP al mundo

Las tarjetas gráficas comenzaron a convertirse de un agregado necesario más a un nicho especializado, y los slots ISA y PCI no iban a aguantar mucho.

Había una vez, un puerto PCI

Durante los años 90, cualquier tarjeta que querías conectar al equipo sólo tenía sólo dos destinos: los puertos ISA que estaban en decadencia y los PCI, su natural reemplazo. Desde unas gráficas nuevas, pasando por las tarjetas de red, módems, y otras más, era posible conectar a los universales PCI de 32bit. Y nadie alegaba nada – tampoco había porqué hacerlo, no había una razón para pensar en otro estándar. ¿Acaso esa tarjeta de red iba a transferir 100GB de un soplón?

Wikipedia (GNU)

Todo seguía su curso normal, el sol salía por el lado contrario donde se escondía, el módem no superaba los 56Kbps, todos tenían televisión a color y las tarjetas de sonido con suerte tenían una salida estéreo y dos entradas. En cambio, las tarjetas gráficas empezaron a tener algunos cambios arquitectónicos y tener hambre de polígonos. Sólo en 1996 el mercado empezó a migrar al puerto AGP, que sería la solución a todos los problemas que PCI traía en ese aspecto. Tal como en Chile hubo un revuelo nacional al aumentar la velocidad máxima para andar por carretera a razón de los autos más rápidos y más seguros, el problema no se aleja de algo semejante por el lado de la informática.

Dedicación

El puerto PCI tiene un ancho de banda máximo de 133MB por segundo para transferir datos, lo que podríamos compararlo con rellenar un CD en unos 6 segundos más o menos, sin contar con el resto de limitaciones naturales. Suena rápido, pero lo que es malo de esta tecnología es que todos los puertos PCI comparten una misma línea y un mismo bus, y para un mercado de chips gráficos que ya estaban apunto de sobrepasar lo que permitía el mismo, que querían más ancho de banda para comunicarse con el sistema, y querían relacionarse más directamente con la CPU y RAM, no había cabida; eventualmente empezarían a topar con el ancho de banda de otros dispositivos. Para rematar, la memoria de video era cara de implementar en el PCB y tendía a bastar sólo para la información 2D. 8MB de memoria en una tarjeta de video era bastante pero no lo suficiente para afrontar gráficas 3D a todo dar.

Entonces nació AGP como la solución a esas demandas.

Adiós cuello de botella, por ahora

Intel decidió crear en sus laboratorios el puerto AGP en 1996, que debutó en el antiquísimo Socket 7, el encargado de ser el pilar base de los Pentium II. Para hacer al AGP más que un puerto con un bus dedicado, en términos técnicos, existían 6 ventajas netas sobre el PCI:

  1. Pipelining (Paralización): El bus PCI sólo permitía una instrucción para enviar, dejando a las otras esperando para ser enviadas o recibidas, lo que significaba muchos tiempos muertos y rendimiento mermado. El puerto AGP podía agrupar estas instrucciones y llevar a cabo varias al mismo tiempo. En peras y manzanas, mientras al bus PCI llegaba la instrucción “3 x 9 + 5 – 8”, el puerto AGP recibía “(3 x 9)”,  “(5-8)” y “Suma el resultado de ambas”.
  1. DIME: No, no te lo digo. Jojojo, qué bromista soy. DIME es el corto de “Direct Memory Execute”, y fue una gran característica que el bus PCI no podía igualar. Esto permitía que la tarjeta de video pudiese ocupar parte de la RAM del equipo – determinada por la opción “AGP Aperture Size” – para manejar texturas mientras el CPU también podía interactuar en esa zona. Con ello también llegó el GART, Graphics Address Remapping Table, que se encargaba de hacer una especie de mapa para que la tarjeta AGP no se perdiera entre tanta memoria.
  1. Sideband Addressing: El bus AGP, en conjunto con el controlador del chip gráfico, tenía la capacidad de separar 8 líneas para manejar sólo las direcciones de memoria, dejando al resto del bus manejando los datos, asincrónicamente. El ejemplo clásico es del aprendiz de cocina: con una mano sostienes la hoja con los ingredientes y la preparación, mientras que con la otra mano revuelves la comida de una olla. Práctico ¿no?
  1. Más ancho de banda: La guinda de la torta. Gracias a tener un bus dedicado, y trabajar a 66MHz, el doble de lo que permitía el bus PCI, AGP podía llegar a transferir 266MB por segundo a 32 bits, mientras que PCI sólo llegaba a 133MB en el mejor de los momentos, con los planetas alineados y un doble arco iris en tu patio.

La industria con el pulgar arriba

El apoyo se hizo unánime, especialmente por los fabricantes de tarjetas gráficas. Aún cuando Intel era el creador, los primeros chipset encargados de llevar el puerto AGP encima eran VIA Apollo VP3, SiS 5591/5592, y ALI Aladdin V, que salieron primero de la mano de fabricantes como FIC – que ya nadie escucha – y EPoX – que tampoco nadie escucha. Por lo menos eso es lo que está documentado, en mi caso personal nunca vi una tarjeta AGP hasta entrado el 1999 en el mercado chileno, caracterizado por siempre estar a la vanguardia de la tecnología cuando: las cosas están apunto de morir, ya pasaron de moda, están baratas o se pueden vender al doble de lo que cuestan sin que nadie alegue. Signo de ésto fue cuando empezamos a ver este tipo de productos en multitiendas (donde también compras ropa) y servicios técnicos truchos que mostraban orgullosamente en la ventana esa tarjeta de sonido 5.1 marca chancho. Ahí tienen un Momento Bicentenario.

ATI Rage 128 AGP, qué días aquellos… – Wikipedia (CC)

Por otra parte, los fabricantes de tarjetas gráficas de ese entonces tenían dos opciones si querían subir al barco: o tomaban un chip gráfico ya hecho para PCI y sólo modificaban su compatibilidad con el bus a 66MHz – lo que era mucho más barato y rápido pero no aseguraba un gran rendimiento – o simplemente se daban el trabajo de crear un chip que aprovechara todas las ventajas del puerto AGP. Aquellas tarjetas que sólo se cambiaron de camiseta fueron la 3dfx Voodoo Banshee, Matrox Millenium II y la S3 ViRGE GX/2, mientras que NVIDIA ponía sobre el tapete RIVA 128 y ATI hacía lo suyo con la 3D Rage Pro, ambas aprovechando lo que AGP prometía.

Para el caso del omnipotente Windows 95, sólo la versión OSR2.1 llegó para permitir la compatibilidad con AGP y USB, al mismo tiempo que se emitía un parche para la versión OSR2.0, todo a mediados de 1997. Perfecto timing para disfrutar el juego de FIFA Francia ’98 a buena calidad en tu computadora con AGP más cercana.

Más que PCI

Los benchmarks no se hicieron esperar para demostrar que AGP había llegado para quedarse. Pero no muchos tendrían la dicha de un mejor rendimiento por el sólo hecho de cambiar a una plataforma con un puerto AGP, porque dependiendo de algunos factores, el poder del nuevo puerto era sólo apreciable a grandes resoluciones y con grandes cantidades de datos.

Veamos el lado extremista de la vida. Intel hizo una prueba entre entre ambos estándares, dejando claro que PCI ya no era viable.

Pero lo que ustedes no saben, es que para esa prueba usaron una escena donde las texturas que se movían llegaban a los 6MB. La ventaja del AGP, para leer directamente desde la memoria del sistema, es algo que el PCI no puede replicar y con justa razón rendía tan poco. El cambio era relativamente inapreciable ante una pantalla pequeña, pero con resoluciones mayores, y con más datos andando en el bus, el cambio de PCI a AGP se percibió mucho mejor. ¿O acaso alguien conecta su Atari 2600 a su televisión FullHD en estos tiempos?

Cambiar de estándar es un dolor en el trasero – especialmente al principio – pero tarde o temprano habrá que hacerlo. Menos mal, el mareo de un nuevo estándar, con productos que podrían ser mejor pero técnicamente están “por ahí”, se olvidan después que la tecnología madura.

¡AGP está evolucionando!

La transferencia de datos que demandaban las tarjetas gráficas empezaron a crecer, por lo que el AGP 1.0 empezó lentamente a ceder hasta que una nueva versión apareció para mejorar el eventual cuello de botella. La filosofía de esta actualización era mantener en cierto grado la retrocompatibilidad con los modelos antiguos: a nadie le gusta tener que comprar placa madre nueva, procesador nuevo, y tarjeta de video nueva por unos míseros megahertzios más al menos que tu patio sea una refinería de petróleo y tengas 7 esposas por cada dedo. En tan solo 8 años el puerto AGP había pasado de los 266MB a los 2.133MB por segundo, 8 veces más que en un comienzo:

  1. AGP 2X pasó a los 133MHz y 512MBps, y mantenía los 3.3V de funcionamiento.
  2. AGP 4X pasó a los 266MHz y 1066MBps, con un voltaje de 1.5v.
  3. AGP 8X pasó a los 266MHz  y 2133MBps, con un voltaje de 0.8v.

Todos debieron tener una de éstas imágenes al comprar su tarjeta AGP – Wikipedia (CC)

El problema que trajo los voltajes se tradujo en zócalos diferentes. Forzar (literalmente) una tarjeta de video AGP de 1.5v en un slot de 3.3v o viceversa era lo más cercano a un suicidio, pero menos mal, habían puertos “AGP Universales” que aceptaban ambas sin problemas.

Pero AGP no siempre fue AGP como tal lo conocimos. El puerto tuvo un par de extensiones oficiales como AGP Pro para tarjetas que requerían más electricidad para funcionar como algunos modelos para workstations (guorquesteichons en espanglish), donde las tarjetas eran más grandes, más caras, y hacían más cálculos. Otra extensión oficial fue AGP 64-bit, que duplicaba el actual canal de 32 a 64-bit, pero nunca llegó al AGP 3.0, y se fue directo al tacho de la basura. NPI porqué, pero al parecer era un parto duplicar el ancho de banda en el PCB y al final la ganancia iba a ser mínima.

Para sobrepasar algunas limitaciones del AGP, algunos fabricantes decidieron aventurarse con sus propias variaciones, como Ultra-AGP de SiS, que permitía andar a AGP8X hasta 3.2GBps. De hecho yo la tuve en mi placa madre con chipset SiS 730 antes que se quemara por intentar overclockear cambiando los MHz de trabajo (craso error), y la ganancia era nula: no por aumentar el límite de velocidad en la carretera ese Lada Samara iba a correr como un Ferrari. Por otra parte ¿Para qué un fabricante se arriesgaría lanzando una tarjeta de video consumiendo 3.2GBps de ancho de banda si la gran mayoría de la industria estaba a 2133MBps como límite?

No sólo existieron variaciones mejorando el AGP, sino también otras “para atrás”. A ver si les suena una de éstas: AGI de ASrock, AGX de EpoX y XGP de Biostar, todas ellas se transformaron en una especie de paso medio de PCI a AGP; esencialmente eran puertos PCI disfrazados de AGP para que los chipsets que no poseían la compatibilidad respectiva, lo que a más de alguno le trajo algún problema. Lo más fascinante de todo era la incompatibilidad con varias tarjetas, algo así como con 3/4 del mercado de modelos AGP; sólo una limitada lista podía funcionar sin problemas, mientras otro poco funcionaba cojeando. Otros fabricantes tuvieron más de algún problema implementando el susodicho en otros chipsets, especialmente los baratos, y ya era de común saber que algunas placas madres “a precio de huevo” con una sospechosa lista de “Compatibilidad AGP”. Si la tarjeta no estaba en ese papel, era seguro que presentaría algunos problemas de velocidad y compatibilidad. ¿Alguien dijo “PCChips”?

Si te veo, no te conozco

AGP no duraría mucho, pero se las ingenió – como tecnología basada en el bus PCI – para mantenerse a flote hasta el 2004~5, años donde PCI Express aparecía como el próximo reemplazo natural. NVIDIA y ATI no podían hacerse los sordos con una tecnología que tenía los días contados, porque ningún cambio es inmediato y muchos usuarios aún conservarían su placa madre funcionando por varios meses más, y en esos momentos lanzaron variaciones de sus nuevas tarjetas con el chip “Rialto” que actuaba de puente entre la información que salía desde el chip gráfico en idioma PCI Express en AGP y viceversa. Nada de malo por para quienes eran usuarios normales, pero al menor signo de overclock, el puente tendía a limitar los datos que entraban y salían gracias a que su frecuencia daba “justo” para el desempeño de fábrica. Varios eran los casos de tarjetas PCI Express bridgeadas a AGP con buen overclock pero nula ganancia, y no había nada que hacer.

Albatron ATOP

Otros casos fueron al revés. Recuerdo a Albatron lanzando un puente para esas tarjetas AGP que querían pasar a PCI Express pero no podían porque… bueno… porque no cabían. Pero era una solución que sólo era compatible con una lista pequeña y que sólo se comercializó en Japón (lo digo porque nunca la ví en América o Europa). Otros se pasaron de listos y decidieron poner un puerto AGP en calidad de renegado en una placa madre PCI Express, pero era otra integración malandra que no gozaba de mucha aprobación, y que a sólo afortunados usuarios – esos que se ganaban la lotería 3 veces seguidas y efectivamente salen en algún comercial – eran quienes elegían estas placas porque mágicamente su tarjeta de video estaba dentro de la lista.

En todo caso, lo que sucedía era evidente: mejor pasarse rápido y con todo, y así el AGP dejó lentamente de vivir, total el mercado de tarjetas gráficas y fabricantes de placas madres eran los únicos afectados, no todo el mercado de la informática. Mientras alguno OEMs siguieron (y siguen) apoyando la tecnología AGP, ya sea por cualquier razón, ya llevamos unos 5 años aproximadamente sin placas madres a la vista con este singular puerto. Si alguien me pregunta por AGP, le preguntaré de vuelta si se refiere a alguna asociación en protesta o algún celular nuevo. Tecnología muerta no se extraña, como James Bond hace con todas las féminas que se ha repasado.

Links:
First AGP-PCI-e Bridge card announced (Icrontic)
Comparison between the Peripheral Component Interconnect (PCI) and the Accelerated Graphics Port (AGP) (University of Mariland – Department of Computer Science)
What Is the Difference Between AGP & PCI Graphics Cards? (eHow)
Difference Between AGP and PCI (Difference Between)
What is AGP? (SysOpt)
AGP – Definition (Word IQ)
Measuring the Benefits of AGP: Is PCI-Express Necessary? (Sudhian)
Accelerated Graphics Port (Wikipedia)
ATI Rage (Wikipedia)
List of Intel chipsets (Wikipedia)
Conventional PCI (Wikipedia)
Voodoo4 4500 AGP and PCI Review (FiringSquad)
AGP vs. PCI in the Real World (Ocelot’s Tech Spot)
What is AGP Aperture size? (TechPowerUp)
Albatron Releases PCI Express Bridge for AGP 8x Graphics Cards (Xbits Labs)

Tags

Lo Último


Te recomendamos