Resulta que un forista de NeoGAF, DemonCleaner, ha realizado un interesante hilo en el que tomando elementos actualmente disponibles en el mercado basados en Zen 2 y RDNA para simular a partir de un PC el SoC Ariel/Gonzalo que va a formar parte de una de las dos consolas de la siguiente generación, siendo PS5 la que parece tener más números para ello pero teniendo en cuenta que tampoco podemos descartar que sea el SoC para Xbox Scarlett.

Su intención ha sido comprobar la viabilidad en cuanto a consumos energéticos del supuesto sistema montando un PC equivalente y ha seguido de inicio una pista muy obvia pero nos había pasado a muchos desapercibida o simplemente la habíamos ignorado por completo como referencia.

Sabemos que «Navi 10» es el nombre en clave de la serie RX 5700, del cual conocemos sus posibles configuraciones dada la recién lanzada gama RX 5700 de AMD.

Antes de que os pongáis a buscar tres pies al gato. Se muy bien que este no soporta Raytracing por hardware pero antes de que la gente se ponga a irse por las ramas…

Demoncleaner ha llegado a la conclusión de que dado que la GPU en Ariel/Gonzalo es de una «Navi 10», ergo es una de la gama RX 5700 por lo que tiene que llevar unas 36 CUs (18 WGP) o 40 CUs (20 WGPs) en su configuración.

La pregunta que se ha planteado es… ¿Si solo la GPU consume 225W y esto esta por encima de la viabiidad de una consola como se puede conseguir? Por suerte tenemos el truco del «undervolting» (bajar el voltaje) a los componentes, la contrapartida es que se alcanzan velocidades menores velocidades menores, pero a cambio se alcanza mucho menos consumo a esas velocidades.

Dado que las specs de Gonzalo hablan de 1.8 Ghz para la GPU y 3.2 Ghz para la CPU lo que ha hecho Deamoncleaner es modificar el voltaje y las velocidades tanto de un Ryzen de la gama 3000 (el 3700X para ser más exactos) y de una RX 5700XT.

Empezamos estableciendo el límite de potencia en -30%, lo que nos da un límite físico de la corriente consumida que, desde mi prueba previa, equivale a alrededor de 125W de potencia de solo la GPU (solo el chip sin vram y aux)

Después de eso limitamos la curva de frecuencia de voltaje a solo 1800MHz a 975mV (el stock es de 2032Mhz @ 1198mV):

Luego bajamos la velocidad de reloj y el voltaje de la CPU a partir del AMD Ryzen Master.
Colocamos la velocidad máxima a unos 3.2 Ghz y bajamos el voltaje de 1.4 V a 1V.

Lo realmente bueno viene ahora, aplicando el Firestrike a dicho sistema, el benchmark 3DMark que tanto do que habla hace unas semanas por el leak de TUM_APISAK…

… A Deamoncleaner le ha dado una cifra muy coincidente, algo por encima de lo 20.000.

Y en cuanto al consumo energético…

El consumo ha bajado de los 280W a los 208W en total, por lo que estamos dentro de lo aceptable de una consola de siguiente generación, sobretodo si tenemos en cuenta que la unidad de alimentación de Xbox One X que es la consola actualmente más potente del mercado tiene una fuente de alimentación de 245W pero al mismo tiempo hemos de tener en cuenta que el consumo medio de Xbox One X es de unos 180W por lo que sigue estando un poco por encima de lo habitual en una consola y hemos de tener en cuenta las normativas de regulación energética que han colocado limites de consume en aplicaciones como la reproducción de videos y la navegación de menús pero lo más seguro es que en esas condiciones el sistema funcione en velocidNo obstante la comparativa con el PC lleva consigo una serie de diferencias importante en cuanto a consumo. Se ha de tener en cuenta que una de las ventajas de los SoC en cuanto a consumo es que al tener extremadamente cerca el cableado de comunicación entre componentes entonces el consumo energético por dicha comunicación es mucho más bajo. En realidad lo que consume más en un sistema son las interfaces externas a memoria u otros componentes. El motivo por el cual en los smartphones se tira de chips con todos los elemento unificados es porque toda interfaz de comunicación externa entre dos componentes acaba consumiendo mucho más energia que la implementación unificada en un solo chip.

El otro punto importante en el benchmark es la memoria, en el PC simulado tenemos las siguientes diferencias respecto a lo que va a ser una consola. El primero de ellos es que estamos comparando una arquitectura no unificada en cuanto a memoria física con una unificada en cuanto a memoria física. El motivo de ello es que la CPU en el PC esta asignada a dos módulos DDR4 que en consolas por reducción de costes no estarán.

Fuera del añadido de las interfaces GMI2 para comunicar el CCD (compuesto por 2 CCX) de manera externa, en realidad la comunicación con el Data Fabric/Infinity Fabric es exactamente igual que con los Zen de primera generación como he comentado infinidad de veces.

