Arm vs x86 : jeux d’instructions, architecture et toutes les différences clés expliquées

Android est capable de fonctionner sur trois types d’architecture de processeur : Arm, Intel et MIPS. La première est l’architecture omniprésente aujourd’hui après qu’Intel a abandonné ses processeurs pour téléphones, tandis que les processeurs MIPS pour téléphones n’ont pas été vus depuis des années. Arm est l’architecture CPU utilisée par tous les smartphones modernes dans les écosystèmes Android et Apple. Les processeurs Arm font également leur entrée sur le marché des PC via Windows on Arm et le CPU M1 personnalisé d’Apple pour les Macs. Alors que la guerre des processeurs Arm vs Intel est sur le point de s’échauffer fortement, voici tout ce que vous devez savoir sur Arm vs x86.

L’architecture des processeurs expliquée

L’unité centrale de traitement (CPU) est le « cerveau » de votre appareil, mais elle n’est pas exactement intelligente. Un CPU ne fonctionne que lorsqu’on lui donne des instructions très spécifiques – appelées de manière appropriée le jeu d’instructions – qui indiquent au processeur de déplacer des données entre les registres et la mémoire ou d’effectuer un calcul en utilisant une unité d’exécution spécifique (comme la multiplication ou la soustraction). Certains blocs matériels de l’unité centrale nécessitent des instructions différentes. Celles-ci ont tendance à augmenter avec des processeurs plus complexes et plus puissants. Les instructions souhaitées peuvent également informer la conception du matériel, comme nous le verrons dans un instant.

Qu’est-ce qu’un SoC ? Tout ce que vous devez savoir sur les chipsets des smartphones

Les applications qui fonctionnent sur votre téléphone ne sont pas écrites en instructions CPU ; ce serait de la folie avec les grandes applications multiplateformes d’aujourd’hui qui fonctionnent sur une variété de puces. Au lieu de cela, les applications écrites dans divers langages de programmation de niveau supérieur (comme Java ou C++) sont compilées pour des jeux d’instructions spécifiques afin qu’elles fonctionnent correctement sur les CPU Arm ou x86. Ces instructions sont ensuite décodées en ops microcode au sein du CPU, ce qui nécessite de l’espace et de l’énergie dans le silicium. Si vous souhaitez obtenir le CPU le moins gourmand en énergie, la simplicité du jeu d’instructions est primordiale. Cependant, des performances plus élevées peuvent être obtenues à partir de matériel et d’instructions plus complexes, au détriment de la puissance. Il s’agit là d’une différence fondamentale entre l’approche de la conception des CPU par Intel et celle de l’entreprise.

x86 vise traditionnellement les performances maximales, Arm l’efficacité énergétique

Arm est basé sur RISC (Reduced Instruction Set Computing) alors qu’Intel (x86) est CISC (Complex Instruction Set Computing). Les instructions du CPU d’Arm sont raisonnablement atomiques, avec une corrélation très étroite entre le nombre d’instructions et les micro-ops. Le CISC, en comparaison, offre beaucoup plus d’instructions, dont beaucoup exécutent des opérations multiples (comme les mathématiques optimisées et les mouvements de données). Cela conduit à de meilleures performances, mais à une plus grande consommation d’énergie lors du décodage de ces instructions complexes.

Ce lien entre les instructions et la conception matérielle du processeur est ce qui fait une architecture de CPU. De cette façon, les architectures de CPU peuvent être conçues pour différents objectifs, tels que le crunching de chiffres extrêmes, une faible consommation d’énergie ou une surface de silicium minimale. Il s’agit d’une différence clé lorsque l’on examine Arm vs x86 en termes de CPU, car le premier est basé sur une puissance, un jeu d’instructions et un matériel inférieurs.

Architectures de CPU 64 bits modernes

