Disruptive Ludens

Blog personal sobre tecnología

Especulación: ¿Cómo podría ser una eventual PS5 Pro? (Remaster)

He decidido corregir algunos flecos y redundancias de la entrada de ayer donde especulaba de una eventual PlayStation 5 Pro, perdonad si me repito respecto a ayer pero tras leerme la entrada me he dado cuenta que es bastante…

Y me he dado cuenta con los pocos comentarios que ha tenido por lo que he decidido pulirla por completo.

__________________

Gracias a Ger y a Shin por el aviso a través del Discord.

Resulta que hay una patente de Sony titulada SCALABLE GAME CONSOLE CPU/GPU DESIGN FOR HOME CONSOLE AND CLOUD GAMING. En cuyo resumen introductorio de la misma se puede leer lo siguiente:

En un entorno de simulación con múltiples GPUs, el manejo del búfer de imagen puede ser implementado con varias GPUs renderizando respectivos fotogramas de video o renderizando porciones de cada fotograma de video. Una GPU controla la salida HDMI a través de recibir información del fotograma de otras GPUs y leyendo fotogramas completos a través un puerto físico HDMI externamente conectado, las salidas de las GPUs pueden ser multiplexadas en conjunto.

En realidad esto no es más que el clásico Crossfire/SLI donde dos GPUs o más se comparten el renderizado de una misma escena. La forma más fácil es asignar fotogramas alternos de tal manera que una GPU se encargue de renderizar el fotograma n y la otra el fotograma n+1. La más compleja es que ambas compartan el mismo fotograma pero dividido en dos mitades, en todo caso de entrada esto no es nada revolucionario y hace años que existe en PC.

Pero de lo que habla la patente es del uso de un multiplexor que es un tipo de circuito lógico combinacional común. Su funcionamiento por lo general es el siguiente.

  • Una serie de entradas de datos donde tenemos 2n datos de entrada.
  • Un selector de datos que nos permiten escoger el dato de salida.
  • Una sola salida de datos donde sale el dato n que hemos escogido.

La idea es que al tener dos GPUs con su salida de video necesitaríamos poder conmutar entre una y la otra para la salida de video, esto se puede ver en las FIG. 13 y 14 de la patente y su descripción.

Las FIG. 13 y 14 ilustrán otro acercamiento, en el bloque 1300 de la FIG. 13 cada GPU 1400 (mostrada en la FIG. 14) esta implementada con su propia salida de video. Las salidas de video de las GPUs 1400 están multiplexadas en el bloque 1302 por uno o más multiplexores 1402 que conmuta entre ambos puertos de salida de las GPUS.

Reconociendo las señales que normalmente están encriptadas, se provee un chip de encriptación 1404 que recibe la salida del multiplexor 1402 para direccionar el enciptado. Esencialmente la salida multiplexada puede enviar una señal DisplayPort que es convertida por el chip de encriptación 1404 a HDMI.

El uso de dos GPUs cada una con su hardware de salida de video estando activo es algo que es mencionado en la FIG. 9 de la misma patente.

La FIG. 9 es un diagrama de flujo de ejemplo de la aplicación de un sistema NUMA (memoria no unificada) en la que cada GPU renderiza porciones (por ejemplo lineas) de fotogramas en la que cada GPU renderiza diferentes partes de un mismo fotograma de una GPU. Empezando por el bloque 900, la primera GPU renderiza la primera parte del fotograma que son las primeras N lineas (linas de la 1 a la N) mientras que el bloque 902 que es la segunda GPU renderiza las líneas desde N+1 a M (la última linea).

La diferencia entre la FIG. 9 y la FIG. 10 es que en la FIG. 10 la segunda GPU lo que hace es copiar su búfer de imagen final en la memoria de la primera GPU lo que hace que no sea necesario el multiplexor antes definido ya que solo la primera GPU envía el búfer de imagen. Para ello es necesaria una unidad DMA que copie los datos desde el espacio de memoria de la primera GPU al espacio de memoria de la segunda GPU.

