Si hace unos días os hablamos de la filtración de AMD Magnus, el chip o conjunto de chips para la siguiente Xbox, en este artículo os hablaremos de AMD Orion, el cual es su equivalente para PlayStation 6. Sin embargo, no nos centraremos únicamente en las especificaciones técnicas filtradas por MLID, sino que vamos a hacerle un análisis más profundo, teniendo en cuenta sobre todo los elementos únicos que separan a esta plataforma de de sus rivales.
Orion, ¿chip monolítico o disgregado chiplets?
Lo normal sería concluir de entrada que el hardware de la siguiente Xbox y de PlayStation 6 han de ser casi simétricos y por lo tanto Orion deberían compartir un diseño similar al de AMD Magnus. No obstante, cuando tienes todas las piezas sobre la mesa y te pones a cuadrarlo todo te das cuenta que hay algo que falla. El problema no se encuentra precisamente en las especificaciones filtradas por MLID, sino en un elemento heredado de PlayStation 5 que sí o sí ha de estar en la siguiente consola para asegurarse la total retrocompatibilidad con el catálogo de PS5.
Antes de entrar en detalle hablando de las especificaciones de memoria, CPU y GPU, nos vamos a centrar en algo que nadie está diciendo, la existencia del IO Complex en PlayStation 5 que si se implementa en PS6 en un diseño al estilo del AMD Magnus lo rompe por completo. ¿La solución más rápida? Que el sistema se basará en un chip monolítico, pero AMD tiene una serie en la manufactura del chip si se utilizan chiplets interconectados entre sí, entre otras cosas el hecho de poder usar cada uno de estos para otros proyectos, lo que entre otras cosas permite reducir el volumen de costes. En todo caso el diablo se encuentra en los detalles, y antes de nada se ha de entender la importancia del IO Complex en el hardware de PS5 y donde está situado para entender cómo el hardware de PlayStation 6 será distinto al de la Xbox de siguiente generación.
¿Qué es IO Complex?
Uno de los elementos que tendrá que heredar el SoC Die de Orion de PlayStation 6 y que es exclusivo en el chip Oberon de PlayStation 5 es el IO Complex. ¿Su principal función? Los SSD actuales envían datos con un ancho de banda tan bestia que las actuales CPU se ven sobrepasadas a la hora de manejar el volumen de información de un SSD y más a los volúmenes de información a los que trabaja la unidad de estado sólido de PlayStation 5, la cual no solo transfiere la información a gran velocidad, sino porque realiza una tarea de descompresión de datos al vuelo, desde el SSD a la RAM.
La gran ventaja del IO Complex es que es capaz de mover información comprimida desde el SSD y que llegue descomprimida a la RAM, si bien no se trata función no es exclusiva de PlayStation 5, hemos de decir que a día de hoy no se encuentra en PC y en el caso de las Xbox Series estas manejan anchos de banda de 2.4 GB/s y no de 5.5 GB/s que es lo que puede manejar la consola de Sony, por lo que en este punto PS5 es superior, pero la descompresión de datos solo es una de las muchas partes que forman parte del IO Complex.
Controlador DMA dedicado
El segundo elemento de la lista es el controlador DMA directo, cuando se descomprimen lo datos desde el SSD a la RAM estos van a parar a una parte concreta de la memoria que no es su destino final, lo que hace esta unidad es copiar la información en las direcciones de memoria objetivo sin que tenga que actuar la CPU en el proceso. No es otra cosa que la clásica unidad homónima que permite copiar información de un espacio a otro de la RAM. El trabajo de esta unidad es el de realizar el Check-In, el cual si bien no es computacionalmente intensivo si no existiese dicha unidad, entonces se tendría que consumir 1 o 2 núcleos de la CPU solo para mover y organizar los datos en la RAM tras la descompresión de los mismos.
Coprocesadores de E/S y SRAM
En tercer lugar tenemos los dos coprocesadores de E/S, los cuales más bien son microcontroladores dedicados y esto lo sabemos por el hecho que tienen su propia memoria SRAM dedicada y exclusiva a ellos, también marcada en el diagrama como el cuarto elemento de la lista. Para entender mejor su funcionamiento hemos de partir del hecho de que la memoria NAND Flash de los SSD es en realidad memoria RAM no volátil, por desgracia a día de hoy se sigue manejando esta como si fuese un disco duro, lo cual es ineficiente. El primer de los dos coprocesadores de E/S se salta eso, no accede al SSD como si fuera un disco duro con su lento sistema de archivos, sino de forma directa como si fuera memoria RAM, es decir, por direcciones de memoria, las cuales son manejadas por el segundo coprocesador.
Coherency Engine
Uno de los puntos más importantes de cara al acceso a la memoria cuando una CPU o una GPU tiene memoria cache es la coherencia de memoria, que es asegurarse que la información de la memoria caché que no es otra cosa que una copia de lo existente en la RAM coincide en ambas partes, ya que si no es así, entonces esto se puede traducir en errores fatales en la ejecución de los programas. Esto afecta sobre todo a la GPU por el hecho que sus mecanismos de gestión de la caché son mucho más simples que en una CPU, ya que estas en la actualidad ya tienen este proceso integrado en las mismas, por lo que el Coherency Engine realiza este trabajo para la GPU, por lo que sería más natural colocarlo en el GPU Die, pero lo describimos aquí por pura practicidad en la lectura y por ser una parte importante del IO Complex de PS5.
El problema es que si el sistema carga nuevos datos desde el SSD que sobrescriben zonas de la RAM que la GPU tenía mapeadas en su caché, entonces ocurre que hay datos incoherentes y la GPU esta viendo la información antigua. Si no existiese el Coherency Engine, entonces sería necesario hacer un «cache flush» completo y esto tiene un coste muy alto en rendimiento. ¿Y qué es eso? Pues el proceso de invalidar o limpiar el contenido de la memoria caché, lo que obliga a leer los datos de nuevo desde la RAM principal para actualizar la caché. Esto es horrible para una GPU, ya que el rendimiento de muchas de sus operaciones depende de que la información se encuentre en su propia memoria caché.
El Coherency Engine en el IO Complex de PS5 evita esto, ya que se encarga de vaciar solo las líneas de la caché en la GPU que se encuentran desactualizadas, todo ello de forma automática sin que la CPU tenga que intervenir en ello, ni tan siquiera el procesador de comandos de la GPU y mucho menos el propio desarrollador.
IO Complex 2.0
El salto generacional supondrá una mejora en rendimiento del IO Complex, ya que estamos muy seguros que Cerny y su equipo no dudaran en retocar esta parte para mejorarla y hacerla más eficiente. Aquí muchos se verán tentados en añadir una mayor versatilidad y programabilidad al diseño original, sin embargo creemos que de cara a la siguiente generación ll sistema ha de ser lo suficientemente inteligente como para que el desarrollador no tenga que pensar en él. El actual IO Complex de PS5 y PS5 Pro para realizar sus funciones de la RAM requiere tomarle el acceso a la memoria principal a la CPU o a la GPU en cada momento, lo cual es también una contención y un cuello de botella colateral que afecta al rendimiento.
Si bien los controladores de memoria se encuentran en la GPU Die, el SoC Die tiene acceso directo a la misma a través del Active Bridge que se encuentra situado en el Base Die, esto es clave para que tanto los núcleos de la CPU como el IO Complex accedan de forma directa a la RAM del sistema. Pues bien, de cara a la siguiente generación creemos que el descompresor de datos operará en su propia región de memoria RAM antes de mover los datos a la CPU o la GPU, lo que reducirá la contención existente actualmente con la memoria. Se trata de una evolución respecto a PS5 donde el IO Complex compartía accesos con la CPU y la GPU, sin embargo, en esta mejora el Coherency Engine quedaría fuera al moverse a la GPU Die.
El otro añadido importante seria el de añadir una NPU, si bien estas unidades se utilizan para Deep Learning, de cara a la descompresión de datos llegan a un nuevo nivel. Lo que permitiría esta unidad es el uso de algoritmos de compresión/descompresión basados en redes neuronales, mucho más potentes que los actuales (Kraken, Zlib u Oodle), habilitando técnicas como: compresión semántica de mallas, texturas y animaciones, generación procedural asistida por IA, o incluso reconstrucción inteligente de entornos según el contexto de juego. En cuanto al resto de unidades del IO Complex se mantendrían iguales, sin mejoras de ningún tipo.
El problema es que el IO Complex no se puede separar
Si el IO Complex se encontrase en el SoC Die y lejos de la GPU Die, entonces aparecerían dos problemas importantes:
- Latencia extra: el tráfico coherente ahora tiene que cruzar un interposer o puente activo (tipo Infinity Fabric o similar).
- El I/O Complex ya no puede “ver” directamente qué regiones de la RAM están cacheadas en la GPU para hacer la comparación rápida. Por lo que ya no puede hacer la invalidación selectiva al vuelo, lo que provocaría qur volviéramos al temido «cache flush» tal y cómo ocurre en PC. Esto rompería uno de los pilares técnicos de PS5 y una de sus mayores ventajas, la cual se ha de mantener en PS6 para una total retrocompatibilidad.
¿Cómo se soluciona el problema? Lo más fácil sería tener un diseño monolítico, pero sabemos que Orión al igual que Magnus se basará totalmente en chiplets, por lo que aquí entraría un tercer participante, el Active Interposer Die o Base Die, que es básicamente el chip sobre el que irían montados tanto el SoC Die como el GPU Die y esto podría aplicarse también a Magnus y no solo a Orion.
Un Active Interposer adaptado: la solución al dilema de Orion
Una posible y elegante solución al problema de integrar el IO Complex en una arquitectura basada en chiplets, pero manteniendo la ventaja del diseño monolítico como ya hemos dicho es la integración de un Active Interposer Die (AID), como el empleado en la GPU Instinct MI300, adaptado a escala de consola. Esta pieza se le llama Base Die por el hecho que se sitúa justo debajo del SoC Die y el GPU Die a los que está verticalmente conectado, haciendo que en aunque aparentemente sean piezas separadas, en realidad se trate de una única pieza de hardware.
El AID no sólo se encargaría de comunicar y enrutar el SoC Die y el GPU Die, sino que también absorbería varias funciones clave:
- IOD clásico de AMD: El AID actuaría como el controlador de entrada/salida tradicional presente en las arquitecturas chiplet de AMD, incluyendo el controlador de memoria y las interfaces necesarias para conectar todos los componentes del sistema.
- Controladores de memoria GDDR7: La memoria principal de la consola estaría directamente controlada desde el AID, lo que permitiría mantener acceso arbitrado y coherente entre CPU, GPU e IO Complex, incluso estando físicamente en chiplets separados.
- IO Complex completo: Incluiría todos los componentes del IO Complex de PS5 (descompresor, DMA, coprocesadores de E/S y Coherency Engine), garantizando que el sistema pueda seguir funcionando como una unidad integrada a nivel lógico, manteniendo compatibilidad total con el modelo de streaming de PS5.
- Interfaz PCI Express adicional: El AID podría incorporar una interfaz PCIe x4 dedicada para conectar directamente con el Southbridge o controlador de SSD, lo que simplificaría la topología interna sin necesidad de enrutamiento a través de la CPU.
- Active Bridge para CPU y GPU Dies: Finalmente, el AID integraría un puente activo de alta velocidad (al estilo Infinity Fabric) para intercomunicar los chiplets de CPU y GPU, asegurando latencias mínimas y ancho de banda suficiente para el tráfico coherente.
Al absorber el IO Complex, entonces esta pieza de hardware sería única del hardware de PlayStation 6, y serie diferente al AID/Base Die de Magnus. Si bien AMD podría añadir un nivel de caché adicional para CPU y GPU en el AID, preferimos pensar que intentarán mantener el sistema lo más simple posible dentro de lo estrictamente necesario. Si bien es una idea muy tentadora, el problema es que bajo RDNA el ratio entre la L2 y la L3 es muy grande, pero en UDNA, la siguiente arquitectura sabemos que la cache L2 tiene un aumento de tamaño entre 4 y 5 veces según partición en la GPU. Esto reduce la necesidad de una L3 adicional, y vuelve más eficiente mantener la caché más cerca del cómputo, en lugar de centralizarla en el AID.
CPU Die
Una vez hemos explicado lo que es el IO Complex, nos encontramos que buena parte de los componentes que en AMD Magnus estarían en el SoC Die se ha movido al AID, es por ello que deberíamos hablar de CPU Die o CPU chiplet. La información dada por MLID nos dice que Sony adoptará una configuración de 8 núcleos Zen 6, lo cual contrasta con lo que se dice que AMD Magnus dispondrá de 11 núcleos (3 Zen 6 y 8 Zen 6C), por lo que de ser cierto esto, estaríamos ante la primera vez que habría una disparidad entre ambas consolas en lo que a la configuración de la CPU se refiere. ¿A qué se debe esta diferencia? La información de 2023 y mientras todo el mundo se centra en la GPU, a nosotros nos parece raro que teniendo en cuentas que un CCD de Zen 6 para PC es de 12 núcleos, creemos que Sony tomará un CCD estándar de PC, ya sea con una configuración de 8 o 12 núcleos.
La adaptación sería simplemente que su enrutamiento estaría pensado para comunicarse verticalmente con el AID, esto ya lo hemos visto con los núcleos Zen 4 modificados del MI300, por lo que es viable hacerlo. No es más que la adaptación a TSV (interconexiones en vertical) del bus Infinity Fabric. En todo caso, creemos que Sony adoptará una configuración de 12 núcleos. No obstante, dado que muchas de las funcionalidades descritas inicialmente en el SoC Die irían a parar al AID nos preguntamos si la gran diferencia entre Sony y Microsoft en el diseño de hardware será este, ya que Xbox Series carece del IO Complex, al ser una pieza exclusiva de PlayStation, la cual a su vez es lo que justifica el AID en PS6
Lo único que justificaría una configuración de 8 núcleos sería tener un CPU Die más pequeño para que esté absorbiera parte de los costes extras del AID, esto explicaría el motivo por el cual la GPU Die también tendría una configuración de menos núcleos respecto al diseño de AMD Magnus. Sin embargo, hemos de tener en cuenta la unificación de Xbox y PC a nivel de desarrollo donde las líneas entre ambas plataformas se han vuelto borrosas. No existe algo como el IO Complex en PC, por lo que los núcleos de más podrían utilizarse de cara a suplir algunas de las funcionalidades.
GPU Die
Una de las decisiones que tomo Sony con PlayStation 5 fue crear una GPU con «solo» 36 núcleos en su GPU y compensar esto con una alta velocidad de reloj, aunque la realidad es que dicha velocidad no es constante y depende de la carga de trabajo. Eso sí, es superior a la media a la que funcionaría el chip en condiciones normales, de ahí a que se requiera refrigeración por galio en todo el SoC monolítico. Sin embargo, la evolución de PS4 Pro a PS5 fue mantener el número de núcleos sí, pero con una nueva arquitectura, que le permitió pasar de los 911 MHz a los 2230 MHz y ser mucho más eficiente por ciclo de reloj.
En PS6 tendremos otro salto de arquitectura, de RDNA a UDNA y según las especificaciones que se han filtrado de PlayStation 6, la unidad tendrá 48 Compute Units, lo cual aparentemente es un retroceso respecto a los 60 núcleos de PS5 Pro, eso sí, a 3 GHz frente a los 2.35 GHz del modelo actual más potente. Si la configuración continuará siendo de 64 ALU como ocurre en GCN y RDNA, entonces estaríamos hablando de 18 TFLOPS frente a los 16 TFLOPS de PS5 Pro, sin embargo, hay una pista en la filtración donde se habla de un salto de x3 respecto a PS5. Si bien desconocemos la configuración de las Compute Unit de UDNA, creemos que pasarán de ser 2 x SIMD32 a 2 x SIMD64, lo que les permitirá llegar a los 36 TFLOPS, lo que cuadra con el salto descrito por MLID.
Claro está que esto no sería toda la GPU, ya que uno de los cambios más importantes en las Compute Units será un nuevo Ray Accelerator Engine, el cual reemplazará por completo el utilizado en las RDNA, permitiendo un salto de x10 en lo que a la tasa de intersecciones se refiere respecto a la PS5 estándar y con un feature set al nivel de las GPU NVIDIA Blackwell (RTX 50). Si esto os parece exagerado, tened en cuenta que el salto en potencia bruta de PS5 a PS5 Pro ha sido x3 por ciclo de reloj, gracias a usar una doble unidad de intersección y a un aumento del 50% al número de intersecciones por ciclo. Partir del hecho de que RDNA 2 ya era muy inferior a las RTX 30 en lo que a su capacidad de ejecutar el Ray Tracing, y hemos de añadirle que cada generación ha sido un salto de x2 en el caso de NVIDIA, por lo que no es imposible un salto que resulte en una orden de magnitud respecto a PS5.