Aujourd’hui, les architectures 64 bits sont courantes sur les smartphones et les PC, mais cela n’a pas toujours été le cas. Les téléphones n’ont pas fait la transition avant 2012, soit environ une décennie après les PC. En résumé, l’informatique 64 bits exploite des registres et des adresses mémoire suffisamment grands pour utiliser des types de données longues de 64 bits (1 et 0). En plus d’un matériel et d’instructions compatibles, il faut aussi un système d’exploitation 64 bits, comme Android.

Les vétérans du secteur se souviennent peut-être du battage médiatique lorsqu’Apple a présenté son premier processeur 64 bits avant ses rivaux Android. Le passage au 64 bits n’a pas transformé l’informatique au quotidien. Cependant, il est important d’exécuter les calculs de manière efficace lorsque l’on utilise des nombres à virgule flottante de haute précision. Les registres 64 bits améliorent également la précision du rendu 3D, la vitesse de cryptage et simplifient l’adressage de plus de 4 Go de RAM.

Aujourd’hui, les deux architectures prennent en charge le 64 bits, mais c’est plus récent dans le mobile

Les PC sont passés au 64 bits bien avant les smartphones, mais ce n’est pas Intel qui a inventé l’architecture moderne x86-64 (également appelée x64). Cet honneur revient à l’annonce d’AMD en 1999, qui a modernisé l’architecture x86 existante d’Intel. L’architecture alternative IA64 Itanium d’Intel est passée à la trappe.

Arm a présenté son architecture 64 bits ARMv8 en 2011. Plutôt que d’étendre son jeu d’instructions 32 bits, Arm propose une implémentation 64 bits propre. Pour ce faire, l’architecture ARMv8 utilise deux états d’exécution, AArch32 et AArch64. Comme leurs noms l’indiquent, l’un sert à exécuter du code 32 bits et l’autre du code 64 bits. La beauté de la conception ARM est que le processeur peut passer d’un mode à l’autre de manière transparente pendant son exécution normale. Cela signifie que le décodeur pour les instructions 64 bits est une nouvelle conception qui n’a pas besoin de maintenir la compatibilité avec l’ère 32 bits, mais le processeur dans son ensemble reste rétrocompatible.

Lire la suite : Le Cortex-X1 d’Arm apporte le combat aux processeurs puissants d’Apple

Le calcul hétérogène d’Arm a gagné le mobile

Les différences architecturales évoquées ci-dessus expliquent en partie les succès et les problèmes actuels rencontrés par les deux mastodontes de la puce. L’approche à faible consommation d’énergie d’Arm est parfaitement adaptée aux exigences de puissance de conception thermique (TDP) de 3,5 W du mobile, mais les performances augmentent pour égaler également les puces pour ordinateurs portables d’Intel. Pendant ce temps, le Core i7 d’Intel, dont le TDP est de 100 W, s’impose dans les serveurs et les ordinateurs de bureau à hautes performances, mais il a toujours eu du mal à descendre en dessous de 5 W. Voir la douteuse gamme Atom.

Bien sûr, il ne faut pas non plus oublier le rôle que les processus de fabrication du silicium ont joué dans l’amélioration considérable de l’efficacité énergétique au cours de la dernière décennie. De manière générale, les transistors plus petits des processeurs consomment moins d’énergie. Intel s’est efforcé d’aller au-delà de son processus interne de 14 nm de 2014. Au cours de cette période, les puces des smartphones sont passées de 20 nm à 14, 10 et maintenant 7 nm, le 5 nm étant prévu pour 2021. Cela a été réalisé simplement en tirant parti de la concurrence entre les fonderies Samsung et TSMC.

Cependant, une caractéristique unique de l’architecture d’Arm a été particulièrement déterminante pour maintenir le TDP bas pour les applications mobiles – le calcul hétérogène. L’idée est assez simple, construire une architecture qui permet à différentes parties du CPU (en termes de performance et de puissance) de travailler ensemble pour une meilleure efficacité.

