Pourquoi c’est important: Intel se prépare à ce que la société considère comme la « prochaine étape majeure » dans l’évolution de l’architecture d’ensemble d’instructions (ISA) d’origine x86. La société de Santa Clara élargit le nombre de registres pour les opérations x86 à usage général tout en introduisant un nouvel ensemble d’instructions vectorielles intégral basé sur le très renommé ISA AVX-512.
Comme expliqué sur le site officiel d’Intel pour les développeurs, l’architecture x86 est désormais utilisée dans les centres de données, les ordinateurs personnels et divers autres environnements nécessitant des processeurs orientés performances et des charges de travail de calcul intensives. Introduite à l’origine en 1978 avec le processeur 8086, l’ISA x86 d’origine ne comportait que huit registres généraux de 16 bits, qui ont ensuite été doublés en nombre et quadruplés en taille.
Les registres jouent un rôle crucial dans un processeur, car ils stockent les bits de données sur lesquels le processeur travaille activement à tout moment. C’est pourquoi Intel présente la technologie Extensions de performance avancées (APX) comme une étape évolutive significative pour l’ISA x86. Elle élargit l’ensemble complet d’instructions x86, offrant un accès à plus de registres et introduisant de nouvelles fonctionnalités pour améliorer les performances globales du processeur.
Selon Intel, APX double le nombre de registres x86 à usage général de 16 à 32, offrant aux compilateurs plus d’espace pour stocker des données. Comparé à un programme binaire compilé pour l’ISA Intel x64 « baseline », explique la société, le code compilé en APX contient « 10% de charges en moins et plus de 20% de stockages en moins ».
En termes simples, les accès aux registres sont plus rapides et consomment « significativement moins de puissance dynamique » par rapport aux opérations complexes de chargement et de stockage. Cette efficacité améliorée dans les modèles de CPU Intel de nouvelle génération pourrait entraîner des niveaux de performance plus élevés. APX étendra également l’ensemble d’instructions conditionnelles de l’ISA x86, qui a été introduit pour la première fois avec le processeur Pentium Pro avec les instructions CMOV/SET.

Ces instructions sont largement utilisées par les compilateurs actuels, et APX semble améliorer les capacités de prédiction de branchement des processeurs Intel. Selon Intel, les programmeurs peuvent tirer parti des fonctionnalités d’APX en recompilant simplement leur code, car aucun changement de code source n’est attendu. APX démontre une fois de plus l’avantage des « codages d’instructions de longueur variable x86 », avec de nouvelles fonctionnalités améliorant l’ensemble ISA complet grâce à « seulement des changements incrémentiels » au silicium sous-jacent pour décoder les instructions matériellement.
En plus d’APX, les futures générations de processeurs Intel incluront le nouvel ISA AVX10. Cette technologie, comme expliqué dans le document officiel, est une nouvelle implémentation majeure de l’ensemble d’instructions vectorielles AVX-512 proposé pour la première fois par Intel en 2013. Le nouvel ISA établira un « ensemble d’instructions vectorielles commun et convergent » sur toutes les architectures de processeurs Intel, le rendant pris en charge par tous les futurs processeurs, y compris les cœurs de performance (P-cores) et les cœurs d’efficacité (E-cores).
Intel a initialement introduit le prise en charge des instructions vectorielles AVX-512 sur les processeurs grand public Core de 12e génération, mais elles ne fonctionnaient que sur les unités P-core et ont été désactivées ultérieurement par une mise à jour micrologicielle du firmware. Entre autres, les extensions vectorielles de l’ISA x86 se sont révélées extrêmement populaires parmi les développeurs cherchant à émuler des architectures de consoles modernes et complexes comme la PlayStation 3 (RPCS3).
L’extension AVX10 de l’ISA x86 prendra en charge toutes les extensions d’instructions AVX (vecteur) précédemment introduites, avec une longueur maximale de registre vectoriel de 256 bits. La version AVX10 initiale (AVX10.1) ne comprendra aucune nouvelle instruction ; son seul but est de faciliter la transition de AVX-512 vers la bonne implémentation AVX10 compatible avec tous les cœurs (P-cores, E-cores) connue sous le nom de AVX10.2.
Découvrez le reportage du mois (sous-titré en français), l’IA gagnera t-elle face aux champion du monde du jeu de Go ? :

