Zen 4c de AMD y el secreto «no contado» de su rendimiento
La gente de Chips and Cheese ha escrito un excelente artículo acerca de Bergamo, la CPU para servidores que utiliza el núcleo Zen 4c de AMD, es decir, la versión compacta y de alta densidad de Zen 4. El objetivo de estos núcleos es competir por área más que por rendimiento y, oficialmente, lo que hacen es sacrificar velocidad de reloj a cambio de ocupar menos espacio, permitiendo colocar más núcleos en el mismo área. No obstante, una de las afirmaciones de la empresa de Lisa Su es que el IPC respecto al núcleo estándar no se ve afectado.
Índice de contenidos
Un repaso a lo que son los núcleos Zen 4c
El artículo hace bien de recordarnos como el CCD de Zen 4c (9000 millones de transistores) y el de Zen 4 estándar (6570 millones de transistores) varían por completo. El primero mide 73 mm2 mientras que el segundo 66.3 mm2. Eso sí, el grupo de núcleos compactos agrupa 16 núcleos con 32 MB de caché L3 en una configuración de 2 clústeres simétricos. En cambio el modelo estándar agrupa un solo clúster de 8 núcleos con 32 MB de caché de tercer nivel.
De entrada esa diferencia en la cantidad de caché L3 debería, por lógica, afectar al rendimiento de los núcleos Zen 4c frente a los Zen 4. Esto es algo que ocurre en cualquier arquitectura, ya hablemos de una CPU o cualquier otro chip. La consecuencia más clara es que menos caché de último nivel supone que los accesos a la memoria RAM aumentan y con ello la latencia por instrucción, lo que supone una reducción del rendimiento por ciclo.
Es decir, en situaciones donde la caché L3 de 16 MB de cada uno de los clústeres de Zen 4c, los cuales recordemos que es privada de estos y no compartimos, resulta suficiente es cuando la capacidad de trabajo por ciclo de reloj es idéntica, por lo que la afirmación de AMD es una media verdad. Sin embargo, esto ya era algo que se podía intuir con lo que conociamos.
¿Cómo afecta el recorte de Caché L3?
Del artículo lo que nos interesa en verdad son las pruebas de rendimiento que han hecho a los núcleos Zen 4c de Bergamo. Para ello han hecho que todos los chips funcionen a la misma velocidad, a 3.1 GHz. Aparte de ello han dejado activo un solo CCD Eso sí, hay que tener en cuenta que el chiplet con Zen 4c utiliza 16 núcleos, lo que supone una ventaja en ciertas cargas de trabajo. Por ejemplo, en la prueba de Libx264 gracias a ello consigue un 69.4% de rendimiento.
No obstante, lo que a la gente de Chips and Cheese les interesa es la cantidad de aciertos en la caché L3 en las diferentes configuraciones. El vencedor es obviamente la versión X3D y sus 96 MB gracias a la V-Cache, consiguiendo un 73.12% de acierto, frente a los 64.26% del modelo estándar y los solo 56.72% del chiplet con núcleos Zen 4c.
Otra prueba que han realizado es descomprimiendo un archivo de 2.67 GB de tamaño en formato 7Zip, y de nuevo se ha visto el talón de Aquiles de los Zen 4c. Por su mayor cantidad de núcleos ha sido capaz de descomprimir a un ratio mucho más alto que el resto, pero de nuevo una menor cantidad de L3 afecta al IPC. Y de paso, y para terminar os recordamos que esto no es exclusivo de Zen 4c, y que bajo cualquier arquitectura, el reducir el último nivel de caché supone perder rendimiento.
¿Nos miente AMD respecto a sus núcleos compactos?
En realidad Zen 4c no se le puede considerar un núcleo alternativo, dado que contiene todos los elementos de Zen 4 en su sitió. Más bien su menor tamaño se debe al recorte de la caché L3 y a una redistribución de los elementos del núcleo, seguramente producto de un nuevo Floorplan creado a través de inteligencia artificial, pero que supone un mayor ahogamiento térmico entre los componentes por el menor espacio entre ellos, de ahí el recorte en velocidad de reloj.
En todo caso, hay que tener en cuenta, que mientras que podemos hacernos una idea del IPC a través de la media de instrucciones retiradas, y, por tanto, completadas con éxito. Tampoco podemos olvidarnos de otros factores que puede afectar al rendimiento del sistema y la organización en la jerarquía de memoria, lo cual incluye las cachés. Es algo muy importante en cualquier microprocesador, dicho esto os recomendamos leer el artículo original, ya que nosotros solo hemos extrapolado y sacado conclusiones de una parte muy pequeña.