mayo 8, 2021
PS5 Burning

El SoC de PS5 muestra la situación económica de SONY

Por fin, gracias a fotógrafo Fritzchens Fritz tenemos las primeras imágenes del SoC de PlayStation 5. El que SONY escondía en lo máximo posible y nunca mostraba, como bien ocurrió con el de PS4 Pro en su día.

La fotografía del día era sumamente importante y a las pocas horas, gente como Locuza en Twitter ha tomado las fotos de Fritz y las ha aclarado para todos nosotros. ¿Las revelaciones? Pues nos hemos encontrado cosas que no nos esperábamos y no para bien precisamente.

PS5 SoC Anotado

Obviamente las únicas partes que han podido anotar son aquellas que conocen de AMD en otras consolas, pero antes de ir a partes especificas hemos de ir a lo obvió, a lo que se ve a simple vista:

  • No hay Infinity Cache para la GPU, su sistema de caches es como el de Xbox Series X y RDNA 1. Luego más adelante hablare sobre ello y lo que esto implica.
  • Nada de CCXs con una configuración como los de Zen 3, son los mismos que utilizados en Xbox Series X y en los AMD Ryzen 4000 y algunos de los modelos de los AMD Ryzen 5000U.

Sin AVX-256

Cuando SONY empezó a hablar de la adopción del SmartShift de AMD su explicación era clara, la velocidad de reloj de la CPU y la GPU fluctuaba según el nivel de consumo del otro en una especie de suma cero.

En realidad toda la trampa estaba en la CPU, ciertas instrucciones no son una carga en consumo energético para la CPU, lo que permite subir la potencia de la GPU por encima de la media. Pero hay un tipo de instrucciones que si y estas son las instrucciones AVX, Advanced Vector Extensions, que no son más que el set de instrucciones SIMD de la ISA x86.

Pues bien, la versión con una longitud de 256 del AVX, la cual AMD añadió en Zen 2 para PC ha sido aparentemente recortada. ¿El motivo? No se sabe, pero estoy seguro que fue una decisión de última hora en los tests tras ver como la velocidad de la GPU bajaba más de lo que ellos querían al utilizarse instrucciones AVX-256.

El SmartShift, un parche de última hora

En todo el periodo antes del anuncio oficial por parte de SONY sobre su consola, todas las pruebas de la misma hablaban de un SoC con una GPU primero a 1.8 GHz y después a 2 GHz. Todos ellos con nombres en clave basados en la obra Sueño de una noche de verano de Shakespere.

Pero, un día aparece Mark Cerny y nos habla de una GPU a 2.3 GHz, gracias a una tecnología llamada SmartShift, la cual le permite alcanzar los más de 10 TFLOPS.

PS5 Smartshift

La configuración de la GPU es de 40 Compute Units, de las cuales 36 están activas, esto significa que Xbox Series X tiene un 50% más de Compute Units. ¿Cómo es que SONY no ha hecho una GPU con más CUs y no se ha metido en este berenjenal? Pues fácil, por el hecho que no quieren gastar más dinero en el SoC de la consola.

Un SoC cada vez más pequeño

En los últimos años la Ley de Moore ha desacelerado, esto significa que el coste por mm^2 de los chips que se fabrican es cada vez más alto, caben más transistores si, pero si por ejemplo lo que piensas gastarte por chip no lo haces crecer en estas condiciones, entonces te quedas con un SoC cada vez más pequeño en cuanto a área en cada iteración,

Comparativamente con los equivalentes en Xbox, lo que ha ocurrido en las consolas PlayStation es lo siguiente:

PlayStation 4 (28 nm) Xbox One (28 nm)
348 mm^2 361 mm^2
PlayStation 4 Pro (16 nm) Xbox One X (16 nm)
324 mm^2 359 mm^2
PlayStation 5 (7 nm) Xbox Series X (7 nm)
308 mm^2 360 mm^2

