sábado, 28 de noviembre de 2009

PCI vs AGP vs PCIe

La tecnología de los buses utilizados con las tarjetas gráficas ha evolucionado para adaptarse a las necesidades. Vamos a hablar de los más utilizados en la informática de consumo durante los últimos años.

En primer lugar el bus PCI apareció de la mano de Intel al comienzo de la década de los 90. Se trata de un bus síncrono de 32 bits de ancho con funcionando a 5 V y a una frecuencia de 33 MHz, lo que supone un ancho de banda de 133 MB/s. Este ancho de banda se comparte entre los componentes que estén conectados y que se reparten el uso del bus. Los dispositivos PCI funcionan junto con un árbitro que decide quien tiene permiso para realizar transacciones usando el bus. Más adelante hubo modificaciones al estándar que disminuyeron el voltaje a 3.3 V, aumentaron el bus a 64 bits y la frecuencia de funcionamiento a 66 MHz. Además de esto apareció una versión llamada PCI-X con mejores prestaciones (mayor frecuencia de reloj) para servidores.

Al final de la década de los 90 apareció AGP (accelerated graphic port) al hacerse necesario un aumento en el ancho de banda disponible para la tarjeta gráfica. En este caso, AGP no se trata de un bus sino que es un puerto por lo que no se comparte con otros dispositivos. Está destinado únicamente a comunicar la tarjeta gráfica con el chipset norte o el dispositivo que corresponda. Las características de este bus son similares a las de PCI. Su ancho de banda es 32 bits, funciona a 66 MHz, realizaba una transferencia por ciclo y el voltaje de señalización es 3.3 V lo que da un ancho de banda de 266 MB/s, el doble que PCI. Después de esta versión conocida como AGP 1x, hubo revisiones que aumentaban el número de transferencias por ciclo y en algunos casos reducían el voltaje, apareciendo AGP 2x (2 transferencias, 533 MB/s), AGP 4x (1.5V, 4 transferencias, 1066MB/s), AGP 8x (0.8V, 8 transferencias, 2133MB/s). Aparecieró una variación con un conector físico mayor que permitía un mayor consumo de potencia por parte de la tarjeta gráfica (AGP PRO) manteniendo el resto de características. En la actualidad, salvo algunas excepciones, está en desuso.

PCI-Express (abreviado como PCIe) es una tecnología de entrada/salida que tiene multitud de utilidades y que en la práctica ha sustituido a AGP. Aunque tome el nombre del bus PCI, lo cierto es que no tiene ningún parecido con él. El motivo es la compatibilidad lógica con el anterior estándar. En este caso no se trata de un bus paralelo compartido por varios dispositivos, sino que la arquitectura consiste en enlaces serie que puede unir dos dispositivos entre sí, o varios dispositivos que enlazan individualmente con un switch que los intercomunica. Esta arquitectura es mucho más parecida a una red full-duplex que a un bus clásico. Respecto a su rendimiento, la frecuencia de reloj es 1.25 GHz y realiza 2 transferencias por ciclo, lo que supone 2.5Gb/s. Al utilizar una codificación 8b/10b, el ancho de banda final es de 250MB/s en un enlace. El estándar permite usar varios enlaces simultaneos. En la práctica, las tarjetas gráficas suelen usar 16, por lo que el ancho de banda en cada sentido es 16*250 = 4 GB/s. Más adelante se estandarizó la versión 2.0 que es la que está en uso actualmente, la mayor diferencia es que la frecuencia de reloj es el doble, con lo que se consigue el doble de tasa de transferencia por lane (500 MB/s) y una tarjeta gráfica PCIe x16 (16 enlaces) tiene 8GB/s en cada dirección. La versión 3.0 está en proceso. Entre los cambios más importantes la frecuencia de reloj llega a 4 GHz y la codificación 8b/10b se ha eliminado por una técnica de scrambling, por lo que se espera 1 GB/s en cada sentido usando un solo lane.

Patxi Astiz

No hay comentarios:

Publicar un comentario