IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Intel annonce une mise à jour majeure du jeu d'instructions x86 disponible à travers deux séries d'extensions,
Le but est d'améliorer les performances dans une variété de charges de travail

Le , par Mathis Lucas

21PARTAGES

7  0 
Intel a dévoilé cette semaine deux séries d'extensions de l'architecture du jeu d'instructions x86, l'une destinée à améliorer les performances du code général et l'autre à fournir un jeu d'instructions vectorielles commun pour les futures puces. Cette mise à jour élargit l'ensemble du jeu d'instructions x86 en donnant accès à davantage de registres et en ajoutant diverses nouvelles capacités qui améliorent les performances générales. Les extensions sont conçues pour fournir des gains de performance efficaces dans une variété de charges de travail, tout ceci sans augmenter de manière significative la surface de silicium ou la consommation d'énergie du cœur.

Intel a annoncé mercredi deux développements importants, l'Intel Advanced Performance Extensions (Intel APX) et l'Advanced Vector Extensions 10 (Intel AVX10). La première série d'extensions, l'Intel APX, élargit le jeu d'instructions x86 en donnant accès à davantage de registres et à d'autres caractéristiques visant à améliorer les performances générales. L'Intel AVX10 quant à elle est décrite comme une architecture moderne de jeu d'instructions vectorielles qui sera prise en charge par les futurs processeurs Intel. Selon un communiqué d'Intel, l'APX représente ce que l'entreprise présente comme un grand pas en avant pour l'avenir de son architecture.

Sa principale caractéristique est le doublement du nombre de registres à usage général, qui passe de 16 à 32. Le fait d'avoir plus de registres signifie qu'il est moins nécessaire de jongler avec les valeurs, et c'est l'une des façons dont Intel affirme qu'il augmentera les performances. Plus précisément, cela permettra au compilateur de conserver davantage de valeurs dans les registres, de sorte que le code tirant parti de l'Intel APX pourrait nécessiter 10 % de charges en moins depuis la mémoire et potentiellement plus de 20 % de stockages en moins que le même code compilé pour le jeu d'instructions existant, selon le communiqué de l'entreprise.


Cela signifie que l'unité centrale de calcul (CPU) passe plus de temps à effectuer des calculs plutôt qu'à déplacer des données, tandis que les accès aux registres sont également plus rapides et consomment moins d'énergie que les opérations complexes de chargement et de stockage. Selon le communiqué de presse de l'entreprise, dans le cadre de cette amélioration, les nouveaux registres à usage général sont compatibles avec la plateforme XSAVE (Save Processor Extended States), ce qui signifie qu'ils peuvent être automatiquement sauvegardés et restaurés par des séquences XSAVE/XRSTOR lors de changements de contexte.

Une zone XSAVE supplémentaire n'est pas nécessaire pour cela, car les registres utilisent l'espace précédemment alloué aux registres utilisés avec les extensions Intel MPX, aujourd'hui obsolètes. L'Intel APX ajoute également des formes conditionnelles des instructions de chargement, de stockage et de comparaison/test, destinées à lutter contre l'impact sur les performances des applications des erreurs de prédiction des branchements conditionnels. Ces instructions sont mises en œuvre par le biais d'extensions du préfixe EVEX des instructions existantes. Selon l'annonce, les développeurs peuvent tirer parti d'Intel APX en recompilant le code.

Cela ne devrait pas être nécessaire de modifier le code source. La firme de Santa Clara indique : « Intel APX double le nombre de registres à usage général (GPR) de 16 à 32. Cela permet au compilateur de conserver davantage de valeurs dans les registres ; par conséquent, le code compilé par APX contient 10 % de charges en moins et plus de 20 % de mémoires en moins que le même code compilé pour une base Intel 64. Les accès aux registres sont non seulement plus rapides, mais ils consomment également beaucoup moins d'énergie dynamique que les opérations complexes de charge et de mémorisation ».

En ce qui concerne la plateforme d'extensions AVX10, Intel indique qu'il s'agit de la première mise à jour majeure du jeu d'instructions vectorielles depuis l'introduction de l'AVX-512. Il est destiné à fournir un jeu d'instructions vectorielles convergent commun à toutes les architectures Intel et sera donc pris en charge par tous les futurs processeurs, y compris les cœurs de performance (P-cores) et les cœurs à faible consommation d'énergie (E-cores). AVX10 est basé sur le jeu d'instructions Intel AVX-512 et supportera toutes les longueurs de vecteurs d'instructions (128, 256 et 512), ainsi que les instructions scalaires et opmask.

La prise en charge d'un vecteur de 512 bits et de registres opmask de 64 bits continuera d'être proposée sur certains processeurs P-core pour les applications de calcul vectoriel lourdes qui peuvent tirer parti de la longueur de vecteur supplémentaire. Il s'agit de l'Intel AVX10/512. Bien que cela puisse sembler un peu confus, il semble qu'Intel veuille simplifier la prise en charge des instructions vectorielles par les développeurs en ayant un niveau de base de prise en charge sur toutes les puces pour le code qui en bénéficie, tel que le traitement de l'IA. À cette fin, AVX10 introduira également une énumération du jeu d'instructions basé sur la version.

Cela revient à dire que toutes les puces Intel portant un numéro de version AVX10 donné prendront en charge les mêmes fonctions et instructions. Selon Intel, le code du développeur ne devra vérifier que trois champs : « un bit de caractéristique CPUID indiquant que l'AVX10 est pris en charge, le numéro de version de l'AVX10 et un bit indiquant la longueur maximale du vecteur pris en charge ». En outre, les puces serveur Granite Rapids prévues pour l'année prochaine serviront de point de transition entre l'AVX-512 et l'AVX10. Elles seront dotées de la version 1 de l'AVX10, qui n'inclura pas les nouvelles instructions vectorielles de 256 bits.

La version 2 de l'AVX10 comprendra les formes d'instructions à 256 bits ainsi que des instructions supplémentaires couvrant les nouveaux types de données de l'IA et les conversions, les optimisations du mouvement des données et la prise en charge des normes.

Source : Intel

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi

Intel envisage de supprimer la prise en charge des processeurs 16 et 32 bits et de passer directement au mode 64 bits, mais ne mentionne pas les gains de performance qui pourraient en résulter

Intel connaît la plus grosse perte trimestrielle de son histoire mais annonce que les marges se rétabliront au second semestre 2023

Le processeur Intel remplacera les Pentium et Celeron dans les ordinateurs portables de 2023, après 30 ans, le Pentium disparaît enfin

Une erreur dans cette actualité ? Signalez-nous-la !