Ultra Port Architecture
# Ultra Port Architecture

El bus Ultra Port Architecture (UPA) fue desarrollado por Sun Microsystems como un sistema de conexión de alta velocidad entre la CPU y la tarjeta gráfica. Proporciona una velocidad de 15.360 Mbit/segundo (1.920 Megabytes/segundo), lo que lo sitúan casi a la altura de PCI-Express 1.0 x8 y AGP 8x, siendo netamente superior a AGP 4x. Apareció por primera vez con la estación de trabajo Sun Ultra 1 en 1995.

El bus UPA utiliza diferente ancho de banda según con que componente deba comunicarse. Así con la memoria RAM utiliza 256 bits, con las CPUs UltraSPARC utiliza 128 bits (UPA128), con la GPU 64 bits (UPA64S) y con otros buses más lentos como el bus PCI o el SBus opera a 32 bits. Su diseño de cruce de caminos permite conexiones simultáneas independientes en el bus sin necesidad de usar conmutación de paquetes, de forma muy similar a los sistemas utilizados en muchos servidores de gama alta y superordenadores. Este diseño le permite soportar streaming de vídeo sin comprimir de alta definición (HDTV, 1920 x 1080 a 24 fotogramas por segundo).

Su diseño se hizo escalable, lo que le ha permitido soportar los 67 MHz de los modelos iniciales de la Sun Ultra 1 (1995), que al año siguiente pasa a 83 MHz (un cambio de 1,07 Gigabytes/segundo a 1,32 GB/s con la CPU), los 100 MHz de la Sun Ultra 2 (1,6 GB/s) y los 120 MHz de la Sun Ultra 60. En esta último caso se comunica a 1,92 GB/s con la CPU y a 960 MB/s con la GPU. Esto es posible gracias a que la arquitectura UPA separa las señales de direcciones, datos y control, que corren a la velocidad máxima en el bus. Soporta además la posibilidad de usar dos tarjetas gráficas UPA simultáneamente.

El bus tiene un diseño sólo esclavo, no permitiendo que un dispositivo inicie transferencias de datos como sí hacen el bus PCI o el AGP. Esto es así para evitar que la competencia de los diferentes dispositivos (discos duros, red, etc) puedan mermar la eficiencia del bus. Así una aplicación de gráficos que requiera mostrar una imagen de 1 millón de píxels con una profundidad de color de 32 bits requiere 180 MB/s, menos de una cuarta parte del ancho de banda del bus UPA64S.