En ambas soluciones ambas GPUs tienen su propio pozo de memoria pese a renderizar un mismo fotograma y dado que la RAM de la CPU y la GPU es compartida entonces lo que se acaba doblando es todo el SoC al completo, esto se puede ver definido en la FIG. 3.

La FIG. 3 ilustra un ejemplo de arquitectura de acceso no uniforme a la memoria (NUMA), en el que una sola estructura 300 contiene dos APU 302, 304 en un solo dado o en los dados respectivos, entendiéndose que la arquitectura NUMA puede ser implementada por más de dos APU . Cuando se implementa en chips de matriz respectivos en la misma estructura 300, las rutas de comunicación, que pueden denominarse «buses» por generalidad, se pueden establecer a través de capas de la estructura

¿Como conseguimos unificar los dos GPUs? Pues a través de buses como el PCIe o los propietarios como el NVLink de Nvidia (que no es el caso dado que hablamos de un SoC de AMD pese a que la patente es de Sony) o el Infinity Fabric. Esto nos permiten conectar de manera directa ambos SoC/APU. Esto no tecnología única y tampoco exclusiva y en el caso de AMD es tan fácil como utilizar el xGMI, el cual es una versión extendida del GMI utilizada para comunicar los chiplets en el Zen 2 y los núcleos en Zen 2 para comunicar núcleos completos entre si y chiplets.

En cuanto al SSD, cada uno de los SoC tiene su propio controlador de memoria flash, en realidad son dos placas de PlayStation 5 conjuntas en un Blade Server pensado para el Cloud Gaming y por tanto no estaríamos hablando de un sistema de videojuegos doméstico, no obstante, la patente hace la siguiente referencia:

Como se entiende aquí. La tecnología SoC se puede aplicar a las consolas de simulación de video, como las consolas de juegos, y en particular se puede proporcionar un solo SoC para una versión «ligera» de la consola, mientras que se pueden usar varios SoC para proporcionar una versión «de gama alta» de la consola con mayor capacidad de procesamiento y almacenamiento que la versión «light». El sistema de «gama alta» también puede contener más memoria, como la memoria de acceso aleatorio (RAM) y otras características, y también puede usarse para una versión optimizada para la nube que use el mismo chip de consola de juegos con más rendimiento.

Es decir, un SoC Dual intercomunicado a través de la interfaz xGMI teniendo cada uno su propio pozo de memoria. Esto significaría tener un sistema con el doble de RAM, el doble de almacenamiento, el doble de todo y un coste que resultaría realmente prohitivo en general de cara a realizar una consola de videojuegos para el mercado de masas. Se trataría de un dispositivo que nadie compraría por lo caro que resultaría, eso si, tendría mucho ancho de banda y muchos TFLOPS pero llevaría consigo un montón de problemas no solo a nivel de coste sino de desarrollo y de fabricación. Y lo mejor es tirar del principio KISS (Keep it Simple Stupid) con tal de crear una eventual PS5 Pro para de aquí a un par de años o tres. A lo que me refiero es que desde mi limitado conocimiento creo que tirar de una PS5 Pro con SoC Dual es complicarse la vida de manera innecesaria por parte de Sony, sino también para los desarrolladores.

Claro esta que la patente nos habla de la posibilidad un sistema con memoria unificado.

La FIG. 4 es un diagrama de bloques de una arquitectura de memoria compartida en la que se muestran dos APU, cada una incluyendo una CPU 400 y una GPU 402 con cada CPU y cada GPU implementada en su propio troquel respectivo, entendiéndose que la arquitectura puede implementarse en menos o incluso un dado y que se pueden implementar más de dos APU.

Las APU comparten un controlador de memoria común 404 que controla una memoria 406, y las APU pueden comunicarse entre sí y con el controlador de memoria a través de las rutas de comunicación respectivas.

