Ouvrir le menu principal

MacGeneration

Recherche

Avec APX et AVX10, Intel prépare le futur du x86

Pierre Dandumont

jeudi 17 août 2023 à 11:00 • 35

Ailleurs

Si le jeu d'instructions des x86 a commencé sa vie en 1976, il n'est pas obsolète pour autant. Régulièrement, Intel tente d'améliorer les bases du x86 en ajoutant des fonctions, même si c'est parfois son concurrent AMD qui prend le pas, comme lors de la création de la version 64 bits. Et après une annonce récente sur un mode qui abandonnerait en partie la sacro-sainte rétrocompatibilité (le x86-S), Intel a montré l'AVX10 et l'APX, deux solutions qui ne ciblent pas du tout la même chose… et qui pourtant visent à améliorer le x86.

Intel veut abandonner le 16 bits et le 32 bits avec un x86-S 64 bits simplifié, bien après Apple

Intel veut abandonner le 16 bits et le 32 bits avec un x86-S 64 bits simplifié, bien après Apple

AVX10 unifie les cœurs hybrides

Ça peut sembler un peu bizarre, mais l'architecture hybride d'Intel, lancée fin 2021 en masse1, n'est pas totalement fonctionnelle. Plus exactement, certaines instructions ne sont utilisables que si les cœurs basse consommation sont désactivés, et uniquement sur les premières versions des puces.

C'est un peu compliqué à résumer, accrochez-vous. Intel a lancé les instructions vectorielles AVX-512 avec une famille de Xeon un peu particulière, les Xeon Phi. Ces modèles massivement multicœurs — ils contiennent jusqu'à 72 cœurs capables d'exécuter 4 threads chacun — ont en effet été les premiers à proposer le jeu d'instructions vectorielles sur 512 bits d'Intel, en 2016. L'AVX-512 a ensuite été ajouté dans les variantes professionnelles de certaines puces (les Xeon basés sur les Core de 6e génération, Skylake) puis — de façon un peu étonnante — dans les Core de 10e génération mobile (Ice Lake), 11e génération mobile (Tiger Lake) et 11e génération de bureau (Rockert Lake). Mais avec Alder Lake, la 12e génération, AVX-512 a disparu. Ce n'est pas une question de consommation (même si les instructions sont très gourmandes) mais bien un souci de prise en charge. En effet, si les cœurs performants de la 12e génération sont compatibles2, les cœurs basse consommation ne l'étaient pas. Donc Intel a désactivé les instructions.

L'évolution prévue d'AVX10 (image Intel).

Avec AVX10, ce problème va disparaître : les instructions reprendront les bases d'AVX-512 (donc les vecteurs sur 512 bits) et fonctionneront sur toutes les puces. Au départ, il y aura une limite évidente : tous les cœurs ne supporteront pas les vecteurs de 512 bits, ce qui va réduire les performances attendues dans certains cas. En effet, actuellement, seuls les cœurs performants peuvent les prendre en charge. Mais si les données sont traitées sur des vecteurs de 256 bits, tous les cœurs pourront en profiter.

La principale contrainte de ces nouvelles instructions va évidemment venir de la prise en charge : les développeurs vont devoir adapter le code AVX-512 pour le rendre compatible AVX10, ce qui semble simple et pourrait ne nécessiter qu'une simple recompilation. Ensuite, Intel promet une bonne rétrocompatibilité dans le futur, sans indiquer comment seront segmentées les puces. Car pour revenir à la situation actuelle, les puces qui prennent en charge les vecteurs de 512 bits sont rares, et il n'est pas exclu qu'Intel limite la présence de ces derniers aux processeurs les plus rapides, par exemple Core 5 et plus. Mais dans tous les cas, une unification des instructions prises en charge va simplifier le travail des développeurs.

APX, pour améliorer les performances

L'autre nouveauté future, comme l'explique AnandTech, va venir de l'APX (Advanced Performance Extensions). APX ajoute uniquement quelques instructions qui servent à optimiser certaines instructions existantes, mais double le nombre de registres. Un registre est une zone mémoire interne au processeur qui stocke les données en cours de traitement et les processeurs x86 possèdent historiquement peu de registres, contrairement aux PowerPC par exemple. Doubler le nombre de registres permet de réduire les transferts entre ceux-ci et donc d'améliorer (un peu) l'efficacité tout en réduisant le nombre d'instructions. Et ce point amène mécaniquement des exécutables un peu plus compacts, ce qui est toujours bon à prendre.