El deceso en la cantidad de Compute Units colocaba la GPU de PS5 por debajo de los 10 TFLOPS, era necesario hacer algo y la solución vino en forma del SmartShift por un lado y por el otro eliminar las instrucciones AVX-256 que en Zen 2 eran novedad.

Su eliminación no afecta a los juegos de PS4 (Pro) que hay en el mercado, pero nos demuestra que la subida de la velocidad de reloj es cuanto menos una medida de contención de última hora.

El SoC de PS5 no tiene Infinity Cache

El motivo por el cual RDNA 2 en PC puede alcanzar las altas velocidades de reloj es gracias a la Infinity Cache, La cual hace Victim Cache para la L2 de la GPU y rescata las líneas descartadas en el segundo nivel. Así la GPU no tiene que ir a rescatarlas a la GDDR6 que es un proceso que consume mucha más energía.

El concepto no es otro que la velocidad de reloj que puedes alcanzar depende también de la distancia de los datos y evitar el uso de la VRAM en lo máximo posible es disminuir el consumo energético, lo que permite velocidades de reloj más altas por menos o el mismo consumo.

Por eso yo esperaba ver la Infinity Cache en el SoC de PS5, creo que es una solución elegante. ¿El problema? Esta hubiese ocupado espacio, ya que el bus de memoria de PS5 es de 256 bits, el mismo que RX 6800 (XT) y RX 6900 XT.

La Infinity Cache escala con la cantidad de particiones de cache L2 de la GPU y la cantidad de canales GDDR6 que hay en el sistema. Una configuración de 256 bits tiene 8 chip de 2 canales de 16 bits cada uno, esto son 16 canales, lo que se traducen en 16 particiones de cache L2 y 16 de Infinity Cache.

Todo esto se traduce en 128 MB de Infinity Cache, lo cual son 86.6 mm^2 y por tanto colocaría el tamaño del SoC de PS5 cerca de los 400mm^2, pero yo creía que SONY había colocado una Infinity Cache de 64MB, con la mitad de densidad, esto serían 351 mm^2 en total. ¿Por qué no tocar el resto de la GPU? Por el hecho que a SONY le hubiese costado más dinero y queda claro que PS5 no es más potente porque SONY no quiere, siendo la motivación económica la razón de no incluirla.

El SoC de PS5 «posiblemente» sin VRS

Hace unos días os comente la posibilidad de que el VRS de PlayStation 5 estuviese ausente por el hecho de no estar soportado por la API GNM de SONY, la cual deriva de Mantle al igual que Vulkan y tiene un funcionamiento interno lo suficientemente similar como para portar las extensiones.

Esto es algo que no sabemos, pero por lo visto SONY podría haber decidido utilizar los viejos RB o Render Backends, lo que significaría que Microsoft tendría razón y ellos tendrían el VRS por hardware, mientras que PS5 no.

Lo que más sorprende es esto por el hecho que el VRS era una de las tecnologías clave de cara al Foveated Rendering a través del Eye Tracking que se veían en las patentes.

Pero tal y como sabe todo el mundo, el PS VR ha sido un fiasco comercial para SONY y la cosa empieza a oler mal cuando desde SONY empiezan a quitar elementos del hardware que tendrían sentido en unas nuevas PS VR. Aunque si he de ser sincero, el hecho de no implementar los RB+ de RDNA 2 es cuanto menos una decisión que de confirmarse me parece de echarse las manos a la cabeza.

Y si, es la confirmación de que el PlayStation VR no tiene futuro.

Conclusión

¿Tan ajustado esta el presupuesto de SONY para recortar de semejante manera las especificaciones de la GPU? Pensad que es AMD la que hace el SoC de ambas consolas, no es un tema de capacidad de los ingenieros de SONY y/o de Microsoft.

SONY esta económicamente en desventaja y el SoC de PS5 ha pagado por ello, y no me extrañaría en ningún momento que hayan retirado las instrucciones para Int4 e Int8 que AMD añadió para el Machine Learning en Navi 12 y Navi 14, entre otras cosas que ahora desconocemos. Al menos han dejado las unidades para el Ray Tracing.