La FIG. 5 es un diagrama de bloques de una arquitectura de memoria compartida en la que se muestran dos APU (cada una con una CPU 502 y GPU 504 respectivas) con cada APU implementada en su propio dado 500 y con un controlador de memoria compartida 506 implementado en uno de los dados 500, entendiéndose que la arquitectura se puede implementar en un dado y que se pueden implementar más de dos APU. El controlador de memoria compartida 506 controla el acceso a una memoria 508. y las APU pueden comunicarse entre sí y con el controlador de memoria 506 a través de una o más rutas de comunicación 510.

En realidad podemos implementar dichas solución como si fuese un solo SoC/APU unificada pero con dos GPUs en vez de una. Pero la primera pregunta que nos viene es… ¿Si vamos a tener que reproducir los mismos juegos que sentido tiene que la CPU también sea duplicada? Hay que tener en cuenta que los juegos estarán pensados para funcionar con 8 núcleos y 2 hilos por núcleo (Zen 2) y el hecho de aumentar la cantidad de núcleos puede ser contraproducente para juegos optimizados para una cantidad concreta de núcleos ya que los núcleos adicionales no se utilizarían para nada en la mayoría de los juegos. Un caso distinto es el de un sistema de juego en la nube donde tendríamos varias iteraciones de juego siendo ejecutadas o de varios juegos distintos, pero es que la patente en realidad va sobre un servidor para el Cloud Gaming.

¿Entonces? ¿Como sería la eventual PS5 Pro? Bueno, lo mejor es tener en cuenta una serie de principios básicos.

¡No necesitamos 2 GPUs completas, realmente para renderizar de manera dual!

Solo necesitamos duplicar el procesador de comandos gráficos de la GPU y que funcionen como 2 GPUs separadas de manera virtualizada donde se distribuyan los recursos. En este caso podemos asignar un Shader Engine a cada uno de los dos pipelines gráficos.

El problema de esto es que ciertas partes de la GPU se tienen que duplicar ya que en primer lugar cada sub-GPU tiene su propio espacio de direccionamiento en la memoria, por ejemplo si estamos renderizando en estéreo con cada ojo asignado a una sub-GPU entonces y necesitamos codificar cada ojo en paralelo para enviarlo por streaming a la unidad HMD entonces vamos a necesitar dos codificadores/decodificadores de video trabajando en paralelo, uno para cada ojo.

La otra idea es que las unidad DMA pasarían de 2 a 4, Esto ya lo hemos visto antes y tiene que ver con que la segunda GPU le pueda transmitir el bufer de imagen a la primera. Laa idea es que la sub-GPU#1 a través de su unidad DMA copia su búfer de imagen o la parte de su búfer de imagen en el espacio de memoria de la GPU#0, esto permite al SoC tener 1 controlador de pantalla en vez de 2 y ahorrarse por completo el multiplexor para combinar ambos búfers de imagen finales.

Ahora bien, la situación no sería al 100% como la que fue entre PS4 y PS4 Pro donde Sony simplemente duplico la cantidad de Shader Engines de una consola a la otra sin aumentar la configuración de memoria y aumentar el ancho de banda con ello. En PS4 Pro el problema fue que por deceso de ancho de banda, Sony tuvo que implementar el Delta Color Compression de versiones más avanzadas de la arquitectura GCN por el hecho que no había suficiente ancho de banda para mantener la tasa de relleno total.

Pero hemos de tener en cuenta que en el caso de PS4 Pro que era arquitectura GCN, los ROPS/RBE escribían directamente a la RAM mientras que en el caso de las arquitectura RDNA lo hacen sobre la Cache L2 por lo que dicho problema desaparece por completo ya que los los Render Backends (RB) escriben directamente sobre la Cache L2.

Y aquí entramos en un tema importante. ¿Cuantos RBs y por tanto cuantas unidades de rasterizado asociadas tendríamos en una eventual PS5 Pro? Para saber por donde voy os recomiendo leer la entrada que he hecho hoy ya que una es complementaria a la otra.

