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.  ↩︎

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Un député propose un amendement visant à taxer les gros services Internet

17/10/2024 à 21:30

• 20


X, la commission européenne pourrait infliger une amende portant sur toutes les propriétés de Musk

17/10/2024 à 21:00

• 54


À bord de Waymo : on n'a pas attendu Tesla pour monter dans un robotaxi

17/10/2024 à 20:30

• 5


Giphy veut faire payer pour son API jusque-là gratuite et demande de grosses sommes aux développeurs

17/10/2024 à 19:30

• 14


Tim Cook se serait plaint de l'Europe auprès de Donald Trump

17/10/2024 à 18:03

• 179


Le dépôt de plainte en ligne est généralisé en France

17/10/2024 à 17:30

• 20


Apple aurait contribué au développement des batteries lames de BYD pour sa voiture électrique

17/10/2024 à 16:15

• 8


Apple célèbre le dixième anniversaire d’Apple Pay

17/10/2024 à 15:36


Promo : -300 € sur le dernier MacBook Air 15" en 16/512 Go

17/10/2024 à 14:30

• 4


Analogue 3D : la Nintendo 64 modernisée sera lancée début 2025 pour 250 $

17/10/2024 à 14:00

• 8


Un nouvel écran ViewSonic 4K avec du Thunderbolt dans le hub

17/10/2024 à 13:00

• 17


Meta licencie encore dans plusieurs équipes

17/10/2024 à 11:30

• 12


Promo : le MacBook Air M1 de base à 800 €

17/10/2024 à 10:30

• 12


Hades II est désormais disponible sur les Mac Apple Silicon

17/10/2024 à 09:41

• 6


Apple Business Connect affiche l'identité des professionnels dans Mail et Tap to Pay

17/10/2024 à 08:35

• 8


Dopé à l’intelligence artificielle, Antidote 12 corrige et réécrit vos textes

17/10/2024 à 08:00

• 41