La capacité d’Arm à partager les charges de travail entre les cœurs de CPU à haute et à faibleperformance est une aubaine pour l’efficacité énergétique

Le premier coup de poignard d’Arm à cette idée était grand.LITTLE en 2011 avec le grand cœur Cortex-A15 et le petit cœur Cortex-A7. L’idée d’utiliser de plus gros cœurs de processeur hors ordre pour les applications exigeantes et des conceptions de processeur dans l’ordre économes en énergie pour les tâches de fond est quelque chose que les utilisateurs de smartphones considèrent comme acquis aujourd’hui, mais il a fallu quelques tentatives pour aplanir la formule. Arm s’est appuyé sur cette idée avec DynamIQ et l’architecture ARMAv8.2 en 2017, permettant à différents CPU de se trouver dans le même cluster, partageant les ressources de mémoire pour un traitement beaucoup plus efficace. DynamIQ permet également la conception de CPU 2+6 qui est de plus en plus courante dans les puces de milieu de gamme.

Relié : Processeurs monocœurs vs processeurs multicœurs : Lesquels sont les meilleurs pour les smartphones ?

Les puces Atom rivales d’Intel, sans calcul hétérogène, n’ont pas pu égaler l’équilibre entre performance et efficacité d’Arm. Il a fallu attendre 2020 pour que les projets Foveros, Embedded Multi-die Interconnect Bridge (EMIB) et Hybrid Technolgy d’Intel donnent naissance à une conception de puce concurrente – la Lakefield en 10 nm. Lakefield combine un seul cœur Sunny Cove à haute performance avec quatre cœurs Tremont à faible consommation, ainsi que des fonctions graphiques et de connectivité. Cependant, même cet ensemble est destiné aux ordinateurs portables connectés avec un TDP de 7W, ce qui est encore trop élevé pour les smartphones.

Intel Lakefield avec la technologie hybride utilise des principes de conception similaires à ceux du big d’Arm.LITTLE

Aujourd’hui, Arm contre x86 se bat de plus en plus dans le segment de marché des ordinateurs portables à TDP inférieur à 10W, où Intel scale down et Arm scale up de plus en plus avec succès. La nouvelle selon laquelle Apple va passer à ses propres puces Arm personnalisées pour Mac est un excellent exemple de la portée croissante des performances de l’architecture Arm, grâce en partie à l’informatique hétérogène ainsi qu’aux optimisations personnalisées réalisées par Apple.

Cœurs et jeux d’instructions Arm personnalisés

Une autre distinction importante entre Arm et Intel est que ce dernier contrôle l’ensemble de son processus du début à la fin et vend directement ses puces. Arm vend simplement des licences. Intel garde son architecture, la conception de ses processeurs et même la fabrication entièrement en interne. Arm, en comparaison, offre une variété de produits à des partenaires comme Apple, Samsung et Qualcomm. Cela va des conceptions de cœur de CPU sur étagère comme le Cortex-A78, des conceptions construites en partenariat par le biais de son programme Arm CXC, et des licences d’architecture personnalisée qui permettent à des entreprises comme Apple et Samsung de construire des cœurs de CPU personnalisés et même d’apporter des ajustements au jeu d’instructions.

Lire la suite : Les premiers ordinateurs basés sur Arm d’Apple incluent les nouveaux MacBooks et le Mac Mini

La construction de CPU personnalisés est un processus coûteux et impliqué, mais fait correctement, il peut clairement conduire à des résultats puissants. Les CPU d’Apple montrent comment le matériel et les instructions sur mesure poussent les performances d’Arm beaucoup plus près du x86 grand public et même au-delà. Bien que les cœurs Mongoose de Samsung aient été plus controversés.

