ARM vs X86 et leurs concepts clés, sont-ils vraiment concurrents ?
De temps en temps, la même question revient avec ces deux types d’architectures de processeurs. Le prétexte est maintenant qu’Apple abandonne Intel et opte pour ses propres puces ARM et bien que la décision soit complexe, beaucoup ne comprennent pas comment ils ont pris cette voie. C’est pourquoi nous allons essayer de comparer ARM et X86 dans leurs caractéristiques, leurs approches et leurs concepts de base pour comprendre un tel saut.
Le principal problème auquel nous allons être confrontés dans cet article est celui des concepts, qui est en même temps la clé de la décision d’Apple de faire le saut. Depuis quelque temps, l’entreprise ne se dispute plus la couronne de la performance dans divers secteurs, mais se concentre sur son propre écosystème et, surtout, sur un écosystème plus efficace. Aujourd’hui, avec ARM, elle se concentre à nouveau sur la même chose : elle se sépare de l’architecture x86 et entend rendre son écosystème encore plus fermé qu’auparavant, puisque, comme nous allons l’expliquer ci-dessous, les applications x86 ne peuvent pas être exécutées sur une architecture ARM, mais doivent être portées pour fonctionner.
ARM vs X86, une histoire sans fin
Nous tenons pour acquis que nous savons tous d’où vient le nom X86 (Intel 8086) et, à partir de là, nous devons comprendre d’où vient l’informatique en tant que telle. Le X86 était basé sur la technologie et l’architecture CISC, qui s’est toujours caractérisée par le fait de disposer de jeux d’instructions très importants pour résoudre des opérations de plus en plus complexes (d’où son nom).
L’évolution de l’architecture CISC en tant que concept et base consistait à passer de ces instructions déjà complexes à des instructions plus simples, et c’est là que l’ARM intervient. Intel et AMD ont tous deux réalisé qu’ils devaient créer des micro-instructions pour simplifier les tâches et ainsi gagner en performance dans certaines parties, toujours sans perdre la performance caractéristique des CISC dans les opérations complexes.
Comme nous le savons sûrement, le CISC a été concurrencé pendant un certain temps par une autre architecture appelée RISC, assez plus simple que la première, mais qui a poussé les microinstructions pour finir par la surpasser à tous points de vue. Alors que l’on pensait qu’il était abandonné en tant que tel, le RISC a repris son envol grâce à ARM ou Advanced RISC Machine, une société créée pour octroyer des licences pour la fabrication de processeurs utilisant cette technologie, comblant ainsi un vide qu’Intel et AMD ignoraient complètement en raison de la lutte pour la couronne qu’ils ont toujours eue.
Bien que beaucoup aient prédit un échec d’ARM, la société a pu pénétrer plusieurs marchés, notamment les smartphones, les fours, les micro-ondes, les téléviseurs et un large éventail de produits etc… Ce qui a conduit la société à des sommets toujours plus élevés au point qu’Apple est sur le point de changer sa philosophie basée sur des processeurs sous licence avec la technologie ARM.
ARM vs X86 : espace, caractéristiques et consommation
Comme nous pouvons le constater, ARM et X86 sont des antonymes plutôt que des rivaux, puisqu’en règle générale, ils ne se gênent pas l’un l’autre, du moins jusqu’à récemment, ce dont nous parlerons plus loin. Les deux architectures de CPU avaient un marché bien défini : le X86 était beaucoup plus rapide, mais il occupe aussi beaucoup plus de silicium et sa consommation est beaucoup plus élevée.
ARM, en revanche, recherche l’efficacité, un équilibre entre la consommation et les performances basé sur moins d’étapes de traitement, mais des cœurs à plus faible vitesse et divisés en deux spécifications très spécifiques : haute performance et basse performance, l’architecture dite big.LITTLE.
Alors qu’un processeur de bureau ou de serveur peut aller de 65 watts à près de 300 watts en pointe, un processeur ARM se situera autour de 5 ou 7 watts et 150 dans le cas des serveurs. Cela augmente les facteurs en ce qui concerne les cœurs. Intel et AMD optent pour des cœurs complexes à grande échelle, de sorte que dans le même espace qu’un ARM, ils peuvent en inclure un plus petit nombre, mais très rapides et fiables.
D’autre part, ARM part avec l’avantage de la simplicité et avec elle, la taille des cœurs est considérablement réduite par rapport à ses rivaux, de sorte qu’ils sont en mesure d’accueillir un plus grand nombre de ceux-ci même s’ils sont plus lents et à une vitesse moyenne inférieure, ce qui permet de diviser les charges de travail et de les optimiser davantage dans certains environnements tels que les serveurs.
Ils n’utilisent pas le même logiciel, il faut le porter.
Bien que les efforts d’Apple et de Microsoft aillent dans la bonne direction pour parvenir à une hégémonie des logiciels fonctionnant à la fois sur ARM et X86, il semble que les gars de Cupertino aient le dessus, poussés bien sûr par leur départ définitif d’Intel, ce qu’ils ont déjà fait avec leur processeur Apple M1, qui est le premier processeur ARM pour le Macintosh et la fin du x86 sur ces ordinateurs.
Les systèmes d’exploitation doivent être créés et optimisés en grande partie pour chacune des architectures, surtout si l’on veut obtenir les meilleures performances à la fois sur x86 et sur ARM. Dans cet aspect, il est plus facile de programmer pour ARM que pour X86, puisque ce dernier a besoin de compilateurs plus complexes, d’un meilleur compactage du code et d’un meilleur débogage de ce dernier par la quantité d’instructions qu’il parvient à exécuter.
De même, il est vrai que l’écosystème ARM global est beaucoup plus petit que celui de X86, bien qu’Android et iOS aient contribué à combler le fossé. La question est donc claire : s’agit-il vraiment d’une concurrence ? Il y a quelques années, la réponse aurait été un non presque catégorique, mais de nos jours, ce n’est pas une évidence, et ce l’est de moins en moins.
ARM se lance dans les serveurs, Intel dans les smartphones ?
ARM tente de pénétrer dans le monde des serveurs par l’intermédiaire de diverses entreprises et, actuellement, des géants comme CloudFlare testent les avantages de leurs architectures. Même s’ils progressent et doivent s’améliorer, les ARM sont aujourd’hui utilisables dans les environnements d’entreprise et les centres de données qui se concentrent sur certaines charges de travail, où, curieusement, ni Intel ni AMD ne peuvent rivaliser.
Nous parlons par exemple d’OpenSSL, de certains algorithmes de compression, de NGINX et autres. Ce sont des tâches très spécifiques évidemment, mais ARM ici est compétitif par sa nature, d’autre part, dans des tâches comme Regexp, Go Crypto etc … ARM n’a rien à faire.
Si ARM entre dans ce secteur, Intel veut aller directement chez son rival avec Lakefield, une architecture basée sur son propre concept de big.LITTLE avec empilement 3D et seulement 7 watts de consommation, qui est une réalité et a déjà été présentée.
Il est intéressant de noter qu’Apple quitte désormais Intel pour se concentrer sur ses nouvelles puces qui promettent jusqu’à 12 cœurs avec une faible consommation d’énergie, au moment même où les bleus vont mettre en œuvre le premier changement architectural majeur depuis Skylake et ont établi une feuille de route à un rythme infernal. Ainsi, l’histoire entre ARM et X86 n’est même pas à son zénith, elle ne fait que commencer, peut-être que dans deux décennies nous pourrons voir où elle se termine.