Cela faisait près de 10 ans qu’Arm avait annoncé pour la première fois l’architecture Armv8 en octobre 2011, et ce fut une décennie d’informatique assez mouvementée alors que l’architecture du jeu d’instructions a vu une adoption accrue de l’espace mobile vers l’espace serveur, et commence maintenant à devenir courante dans le marché des appareils grand public tels que les ordinateurs portables et les machines de bureau à venir. Au fil des années, Arm a fait évoluer l’ISA avec diverses mises à jour et extensions de l’architecture, certaines importantes, d’autres peut-être consultées facilement.

Aujourd’hui, dans le cadre de l’événement Arm’s Vision Day, la société annonce les premiers détails de la nouvelle architecture Armv9 de la société, jetant les bases de ce qu’Arm espère être la plate-forme informatique pour les 300 milliards de puces à venir au cours de la prochaine décennie.

La grande question que les lecteurs se poseront probablement est de savoir ce qui différencie exactement Armv9 de Armv8 pour justifier un si grand saut dans la nomenclature ISA. Honnêtement, d’un point de vue purement ISA, la v9 n’est probablement pas un saut aussi fondamental que la v8 l’était par rapport à la v7, qui avait introduit un mode d’exécution et un jeu d’instructions complètement différents avec AArch64, qui avait des ramifications microarchitecturales plus importantes que AArch32, telles que les registres étendus, 64 -bits espaces d’adressage virtuels et bien d’autres améliorations.

Armv9 continue d’utiliser AArch64 comme jeu d’instructions de base, mais ajoute quelques extensions très importantes dans ses capacités qui justifient un incrément dans la numérotation de l’architecture, et permettent probablement à Arm de réaliser également une sorte de re-baselining de logiciel non seulement le nouvelles fonctionnalités v9, mais aussi les différentes extensions v8 que nous avons vu sortir au fil des ans.

Les trois nouveaux principaux piliers d’Armv9 qu’Arm considère comme les principaux objectifs de la nouvelle architecture sont la sécurité, l’IA et l’amélioration des capacités vectorielles et DSP. La sécurité est un très gros sujet pour la v9 et nous entrerons un peu plus en détail dans les nouveaux détails des nouvelles extensions et fonctionnalités, mais éliminer d’abord les fonctionnalités DSP et AI devrait être simple.

La plus grande nouvelle fonctionnalité promise avec les nouveaux processeurs compatibles Armv9 qui sera immédiatement visible pour les développeurs et les utilisateurs est probablement la base de SVE2 en tant que successeur de NEON.

Les extensions vectorielles évolutives, ou SVE, dans sa première mise en œuvre, ont été annoncées en 2016 et mises en œuvre pour la première fois dans les cœurs de processeur A64FX de Fujitsu, alimentant désormais le supercalculateur n ° 1 mondial Fukagu ​​au Japon. Le problème avec SVE était que cette première itération du nouveau jeu d’instructions SIMD à longueur de vecteur variable avait une portée plutôt limitée et visait davantage les charges de travail HPC, manquant de nombreuses instructions plus polyvalentes qui étaient encore couvertes par NEON.

SVE2 a été annoncé en avril 2019 et cherchait à résoudre ce problème en complétant le nouveau jeu d’instructions SIMD évolutif avec les instructions nécessaires pour servir des charges de travail plus variées de type DSP qui utilisent encore NEON.

L’avantage de SVE et SVE2 au-delà de l’ajout de diverses capacités SIMD modernes réside dans leur taille de vecteur variable, allant de 128b à 2048b, permettant une granularité variable de 128b de vecteurs, indépendamment de ce sur quoi le matériel réel fonctionne. Du seul point de vue du traitement vectoriel et de la programmation, cela signifie qu’un développeur de logiciel n’aurait à compiler son code qu’une seule fois, et si à l’avenir un processeur sortait avec, par exemple, des pipelines d’exécution natifs de 512b SIMD, le code serait capable de profitez déjà de toute la largeur des unités. De même, le même code pourrait fonctionner sur des conceptions plus conservatrices avec une capacité d’exécution matérielle plus faible, ce qui est important pour Arm car ils conçoivent des processeurs de l’IoT, au mobile, en passant par les centres de données. Il fait également tout cela tout en restant dans l’espace de codage 32b de l’architecture Arm, alors que des implémentations alternatives telles que sur x86 doivent ajouter de nouvelles extensions et instructions en fonction de la taille du vecteur.

L’apprentissage automatique est également considéré comme une partie importante d’Armv9, car Arm voit de plus en plus de charges de travail ML devenir monnaie courante dans les années à venir. L’exécution de charges de travail ML sur des accélérateurs dédiés restera naturellement une exigence pour tout ce qui est critique en termes de performances ou d’efficacité énergétique, mais il y aura toujours une nouvelle adoption massive de charges de travail ML de plus petite portée qui s’exécuteront sur des processeurs.

Les instructions de multiplication de matrices sont essentielles ici et représenteront une étape importante pour voir une adoption plus large à travers l’écosystème comme une fonctionnalité de base des processeurs v9.

En général, je vois SVE2 comme probablement le facteur le plus important qui justifierait le passage à une nomenclature v9 car il s’agit d’une fonctionnalité ISA plus définitive qui le différencie des processeurs v8 dans l’utilisation quotidienne, et cela justifierait que l’écosystème logiciel disparaisse. diverger de la pile v8 existante. C’est en fait devenu un problème pour Arm dans l’espace serveur car l’écosystème logiciel est toujours en train de baser les packages logiciels sur la v8.0, qui manque malheureusement les très importantes extensions système v8.1.

Avoir l’ensemble de l’écosystème logiciel aller de l’avant et être capable de supposer que le nouveau matériel v9 a la capacité des nouvelles extensions architecturales aiderait à faire avancer les choses et à probablement résoudre une partie de la situation actuelle.

Cependant, la v9 ne concerne pas seulement SVE2 et les nouvelles instructions, elle met également l’accent sur la sécurité, où nous assisterons à des changements plus radicaux.