ARMv9, ensemble de registres et instructions pour les processeurs non x86

Il ya quelques semaines, BRAS introduit la neuvième génération de l'ensemble de registres et d'instructions utilisés dans les processeurs avec l'ISA du même nom. ARMv9 est le nom sous lequel la nouvelle version de cet ISA a été baptisée, qui sera utilisée dans les futurs SoC pour les appareils PostPC. Qu'est-ce qu'ARMv9 et quelles sont les nouveautés des versions précédentes, à quoi ressembleront les futurs processeurs ARM ?

Un ISA n'est rien de plus que le langage compris par les différents processeurs et marque donc la signification de l'ensemble des uns et des zéros dans le code qu'ils exécutent. Le binaire pour un x86 CPU n'a pas la même signification que le binaire pour un CPU ARM par exemple.

ARMv9

Cependant, l'avancement de la technologie rend nécessaire l'ajout de nouvelles instructions aux ISA, ce qui leur donne la possibilité d'ajouter de nouvelles fonctionnalités pour augmenter leurs performances, la sécurité lors du traitement des données ou pour faire face aux nouveaux défis qui leur sont présentés.

Dans cet article, nous allons parler de la neuvième génération de l'ISA ARM, qui après des années visant les processeurs et les microcontrôleurs à faible consommation ont décidé d'être plus ambitieux et d'entrer sur le marché qui nécessite les performances les plus élevées, celle des centres de données et des performances élevées. informatique ou HPC.

Extensions vectorielles évolutives 2

SVE ARMv9

Le japonais Fujitsu a créé pour son cœur ARM une série d'extensions propriétaires appelées SVE, qui signifie Scalable Vector Extensions. D'après son nom, vous avez peut-être deviné que nous parlons d'un ensemble d'instructions SIMD. N'oublions pas que dans les processeurs avec ISA ARM pendant des années, les instructions Neon ont été utilisées. Ce qui sera remplacé par les instructions SVE2 dans ARMv9.

SVE a été créé par Fujitsu pour son supercalculateur Fugaku, qui utilise ses cœurs A64-FX. L'intention? Tirez parti du parallélisme des données requis par le calcul scientifique, qui utilise des nombres de plus haute précision. Cela se traduit par des unités SIMD beaucoup plus grandes et donc plus de bits.

Étant donné que l'intérêt d'ARM est d'amener leurs cœurs sur le marché du calcul haute performance et des serveurs, ils ont décidé d'adopter SVE et de le fusionner avec Neon pour créer SVE2. Le plus gros avantage que SVE ajoute à Neon ? Ce sont des instructions indépendantes de la taille, il n'est donc pas nécessaire d'avoir une version de chaque instruction pour différentes tailles comme c'est le cas avec les instructions AVX sur x86.

Domaines de mémoire dans ARMv9

reinos ARMv9

Un concept intéressant que l'ISA ARMv9 ajoute à l'équation est le concept de royaumes, qui consiste à pouvoir participer à l'adressage de la mémoire et à faire en sorte que le code qui y est exécuté n'affecte pas le reste du système, il est donc totalement isolé. Ce qui est idéal pour la mise en œuvre de machines virtuelles où un système d'exploitation s'exécute en même temps qu'un autre sur le même CPU.

Normalement, les processeurs ont différents niveaux de privilèges, mais avec le concept de domaine qui a été ajouté dans ARMv9, il sera possible d'exécuter plus facilement des machines virtuelles en cours d'exécution sur un processeur avec ARM ISA, mais les avantages de cela ne se limitent pas seulement aux machines virtuelles, mais peut également être utilisé dans des applications spécifiques.

Ainsi, ARMv9 semble être une extension de l'ISA mieux préparée pour les centres de données et autres types d'ordinateurs où la virtualisation et la sécurité sont beaucoup plus importantes que les autres fonctionnalités. Sans surprise, ARM mène une guerre contre Intel à ces émotions et de AMD sur le marché des CPU pour serveurs, où les processeurs x86 dominaient jusqu'à présent le marché.

Extensions de marquage de mémoire

Extensions de marquage de mémoire ARM

Ils ne sont pas nouveaux pour ARMv9, mais plutôt pour la version 8.5. Son utilité ? C'est un mécanisme chargé de garder une trace de tous les accès mémoire illégaux effectués par les programmes. Un accès illégal n'est rien de plus qu'un accès à une adresse mémoire à laquelle le programme n'a pas la permission d'accéder. A quoi ça sert ? Comme il sert à éviter ce que l'on appelle le débordement de la mémoire tampon, un problème de sécurité commun à tous les processeurs qui se produit lorsque la quantité de données copiées dépasse la réserve mémoire, écrivant du code inattendu dans les adresses mémoire voisines.

Si le débordement de mémoire réussit, le code d'origine sera remplacé par un nouveau code en mémoire, qui sera exécuté par le CPU dès qu'il atteint la mémoire. Il est donc important d'éviter cela, surtout si nous parlons de centres de données qui ont tendance à servir des millions d'utilisateurs en même temps et où un débordement de tampon peut être utilisé pour voler des données utilisateur compromises.

Le MTE ne fait pas partie de l'ISA lui-même, mais est un mécanisme implémenté dans le Northbridge des CPU ARMv9 qui suit tous les accès mémoire et dont la fonctionnalité est d'éviter les débordements de mémoire de manière transparente.

ARMv9 uniquement pour les centres de données et les serveurs ?

Centre de données

Les nouveautés de l'ISA ARMv9 que nous avons décrites dans les sections précédentes ont un caractère spécifique marqué et n'ont rien à voir avec l'utilisation dans les appareils classiques dans lesquels l'ISA ARM est habituellement vu. De tous, il appelle le SVE puissamment, car l'une des raisons pour lesquelles vous ne voyez généralement pas de grandes unités SIMD dans les processeurs pour les appareils PostPC est l'énorme consommation d'énergie que leur utilisation suppose.

Pour le moment, les deux seuls cœurs annoncés par ARM sont deux de la famille Neoverse. D'un côté le NeoVerse V1 sous le nom de code « Zeus » et de l'autre le Neoverse N2 sous le nom de code « Perseus ». Ce ne sont pas des cœurs que vous allez voir dans un futur smartphone, mais dans les datacenters et serveurs de calcul haute performance d'entreprises comme Amazon AWS, Oracle, Tencent, Google, etc.

ARM n'a pas encore annoncé de noyau pour les appareils PostPC tels que les smartphones et les tablettes. Bien que nous ne puissions pas oublier que l'objectif d'ARM est de supplanter le x86 sur divers marchés, non seulement sur les serveurs, mais aussi sur le PC. L'achat par NVIDIA et sa grande influence sur le marché des jeux vidéo sur PC pourrait entraîner l'arrivée de PC de jeu avec ARM et GPU NVIDIA, bien que ce soit un avenir qui nécessitera beaucoup de soutien de la part des développeurs de jeux vidéo et non de NVIDIA-ARM lui-même.