Si la configuración es como Navi 21/Sienna Cichlid entonces nos encontraremos que la tasa de relleno y la tasa de rasterizado no se duplicará ya que las cifras serán iguales que las de PS5. Esto sería contraproducente para una consola que buscase aumentar la resolución respecto a PS5 o la tasa de fotogramas ya que las unidades de rasterizado serían un cuello de botella como consecuencia de ello. ¿El problema asociado en aumentar la cantidad de Shader Arrays de 4 a 8? El hecho que pasaríamos a hablar de configuraciones de 512 bits GDDR6 o HBM2E de 4 pilas, ambas configuraciones altamente costosas tanto en coste económico como en energético.

¿La solución más simple? Tirar de una configuración de 384 bits GDDR6 donde tengamos unos 6 Shader Arrays en total (3 Shader Arrays por Shader Engine) y con ello una configuración de 24 RBEs/96 ROPS y 6 unidades de rasterizado. ¿El problema de dicha configuración? La cantidad de CUs totales seria un 50% más y paradójicamente no seria más alta que la de Xbox Series X. ¿Entonces? Bueno, el ratio de CUs por Shader Array deberá cambiar por completo respecto a PS5 o en su defecto mantenerlo pero requerir una configuración de memoria mucho más costosa. En todo caso pueden hacer la chapuza de colocar 8 Shader Arrays con un bus de 384 bits eh, que poder podrían hacerlo sin problema.

El problema es que terminar con un bus de 512 bits GDDR6 o en su defecto con un HBM2E de 4096 bits, es decir, de 4 pilas como ultra-cara Vega de 7nm es un problema enorme de cara a una consola. Algo digno de una historia de terror.

¿Que es lo que pienso? Simplemente bajo el concepto de mantener las cosas simples pienso que la GPU dentro del SoC de PS5 Pro podria ser la eventual Big Navi/Sienna Cichlid/Navi 21 que veremos en PC este año por lo que la tasa de relleno y la tasa de rasterizado sería igual a la de la PS5 estándar pero con una potencia de calculo mucho mayor, pero no creo que vaya a ser un traslado directo de dicha GPU para PC sino que pienso que vamos a ver un elemento adicional, el cual servirá para compensar que la tasa de relleno y de rasterizado no aumente.

Es muy probable que las unidades matriciales/arrays sistolicos/tensor cores que van a implementar en CDNA1 los vayamos a ver seguramente en RDNA3 que es en lo que se basará PS5 Pro. Lo que significa poder implementar algo como los algoritmos DLSS 2.0 de Nvidia para el reescalado de imagen a tiempo real y no necesitar una ingente cantidad de Compute Units en la GPU para trabajar con una mayor resolución, pero esto es solo una suposición.

El hecho de tener un equivalente a los Tensor Cores en versión AMD es lo que permitiria poder renderizar a mayor resolución con menos recursos. Sumadle esto a que cuando aparezca la consola ya tendremos memoria GDDR6 a más de 20Gbps y que el nodo de 5nm de TSMC ya estará completamente maduro y os podéis hacer a la idea de como sería una PS5 Pro buena bonita y barata sin la pesadilla en costes de tener que tirar de 2 SoCs combinados. Es más, podriamos verla en el mercado antes incluso de lo esperado.

Esto es todo, tenéis los comentarios de esta misma entrada para comentar y no olvidéis que tenemos Discord.

5 3 votes
Article Rating
16 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

[…] Especulación: ¿Cómo podría ser una eventual PS5 Pro? (Remaster) […]

nolgan

pero si eso es asu la ps5pto no tardaria en salir.. porque si pensamos que.. pongamos ps5pro sale dentro de 3-4 años

ya rdna 3 y zen3 estarian anticuados, estariamos en rdan4 y zen4 en la calle y con la rdna 5 apunto de salir

nolgan

esto seria que sony tiene planetado na ps5pro para dejar pro debajo a xsx y ser la ps5pro la consola mas potente y sacarla en 2021?

Julian

Y tambien costando 100 mas barata que XSX.

Julian

