Saltar al contenido
ᐅ HielosMendez – Información digital que te dejara helado 🧊🥶

Detalles de la GPU Xbox 360 – ExtremeTech

Inicio limpio

En una breve conferencia de prensa durante el E3 2005 titulada «La experiencia visual de Xbox 360», ATI aprovechó la oportunidad para ofrecer algunos detalles más sobre el chip gráfico desarrollado para la nueva consola de Microsoft. La compañía afirmó que tomó alrededor de dos años diseñar el chip, y que comenzaron con «una hoja de papel en blanco», dedicándose a crear el chip gráfico de consola ideal sin ninguna consideración para convertirlo en una arquitectura de PC o restringirse a una API particular.

La arquitectura básica se ve así:

La arquitectura de la GPU de Xbox 360

En realidad, es un poco difícil describir exactamente lo que está sucediendo dentro de la GPU Xbox 360. De hecho, es lo suficientemente confuso que incluso ATI tuvo dificultades con la nomenclatura al responder nuestras preguntas.

A medida que las instrucciones y los datos del sombreador ingresan a la GPU, el secuenciador toma datos de vértices o píxeles (que han pasado por algunos pasos de configuración, como Vertex Grouper o Scan Converter) y los prepara para ser alimentados a una gran variedad de unidades lógicas aritméticas. (ALU). El objetivo del secuenciador es mantener las 48 ALU ocupadas el 100% del tiempo de la manera más eficiente posible. Procesa hasta 64 subprocesos a la vez, con todas las características esperadas de los secuenciadores modernos como la ramificación predicada y demás. Dado que hay 64 subprocesos esperando ser procesados, no tienen que preocuparse por un subproceso «atascado» que haga que las ALU permanezcan inactivas. Si un hilo necesita esperar datos, se puede procesar otro hilo y enviarlo a las ALU. ATI los llama sombreadores “Perfectamente Eficientes”.

La GPU diseñada por ATI es el árbitro de memoria principal para la CPU multinúcleo Xbox 360. Está conectado a la CPU de tres núcleos mediante un bus de 22 GB / seg, y al controlador de E / S y puente sur SiS a través de un enlace PCI Express de 2 carriles. Además de los 10 MB de DRAM integrada (EDRAM), tiene un bus de 256 bits a 512 MB de GDDR3 a 700 MHz, para un ancho de banda total de 25,6 GB / seg. Debido al uso de EDRAM «inteligente» extremadamente rápido, ATI afirmó que «tenemos ancho de banda de sobra».

Las 48 ALU se dividen en tres grupos SIMD de 16. Cuando llega a la tubería de sombreado final, cada una de las 16 ALU tiene la capacidad de escribir dos muestras en los 10 MB de EDRAM. Por lo tanto, el chip es capaz de escribir un máximo de 32 muestras por reloj. A 500 MHz, eso significa una tasa de llenado máxima de 16 gigamuestras. Cada una de las ALU puede realizar 5 operaciones de sombreado de punto flotante. Por lo tanto, la potencia computacional máxima de las unidades de sombreado es de 240 operaciones de sombreado de punto flotante por ciclo, o 120 mil millones de operaciones de sombreado por segundo a 500 MHz.

Las 48 ALU pueden realizar operaciones en datos de píxeles o vértices. Los 48 tienen que hacer lo mismo durante el mismo ciclo de reloj (operaciones de píxel o vértice), pero esto puede alternar de un reloj a otro. Un ciclo, las 48 ALU pueden procesar datos de vértices, al siguiente, todas pueden realizar operaciones de píxeles, pero no se pueden dividir en el mismo ciclo de reloj.

Los 10 MB de EDRAM están en realidad en un dado separado, al menos inicialmente. A medida que las tecnologías de procesos futuras estén disponibles, es posible que esté en la misma pieza de silicio que la GPU. Aún así, el EDRAM reside en el mismo paquete y tiene un bus ancho que funciona a 2GHz para entregar 256GB / seg de ancho de banda. Eso es un verdadero 256GB / seg, no uno de esos métodos de conteo difuso donde los 256GB son un ancho de banda «efectivo» que representa todo tipo de compresión. La GPU escribe el búfer posterior, el búfer Z y el búfer de plantilla en la EDRAM. Cuando finalmente se puede dibujar en la pantalla, la EDRAM transfiere el búfer trasero a los 512 MB de GDDR3 para escanear. El EDRAM no almacena ninguna textura; los 10 MB completos se llenan prácticamente con una resolución HD de 1280 × 720, incluidas muestras de subpíxeles Z, esténcil y suavizado.

Incluso hay un poco de magia que ocurre en esa fase. El EDRAM tiene lógica incorporada para realizar la comparación Z, la combinación alfa y la resolución de muestras de suavizado en píxeles. Normalmente, esas operaciones ocurren en la GPU y requieren no solo un valioso espacio de silicio y cachés en el chip, sino que consumen el ancho de banda de la memoria, ya que los datos tienen que ir y venir a la GPU desde la RAM gráfica principal. La solución de ATI de incorporar esa lógica en el EDRAM donde se encuentran los búferes posterior, Z y de plantilla elimina una gran cantidad de transferencia de datos y ahorra tiempo y espacio de silicio en el propio chip GPU. Debido al ahorro de ancho de banda y al ancho de banda absolutamente masivo para EDRAM, la Xbox 360 debería poder realizar efectos de búfer de cuadros como desenfoque de movimiento, profundidad de campo o destello de lente con una velocidad increíble. Continuado…