Apple a l’intention de remplacer progressivement les CPU Intel à l’intérieur de ses produits Mac par son propre silicium basé sur Arm. L’Apple M1 est la première puce de cet effort, alimentant les derniers MacBook Air, Pro, et le Mac Mini. Le M1 affiche des améliorations de performances impressionnantes, suggérant que les cœurs Arm hautes performances sont capables de prendre le dessus sur x86 dans des scénarios de calcul plus exigeants. N’oubliez pas cependant que les comparaisons d’Apple portent sur des processeurs de classe ordinateur portable, plutôt que sur des ordinateurs de bureau.

Au moment de la rédaction de cet article, le superordinateur le plus puissant du monde, Fugaku, fonctionne sur Arm

L’architecture d’Intel reste en tête en termes de performances brutes dans l’espace matériel grand public. Mais Arm est désormais très compétitif dans les segments de produits où les hautes performances et l’efficacité énergétique restent essentielles, ce qui inclut le marché des serveurs. À l’heure où nous écrivons ces lignes, le superordinateur le plus puissant du monde fonctionne pour la première fois avec des cœurs de CPU Arm. Son SoC A64FX est conçu par Fujitsu et le premier à exécuter l’architecture SVE Armv8-A.

Compatibilité logicielle

Comme nous l’avons mentionné précédemment, les applications et les logiciels doivent être compilés pour l’architecture CPU sur laquelle ils fonctionnent. Le mariage historique entre les CPU et les écosystèmes (tels qu’Android sur Arm et Windows sur x86) signifie que la compatibilité n’a jamais vraiment été une préoccupation, car les applications n’avaient pas besoin de s’exécuter sur plusieurs plateformes et architectures. Cependant, la croissance des applications multiplateformes et des systèmes d’exploitation fonctionnant sur plusieurs architectures de CPU modifie ce paysage.

Les Macs sur Arm d’Apple, Chrome OS de Google et Windows sur Arm de Microsoft sont tous des exemples modernes où les logiciels doivent fonctionner à la fois sur les architectures Arm et Intel. Compiler des logiciels natifs pour les deux est une option pour les nouvelles apps et les développeurs prêts à investir dans la recompilation. Pour combler les lacunes, ces plateformes s’appuient également sur l’émulation de code. En d’autres termes, il s’agit de traduire le code compilé pour une architecture CPU afin de l’exécuter sur une autre. Cela est moins efficace et dégrade les performances par rapport aux applications natives, mais une bonne émulation est actuellement possible pour garantir que les applications fonctionnent.

Après des années de développement, l’émulation de Windows sur Arm est dans un état plutôt bon pour la plupart des applications. Les applications Android fonctionnent sur les Chromebooks Intel de manière décente pour la plupart aussi. Apple dispose de son propre outil de traduction, baptisé Rosetta 2, pour prendre en charge les anciennes applications Mac. Mais, tous les trois souffrent de pénalités de performance par rapport aux applications compilées nativement.

Arm vs x86 : Le mot de la fin

Au cours de la dernière décennie de la rivalité Arm vs x86, l’Arm l’a emporté comme choix pour les appareils à faible consommation comme les smartphones. L’architecture fait maintenant aussi des progrès dans les ordinateurs portables et d’autres appareils où une meilleure efficacité énergétique est demandée. Bien qu’ils aient perdu sur les téléphones, les efforts d’Intel en matière de faible consommation se sont également améliorés au fil des ans, Lakefield partageant désormais beaucoup plus de points communs avec les processeurs Arm traditionnels que l’on trouve dans les téléphones.

Cela dit, Arm et x86 restent nettement différents d’un point de vue technique et ils continuent d’avoir des forces et des faiblesses individuelles. Cependant, les cas d’utilisation des consommateurs entre les deux deviennent plus flous, car les écosystèmes supportent de plus en plus les deux architectures. Pourtant, bien qu’il y ait des recoupements dans la comparaison entre Arm et x86, c’est Arm qui restera certainement l’architecture de choix pour l’industrie des smartphones dans un avenir prévisible. L’architecture se montre très prometteuse pour le calcul et l’efficacité des ordinateurs portables également.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *