L'architecture ARMv9 apporte SVE2 et de nouvelles fonctionnalités de sécurité

La plus grande révision par ARM de son architecture de jeu d'instructions depuis une décennie est ici - ARMv9 - avec SVE2 intégré et d'autres fonctionnalités de sécurité.

Plus tôt dans la journée, dans le cadre de son événement Vision Day, ARM a divulgué quelques détails sur sa nouvelle architecture ARMv9, qui, selon la société, sera utilisée dans plus de 300 milliards de puces au cours de cette décennie.

La dernière révision majeure de l'ISA d'ARM était la v8, introduite en octobre 2011 avec le jeu d'instructions AArch64 64 bits. Cependant, ARM a étendu ARMv8 au fil des ans avec de nouvelles fonctionnalités telles que le marquage de mémoire dans ARMv8.5. Avec ARMv9, l'entreprise est continuant à utiliser AArch64 comme jeu d'instructions de base, mais l'a étendu avec de nouvelles fonctionnalités visant à améliorer la sécurité et performance.

Selon ARM, voici les nouveautés majeures de l'architecture ARMv9-A :

  • SVE2: étendre les avantages des vecteurs évolutifs à de nombreux autres cas d'utilisation
  • Extension de gestion de domaine (RME) : étendre les plates-formes Confidential Compute on Arm à tous les développeurs.
  • BRBE: fournissant des informations de profilage, telles que Auto FDO
  • Extension de trace intégrée (ETE) et Extension du tampon de trace (TRBE): capacités de trace améliorées pour Armv9
  • TME: prise en charge matérielle de la mémoire transactionnelle pour l'architecture Arm
Source: BRAS. Via: AnandTech.

Pour une analyse plus approfondie des changements de haut niveau apportés par ARMv9, je vous recommande de lire le rapport d'Andrei Frumusanu sur AnandTech, mais je vais vous fournir un résumé des principaux changements dont vous devez être conscient.

NEON succède à SVE2

NEON est une extension avancée de l'architecture SIMD (Single Instruction Multiple Data). SIMD fait ici référence à une seule instruction opérant sur plusieurs éléments de données en parallèle. Ces éléments de données sont organisés en registres contenant des vecteurs de bits.

Scalable Vector Extensions, ou SVE, est une extension d'ARMv8.2 ou version ultérieure qui étend le traitement vectoriel capacité d'AArch64 à répondre aux exigences informatiques des tâches et des machines de calcul haute performance (HPC) apprentissage. Surtout, il permet également des longueurs de registre vectoriel comprises entre 128 et 2 048 bits. Du point de vue du développement logiciel, l'avantage d'une longueur de registre vectoriel variable est que le code ne doit être compilé qu'une seule fois pour tirer pleinement parti des futurs processeurs dotés de registres vectoriels plus longs. De même, ce code peut également être exécuté sur des processeurs dotés de moins de pipelines d’exécution SIMD, tels que ceux des appareils IoT.

Comme SVE était davantage destiné aux charges de travail HPC et n'était pas non plus un jeu d'instructions aussi polyvalent que NEON, ARM a introduit SVE2 début 2019 pour résoudre ces problèmes. SVE2 a ajouté de nouvelles instructions ciblant les charges de travail DSP qui reposent toujours sur NEON. Désormais, avec ARMv9, SVE2 succède à NEON en tant que fonctionnalité de base des processeurs ARMv9.

Améliorations de l'apprentissage automatique

ARM prévoit que les charges de travail d'apprentissage automatique deviendront de plus en plus populaires au cours de la prochaine décennie. C'est pourquoi révisions précédentes d'ARMv8 introduit de nouvelles instructions de multiplication matricielle. Il s'agira de fonctionnalités de base des processeurs ARMv9, permettant à des charges de travail ML de plus petite portée de s'exécuter directement sur le processeur plutôt que sur des accélérateurs dédiés. De toute évidence, l’exécution de charges de travail ML sur des accélérateurs dédiés est souhaitée lorsque l’on préfère des performances rapides ou une efficacité énergétique, mais il n’est pas toujours possible de le faire sur tous les matériels.

Source: BRAS. Via: AnandTech.

Architecture de calcul confidentielle d'ARMv9

Dans le but d'améliorer la sécurité, ARMv9 introduit une nouvelle architecture de calcul confidentielle (CCA). Comme AnandTech explique que le CCA d'ARM s'éloigne de la situation actuelle de la pile logicielle dans laquelle les applications sécurisées exécutées sur un appareil doivent faire confiance au système d'exploitation et à l'hyperviseur sur lesquels elles s'exécutent. Le modèle de sécurité actuel repose sur le fait que des niveaux de logiciels plus privilégiés peuvent surveiller les l'exécution de niveaux logiciels moins privilégiés, ce qui peut être problématique lorsque le système d'exploitation ou l'hyperviseur est compromis.

La manière dont CCA résout ce problème consiste à créer dynamiquement des « domaines », qui sont des environnements d'exécution conteneurisés sécurisés et opaques pour le système d'exploitation ou l'hyperviseur. Les applications au sein des « domaines » peuvent attester de leur fiabilité auprès d'un « gestionnaire de domaine », un code qui ne représente qu'une fraction de la taille d'un hyperviseur, qui est désormais seul responsable de l'allocation et de la planification des ressources. L'avantage de l'utilisation de « domaines » est que la chaîne de confiance est réduite, ce qui permet applications à exécuter sur n'importe quel appareil, quel que soit le système d'exploitation sous-jacent, qui sera transparent pour les problèmes de sécurité.

Source: BRAS. Via: AnandTech.

Selon AnandTech, ARM n'a pas détaillé exactement comment les "domaines" sont séparés du système d'exploitation et de l'hyperviseur, mais ils spéculons que cette séparation provient d'espaces d'adressage basés sur le matériel qui ne peuvent pas interagir avec l'un l'autre.

Futures conceptions de CPU et GPU ARM

Bien que cela ne soit pas directement lié à ARMv9, ARM a partagé ses attentes en matière de performances projetées pour les futures conceptions de processeurs basées sur la v9. Au cours des deux prochaines générations de conceptions principales d'IP mobile, ARM s'attend à un gain total de 30 % en termes de performances IPC. Cela signifie que l'augmentation réelle des performances d'une génération à l'autre s'élève à environ 14 %. AnandTech explique. De toute évidence, le taux d’amélioration a quelque peu ralenti par rapport aux années précédentes.

Nous avons vu comment les implémentations de processeurs par des sociétés comme Qualcomm, Samsung et Huawei n'atteignent pas les projections de performances attendues. de nouvelles conceptions de cœurs ARM, un fait qu'ARM souligne dans une diapositive qui détaille comment les performances du processeur peuvent être améliorées en améliorant le chemin mémoire, les caches ou les fréquences.

Source: BRAS. Via: AnandTech.

Néanmoins, ARMv9 promet d’apporter des améliorations bienvenues aux performances, à la sécurité et à l’apprentissage automatique lorsque de nouveaux processeurs basés sur l’ISA seront livrés dans les appareils commerciaux début 2022.

Quant aux futurs GPU Mali, ARM a révélé qu'il travaillait sur des technologies telles que le variable rate shading (VRS) et le ray tracing. Ces fonctionnalités sont devenues populaires parmi le matériel GPU PC haut de gamme et la neuvième génération de consoles de jeux vidéo telles que La PlayStation 5 de Sony et Xbox Series X/S de Microsoft.

Source: BRAS. Via: AnandTech.

Crédits image en vedette: ARM via AnandTech