top of page
20220530_Trinity_En_Aplus (1)(1).jpg

Los detalles de AMD Zen 5 emergen con el parche "Znver5" de GCC: Nuevas instrucciones AVX, Pipelines más grandes

Foto del escritor: MasterbitzMasterbitz

La próxima familia de procesadores Ryzen serie 9000 de AMD en la plataforma AM5 llevará un nuevo SKU de silicio bajo el capó-Zen 5. La última revisión de la microarquitectura x86-64 de AMD contará con algunas mejoras interesantes respecto a la actual Zen 4 a la que sustituye, con el objetivo de conseguir la rumoreada mejora del 10-15% del IPC. Gracias al último conjunto de parches para GNU Compiler Collection (GCC), tenemos el conjunto de parches que proponen los cambios que tendrán lugar con la habilitación de "znver5". Uno de los añadidos más interesantes del Zen 5 respecto al anterior Zen 4 es la ampliación del conjunto de instrucciones AVX, principalmente nuevas instrucciones AVX y AVX-512: AVX-VNNI, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT y PREFETCHI.


AVX-VNNI es una versión vectorial de 256 bits del conjunto de instrucciones AVX-512 VNNI que acelera las cargas de trabajo de inferencia de redes neuronales. AVX-VNNI ofrece el mismo conjunto de instrucciones VNNI para CPU que admiten vectores de 256 bits pero carecen de las capacidades completas de AVX-512 de 512 bits. AVX-VNNI amplía de forma efectiva las instrucciones VNNI útiles para la aceleración de IA a vectores de 256 bits, lo que hace que la tecnología sea más eficiente. Aunque su alcance es limitado (no hay opmasking ni acceso adicional a registros vectoriales en comparación con AVX-512 VNNI), AVX-VNNI es crucial para extender las mejoras de velocidad de inferencia VNNI a las CPU y aplicaciones del mundo real. La nueva instrucción AVX-512 VP2INTERSECT también está llegando a Zen 5, como se ha señalado anteriormente, que ha estado presente sólo en la generación de procesadores Intel Tiger Lake, y ahora se considera obsoleta para las SKU de Intel. Desconocemos la razón de ser de esta inclusión, pero seguro que AMD tenía un caso de uso para ella.



A continuación, tenemos un diseño de pipeline más grande. La unidad de enteros de Zen 5 tiene seis ALU, frente a las cuatro de Zen 4. La unidad de generación de direcciones (AGU) también es mayor. El número de unidades de generación de direcciones (AGU) también es mayor, pasando de tres a cuatro. Las canalizaciones de almacenamiento de coma flotante se han duplicado y son de 256 bits cada una para gestionar un almacenamiento de coma flotante de 512 bits en un solo ciclo. Algunas otras instrucciones como cmov/setcc y los barajados de coma flotante ahora pueden ser manejados por todas las ALUs en Zen 5, mientras que en Zen 4, sólo era manejado por dos ALUs. Aparentemente, el uArch de Zen 5 maneja ahora la mayoría de las operaciones AVX-512 como un ciclo de canalización de ranura única, en lugar del antiguo bombeo doble, que dividía por la mitad las instrucciones AVX-512 en dos de 256 bits para procesarlas en las ALU de 256 bits de ancho. Por último, el parche señala que, una vez más, no habrá diferencias entre los núcleos Zen 5 y Zen 5c en cuanto a la ISA, al igual que con los núcleos Zen 4 y Zen 4c, en los que estos últimos sólo implementaban cachés más pequeñas.

Fuentes: Phoronix, AnandTech Forums

3 visualizaciones0 comentarios

Comments


Aplus_MARS_2107_Eng(1).png
bottom of page