En realidad la naturaleza del uncore que es la parte que comunica los diferentes componentes entre si, sigue siendo la misma entre los diferentes chips basados en las CPUs de la familia Zen y sus evoluciones. Lo importante es que el Data Fabric/Uncore se comunica en el caso de los Ryzen con un bus de 32 Bytes/s (256 bits) a la velocidad del memclk de la memoria utilizada en el sistema.

Deamoncleaer no nos ha dado información del tipo de memoria utilizado, sabemos que tienen que ser dos módulos DDR4 y dado que el bus del RX 3700X al igual que el resto es de 128 bits tenemos las siguientes posibilidades en cuanto a al velocidad de la memoria en el sistema.

GbpsAncho de banda
160025.6 GB/s
186629.9 GB/s
213334.1 GB/s
240038.4 GB/s
266742.7 GB/s
293346.9 GB/s
320051.2 GB/s

¿Como es que es importante esto? Pues el hecho de que en la consola final la memoria GDDR6 unificada tendrá que absorber todos los anchos de banda incluyendo el de la GPU misma y es la única cifra de referencia que tenemos con sus 448 GB/s de ancho de banda.

Pero hay un elemento que tenemos que tener en cuenta que es el ancho de banda que va hacía la memoria NVM (SSD) ya que sabemos que AMD va a adoptar en las dos consolas el mismo concepto que vimos en Vega que le permite a la GPU (en PC) acceder a la RAM del sistema y la memoria NVM a través de husmear el bus PCI express.

La diferencia es que aquí no haría falta para acceder a la RAM del sistema desde el momento en que estaría unificada pero si que se utilizaría para acceder al Disco Duro SSD y esto va consumir ancho de banda, lo más seguro es que una interfaz PCIe 4.0 de 4 nodos, lo que son unos 8GB/s.

El otro punto es el Southbridge, heredado de las anteriores consolas consumen unos 4GB/s de ancho de banda. Dado que las siguientes consolas van a ser compatibles hacía atrás en cuanto a periféricos no podemos dejar de lado que tanto Sony como Microsoft re-integren el actual Southbridge de Xbox One y PS4 en Scarlett y PS5 respectivamente.

El otro punto de referencia que tenemos es el vídeo del teaser de Xbox Scarlett donde muy de pasada se ve como se utiliza memoria GDDR6 a 14Gbps y en una configuración muy superior a los 8 chips (256 bits) pero que no queda clara si son 10 chips (320 bits) o 12 chips (384 bits) por la posición de los chips.

Pero el hecho de utilizar memoria GDDR6 de 14Gbps en los prototipos no significa que esa sea la velocidad de la memoria sino que parten de esos chips de memoria y pueden ir bajando velocidad y voltaje a los chips de memoria. El caso es que teniendo en cuenta todas las variables que he comentado nos tiene que salir una configuración que cumpla con los siguientes requisitos:

  • Tenga en cuenta el ancho de banda de la unidad SSD.
  • Tenga en cuenta el ancho de banda del Southbrige.
  • El ancho de banda de la GPU sea de 448GB/s o una cifra extremadamente cercana.
  • El ancho de banda para la CPU equivalga a cualquiera de las velocidades de la DDR4 en el PC.

Empezando por una configuración 320 bits y tirando hacia abajo de 0.1 Ghz en 0.1 Ghz he obtenido la siguiente tabla.

GbpsmemclkTotalCPUSSD+SBGPU
141.755605612492
13.91.737555655.612488.4
13.81.72555255.212484.8
13.71.712554854.812481.2
13.61.754454.412477.6
13.51.68755405412474
13.41.67553653.612470.4
13.31.662553253.212466.8
13.21.6552852.812463.2
13.11.637552452.412459.6
131.6255205212456
12.91.612551651.612452.4
12.81.651251.212448.8

Bajando la velocidad de la memoria hasta los 12.8 GB/s obtenemos una configuración muy parecida a la que tendríamos en el posible PC de la simulación o casi igual, un sistema que nos daría los mismos resultados y/o muy cercanos.

Ya para terminar, en cuanto al tema del Raytracing, que aunque es un off-topic dentro de la entrada, hemos de tener en cuenta que su implementación en RDNA no es más que un pequeño cambio en la unidad de texturas que al mismo tiempo son una pequeña parte de cada Compute Unit.

Lo digo porque ese pequeño cambio se puede hacer sin necesidad de cambiar el resto de la GPU y del sistema y diría que este cambio fue el que llevo a que se cambiara el código de la GPU de manera tan rápida de un modelo de Ariel/Gonzalo a otro, otorgando la capacidad de «Raytracing» por hardware.

Esto es todo, como siempre tenéis el Discord y los comentarios de la misma entrada para comentar el contenido de la misma.