Las CPU AMD Zen 5 trabajarán con 8 operaciones por ciclo y doble DECODE

Las nuevas CPU de AMD cada vez están más cerca. En la tarde de ayer AMD desveló algunos de los parches de monitoreo para el rendimiento de su nueva arquitectura Zen 5, y entre tanto código se pudo ver algo controvertido por dos motivos. El primero, y siendo el más obvio, AMD Zen 5 trabajará con 8 operaciones por ciclo, y según parece, doble DECODE. El segundo, un posible error tipográfico que tiraría esto por tierra. ¿Verdad o mentira? ¿Realidad o ficción? Vamos a verlo.

Con el objetivo de ir dando compatibilidad a estas CPU dentro del Kernel de Linux 6.8, AMD deslizó partes de su código para los procesadores Zen 5 que están etiquetados como Family 1Ah Model 00h-0Fh. Los archivos JSON para métricas de monitoreo han dejado a más de uno con la ceja levantada cual Ancelotti.

AMD Zen 5: 8 operaciones por ciclo, ¿o siguen en 6?

AMD-Performance-Monitor-AMD-Zen-5

Es la gran incógnita, y es que hemos encontrado una disparidad en los datos que ha aportado AMD, y por lo tanto, no podemos asegurar a ciencia cierta que hablamos de 8 operaciones por ciclo, aunque todo apunta a ello, y nos explicamos.

AMD-Zen-5-8-instrucciones-por-ciclo

Como se puede apreciar en el código que ha desvelado AMD, los de Lisa Su fijan un "total dispatch slots" con hasta 8 instrucciones por ciclo, lo cual repiten en su métrica justo debajo. Por tanto, parece totalmente intencionado sin lugar a dudas.

El problema es que en el PDF adjunto por parte de AMD se puede ver lo siguiente:

AMD-Pipelina-utilización-resumen-Zen-5-instrucciones

Como se puede apreciar, aquí refleja 6 instrucciones, aunque en la ecuación el evento nombrado se multiplicaría por 8. Por tanto, podríamos decir que estamos ante un error tipográfico en el esquema y resumen y que el código debería reflejar la realidad, que no es otra que el hecho de que las CPU AMD Zen 5 trabajarán con 8 operaciones por ciclo.

Se confirmaría así los dos DECODE para la arquitectura

AMD-STEAMROLLER-DUAL-DECODE

Como ya adelantamos a principios de año, AMD volvería a la senda de STEAMROLLER como arquitectura con dos DECODE. En aquel momento era realmente una exageración por parte de los rojos, ya que la arquitectura permitía trabajar con hasta 18 instrucciones por ciclo, con menor número de núcleos, y con unos ratios de fallo en caché de instrucciones demasiado altos para lo que se pretendía.

No hubo forma de paliarlo, la arquitectura fue un desastre en términos de rendimiento y energía, y el resto ya lo sabemos. Por tanto, la "confirmación" de las 8 operaciones por ciclo frente a las 6 de Zen 4 da validez a esta filtración y cambiaría gran parte del Front End y del Back End, pudiendo mantener más ocupadas a las unidades de ejecución si finalmente la L1I pasa a 16 Way para dar trabajo a ambos DECODE.

Zen 4 FrontEnd

Como dijimos en su momento, el Branch Prediction tiene que dar otro paso adelante y es posible que duplique su capacidad de predicción a 4 Taken branches por ciclo, pero todo esto debe de tener una optimización añadida. Los DECODE podrían mantener las 4 instrucciones por ciclo al ser duales, pero la OP Caché debería ascender en número de macro operaciones calculadas por ciclo para mantener el ritmo en el Front End.

Por último, habrá que ver los cambios en Integer y Floating Point, así como los tamaños de I-Cache, D-Cache en L1 y L2, que deberían dar un salto por todo lo comentado. Pero de momento, no tenemos más información filtrada que ofrecer más que pura especulación como hemos visto, habrá que esperar a que se filtren más datos de la arquitectura para ver si estamos en lo cierto.