Blog Personal.

Uncategorized

Xbox Series X (III): SoC y CPU.

El siguiente punto a destacar es el SoC y de entrada ha habido una comida de cuervo masiva por parte de todo el mundo.

El tamaño del SoC no son los más de 400mm^2 que se decían hace poco, sino que es de 360mm^2, lo que lo coloca en el mismo tamaño exacto que los SoCs de Xbox One (28nm)…

… y Xbox One X (16nm).

Lo que es realmente sorprendente es que con solo 109mm^2 respecto a Navi 10/RDNA que mide 251mm^2 la gente de Microsoft y de AMD haya podido colocar:

  • 16 CUs ( 8 WGP) más en la GPU, esto sin contar la unidad de interseccion para el trazado de rayos.
  • 2 CCX Zen 2 (4 núcleos por cada uno)
  • 1 Controlador GDDR6 de 64 bits adicional.

El truco esta en lo que he explicado en la entrada anterior con la memoria y el tamaño del Uncore/Data Fabric. De haber tirado por la opción de ampliar este para disminuir la contención entonces los demás componentes se hubiesen visto afectados negativamente, especialmente la GPU que tendría una configuración menor en cuento a la cantidad de CUs/WGPs.

La CPU

No tiene ningún secreto, es Zen 2… La cual es un salto importante desde los raquíticos AMD Jaguar de Xbox One y Xbox One X.

No voy a entrar a comentar la arquitectura, hay montonés de articulos sobre ello y quiero ir al grano, que la gente entienda en que se traduce el cambio de arquitectura.

En cada generación de consolas la norma general era que la CPU fuese 10X respecto a la anterior,pero eso no paso en la generación anterior donde el salto fue realmente bajo. En todo caso el salto más importante se produjo de los 16 bits a los 32 bits, donde se pasaron de CPUs con 1 MIPS a CPUs con varias decenas de MIPS. luego se fueron dando saltos más o menos grandes hasta la anterior donde el salto fue menor pero tampoco pauperrimo, lo que ocurre es que tradicionalmente las consolas en cuanto a CPU han sido siempre anémicas en comparación con el PC.

En toda la historia solo hubo una consola con una CPU al nivel de las de PC, esa fue la primera Xbox y ahora, más de 15 años después nos encontramos en la misma situación. Una consola sin una CPU raquitica comparada con las de PC por lo que…

El ratio de rendimiento por ciclo de reloj por lo general es de 2X de Jaguar a Zen2… ¿Pero cual es la velocidad de reloj? Tenemos dos configuraciones distintas.

Esto se traduce en un rendimiento de media 4 veces superior de media. El hecho de que la CPU sea cuatro veces más potente significa que de media puede hacer lo mismo en 1/4 parte del tiempo o 4 veces más cosas en el mismo tiempo. Y si, es una forma muy simple de decirlo, pero el salto de la generación anterior en cuanto a CPU fue patético y se intento justificar con la idea de… «Para ello utiliza computación en la GPU» lo que significaba recortar en gráficos, la solución de la computación en la GPU sacrificando rendimiento de esta no fue muy bienvenida en consolas, especialmente porque en PC las CPUs han sido lo suficientemente rápidas para no necesitar el parche de la computación via GPU para ello.

En cuanto a la asignacion de los recursos, la diapositiva de Digital Foundry es confusa, el primer núcleo (Core 0 a partir de ahora) funciona de manera aislada a los otros 7, siempre a velocidad completa y es el encargado de ejecutar el sistema operativo en su hilo correspondiente, aparte de ser el núcleo con más privilegios por lo que: es el único con permiso y potestad para acceder al espacio de 2.5GB de RAM correspondiente al sistema por lo que todas las operaciones en dicho espacio se realizan desde el Core 0.

Los otros 7 núcleos se pueden configurar como quieran los desarrolladores, si el multihilo (SMT) no esta activo pueden llegar a los 3.8 Ghz, se ha de tener en cuenta que los juegos de la familia Xbox One utilizan solo 8 hilos y la consola en general esta en ese modo, el modo multihilo solo se activa en el caso de que estemos ejecutando un juego de Xbox Series X. Por otro lado los 3.6 Ghz con multihilo(16 en total) dan mejor rendimiento pero los juegos de Xbox One y Xbox One X no los utilizan.

La configuración de la CPU es la estándar, unos 2 CCX compuestos cada uno por 4 núcleos, sus caches L1 y L2 junto a la cache general para todos ellos que es la Cache L3.

A nivel de nucleo Zen tenemos:

  • 64KB de Cache L1.
  • 512KB de Cache L2

Por lo que entre los 8 núcleos tenemos unos 4.5MB de Cache solo entre la Cache L1 y la Cache L2.

Para ahorrar espacio en el SoC es posible que Microsoft haya optado por una cantidad menor de cache L3. Tenemos diferentes configuraciones de la Cache L3 del Zen 2, el Zen de la gama Ryzen 3000 tiene unos 16MB por CCX, pero los del Ryzen 4000 (Renoir) que son los SoC a 7nm son de 4MB. La configuración que tiene más números de ser es la de 4MB. ¿Es posible que Microsoft haya incluido una Cache L3 más grande de la esperada? Bueno, no descarto una de 8MB por CCX, pero la de 4MB tiene más números y la de 16MB ninguno debido al tamaño que ocuparía en el SoC.

Microsoft no ha dado información de la cache L3 pero es posible que estén utilizando los mismos núcleos que en la serie 4000 aka Renoir que tienen unos 4MB de Cache L3 por CCX en vez de los 16MB. Pero no lo sabemos para nada y hay una cifra revelada por Digital Foundry en cuanto al total de SRAM en el SoC bastante alta, unos 76MB incluyendo todos los elementos de la misma, pero no sabemos como se distribuye.

¿La conclusión? En esos 76MB Microsoft ha contado la memoria incluida en los aceleradores, la GPU… es decir, de todos los componentes del SoC

Se ha de agradecer que Microsoft no limite la velocidad de la CPU en los modos Xbox One y Xbox One X por lo que tienen toda la potencia de la CPU para ellos, lo que ya sin contar la GPU más potente es una reducción enorme del tiempo de fotograma.

Es solo por el cambio de la CPU que si teneis pensado compraros una Xbox One X en unos meses mi recomendación es que os esperéis y opteis por esta consola, solo por el cambio de rendimiento de la CPU y sus consecuencias ya merece la pena el cambio, Cais a ver como muchos juegos que tienen un cuello de botella enorme por culpa de los AMD Jaguar de las Xbox One dan un salto importante de rendimiento en forma de un aumento considerable de la tasa de fotogramas y no solo por parte de la GPU más potente sino de la CPU también gracias al increible salto que ha habido. No en vano, en la generación que hay ahora,los juegos intensivos de CPU tienen un rendimiento pésimo que acaba lastrando enormemente el tiempo de renderizado y siendo un cuello de botella enorme en el proceso. Solo los juegos con una baja complejidad en ese aspecto no resultan en un problema de rendimiento en la actual generación.

Otra mejora fácilmente entendible es la de la potencia en coma flotante, Jaguar utilizaba unidades SIMD de 128 bits, ahora las tenemos de 256 bits por lo que la potencia en coma flotante por ciclo de reloj se ha duplicado también respecto a la actual generación. Las unidades SIMD tradicionalmente se han utilizado para las físicas de los juegos, aunque es posible utilizar el pipeline de computación de la GPU para ello para los desarrolladores resulta más fácil y menos engorroso tirar de CPU para ello, por lo que cuando la CPU tiene la suficiente potencia para hacer tu tarea no tiran de otras unidades.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

0 0 vote
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Malatraca

Gracias siempre por estos interesantes artículos. Lo de la memoria RAM , me ha sorprendido tanto por la cantidad,como por estar claramente separada – gpu y cpu-. Y por fin una CPU de verdad. No se si lo sabes pero mañana 17 de Marzo a las 17:00 de España , Sony presentará Ps5 . Saludos 🖐

Isaac

Cuando leí el meme te juro que escuché el coro cantando ¡Aleluya! Cuando se estaba diseñando ps4/xbox one, se creia que el computo en GPU era la gran solución e invertir en CPU era innecesario.La realidad contesto como Kratos: that is where you are wrong Aclaraste lo de la SPRAM, ya te iva a preguntar una estupidez.Si podia ser que estuviera con un interposer para suplir la misera cache L3, como las caches por fuera de las CPUs en PC de los dinosaurios Me gustó lo que mostró Micro.Pero lo mejor fué la imagen donde pusieron la heladera como referencia… Read more »