Le dernier gros changement en x86 vient de la version 64 bits, portée par AMD.

APX amène donc environ 10 % de gains en efficacité selon Intel, mais avec un gros bémol : une rétrocompatibilité en berne. En effet, les programmes doivent être compilés pour les instructions APX, ce qui les rends incompatibles avec le x86-64 classique. Dans un monde PC parfois sclérosé à cause de la rétrocompatibilité, c'est évidemment un problème : il a fallu attendre l'arrivée de Windows 11 pour que Microsoft abandonne la prise en charge du 32 bits pour le système d'exploitation, et beaucoup de programmes modernes se contentent encore d'exécutables 32 bits. Dans les faits, APX pourrait être intéressant dans certains cas, mais il y aura probablement une période pendant laquelle les développeurs proposeront du code APX et du code x86-64 en parallèle, ce qui réduira en partie l'intérêt d'un code plus réduit.

Ces deux nouveautés montrent surtout qu'Intel ne semble pas vouloir abandonner le x86, alors que certains prédisent la mort du jeu d'instructions devant la montée en puissance des puces ARM et autres RISC-V. Mais l'immobilisme du monde PC est souvent sous-estimé, ce qui explique que la vague attendue des PC sous Windows ARM imaginée par certains lors de l'arrivée des puces Apple Silicon en 2020 ne s'est jamais concrétisée (et n'arrivera probablement jamais).

Enfin, il faut évidemment noter que les Mac Intel ne profiteront pas de ces nouveautés, mais que les concurrents d'Intel ne restent pas les bas croisés pour autant. Tant les puces ARM que les RISC-V évoluent régulièrement et ajoutent des instructions pour suivre les évolutions du marché.


  1. Techniquement, il existe aussi une architecture hybride, Lakefield, mais elle a été très peu utilisée.  ↩︎

  2. Les premières révisions des Core de 12e génération acceptent l'activation de l'AVX-512 avec un BIOS adapté. Le bridage d'Intel est plus solide ensuite.  ↩︎

illustration magazine 25 ans

MacGeneration a 25 ans !

Participez à la fête et découvrez l’histoire de votre site favori en précommandant notre magazine exclusif.

Je précommande le magazine

Intrusion informatique, quand une entreprise joue le jeu de la communication ouverte

22/11/2024 à 20:45

• 7


Le SSD de certains MacBook Pro M4 Max atteint presque 11 Go/s

22/11/2024 à 20:30

• 7


Les meilleures promos du Black Friday : AirPods Pro 2, iPad 10, serrure connectée…

22/11/2024 à 18:30

• 9


Test du système mesh Wi-Fi 7 Netgear Orbi 970 : une poignée de mégabits, pour quelques centaines d’euros de plus

22/11/2024 à 17:00

• 8


Décodeur Orange : mise en veille automatique du boitier par le téléviseur

22/11/2024 à 16:30

• 13


macOS 15.2 : Safari dédouble ses fonctions d'import de données

22/11/2024 à 15:02

• 5


Buy Now : un documentaire sur la surconsommation avec le CEO d’iFixit et un ancien d’Apple

22/11/2024 à 12:15

• 63


Protégez votre Mac pour seulement 2,03 €/mois avec CyberGhost VPN : l'offre Black Friday à ne pas manquer ! 📍

22/11/2024 à 11:49


OpenAI envisagerait de lancer un navigateur web

22/11/2024 à 11:15

• 22


Black Friday : le Creative Cloud ainsi que les apps Affinity et DxO jusqu’à - 55 %

22/11/2024 à 10:10

• 13


Palworld est en précommande sur Mac, la sortie repoussée à 2025 🆕

22/11/2024 à 09:47

• 19


Black Friday : de bonnes remises sur les MacBook Pro M3

22/11/2024 à 09:47

• 3


Publicité : l'iPhone 16 Pro décolle à plat grâce à sa puce surpuissante 🆕

22/11/2024 à 09:33

• 14


Le Bitcoin flirte avec les 100 000 $

22/11/2024 à 09:00

• 108


Le vrai nouveau Siri, celui alimenté par une IA générative, ne sortirait pas avant… 2026

22/11/2024 à 08:30


Satechi annonce un hub pour le Mac mini M4

21/11/2024 à 21:30

• 28