Aunque pueda parecer ridiculo esta patente no seria algo en plan multi gpu de Stadia o Azure Remote Rendering? Me refiero a modo idea o a modo de ejemplo.

https://docs.microsoft.com/en-us/azure/remote-rendering/overview/about

Es decir PS5 en los servidores para PSNow con varias VMs. Algo del estilo xCloud.

La gente en general se piensa que cada consola en la nube tiene asignado un cliente por consola . Si eso fuese asi no seria sostenible economicamente en el tiempo.

Last edited 2 months ago by Julian
nolgan

psnow va a usar los azure… de microsoft , el acuerdo ya se izo hace tiempo y se dijo.. asi que esa teoria no la veo logica

Julian

Me puedes decir que tiene que ver Azure en lo que estoy comentando?

nolgan

«Es decir PS5 en los servidores para PSNow con varias VMs. Algo del estilo xCloud.»

por eso te digo que no, que sony ya ha hech un acuerdo para usar AZURE de microosft tanto paar psnow, como para plus etc

Julian

Sigo sin entender que tiene que ver lo de Azure. Tu puedes poner todas las VMs que quieras y tocar tu el hardware siempre que pagues por ello. Si Sony al final opta por Azure van a ser sus expertos los que van a diseñar los racks y no Microsoft. Por eso digo de nuevo que no entiendo que tiene que ver lo de Azure con lo que estoy diciendo yo. Netflix paga a Amazon por AWS y son los expertos de Netflix los que controlan tanto el software como el hardware de los servidores que tienen contratados. En un… Read more »

Julian

Como PS5 vaya como un tiro y no haya diferencias importante en los multis respecto a XSX vamos a tener que esperar un tiempito por PS5 Pro.

nolgan

que no va a haber diferencia entre xsx y ps5 eso va a ser casi seguro… pero.. y si aquel rumor de que sony tb iva a sacar una ps5 y una ps5pro al MISMO tiempo? y si se la guardan para sorpresa o para lanzarla en 2021? y asi tenet el LA CONSOLA MAS POTENTE… ojo , yo no lo creo.. pienso mas que estan en poryecto para 3-4 años vista.. pero y si…. sony se la tiene en al recamara para tenre el contra punto a xsx.. y la ps5 sin lector no es ese contrapunto.. si no… Read more »

Julian

Pues yo veo cero sentido a lo que comentas. El precio manda y mas ahora con lo que viene. PlayStation anda intententando ahorrar costes por todos los lados (consola grande, respiradores por todos lados, version sin disco y plastico del malo para las tapas) para que PS5 repita formula de exito como PS4 y va a sacar a la vez una version Pro que supere a XSX? Yo no lo veo. Encima que si XSX cuesta 500 cuanto costaria una supuesta PS5 siendo mas potente. Dicho esto .. PS4 y PS4 Pro fueron 400. Yo no soy tan positivo con… Read more »

Last edited 2 months ago by Julian
nolgan

es que eso depende….

creo que xsx y ps5 constaran lo mismo.. pero.. creo que las 2 si tanto estan retrasando decir la fecha y precio es porque las 2 se quieren jugar la carta

pero me parec una estupidez.. ya que yo puede salir y decir, xsx a 600, y va sony y dice ps5 a 500, y yo a dia sigueite digo, xsx a 475

El-Gaucho-Caucho

Che pero si que sos groso. No tengo mucho que decirte pero si creo que tus Vaticinios y perogrulladas técnicas me harán reír a largo plazo. Vos lo haces fantástico sos un amor como persona no te ofendas. Me refiero che a la cara que pondré cuando estos boludos y pelotudos amantes de las patrañas de Cerny tengan que ponerle algún nombre rimbombante de marketing al viejo y conocido «AMD CROSSFIRE» el simple acto de sistema de doble GPU, sin importar que fuese al interior del mismo SOC eso ya se invento CHEEEE ¿Pero cual es la novedad? Me reiré… Read more »

nolgan
Last edited 2 months ago by nolgan