Que sont les processeurs ARM et vont-ils remplacer x86 (Intel)? –
Tout le monde va ARM ces jours-ci – Amazon et Apple expédient tous les deux des processeurs internes avec des performances incroyables, et Microsoft aurait développé les leurs. ARM a toujours été utilisé pour les puces mobiles à faible consommation d’énergie, alors pourquoi exactement ARM écrase-t-il x86 sur le bureau et le serveur?
Sommaire
Tout le monde va ARM ces jours-ci
Le monde des processeurs est une industrie complexe, et seuls quelques modèles de quelques entreprises sont capables de rivaliser sur le haut de gamme des performances. Habituellement, Intel ou AMD détient la couronne des performances, les deux fabriquant des processeurs x86. Mais récemment, les processeurs d’Apple et d’Amazon basés sur ARM ont donné à Intel (et à l’architecture x86) une course pour leur argent.
Amazon a son processeur Graviton2, qui n’est pas plus rapide que ses homologues serveurs d’Intel, mais est plus rentable et utilise moins d’énergie. Avec l’ampleur de l’amélioration par rapport à Graviton1, leur prochaine itération sera probablement une concurrence féroce dans l’espace serveur.
Apple est sorti du parc avec son premier processeur non mobile, le processeur Apple Silicon M1, qui fonctionne plus rapidement que les processeurs Intel de bureau et presque aussi vite que la série Ryzen 5000 d’AMD, la couronne de performances actuelle. C’est du silicium personnalisé qui fait des Apple Macbooks les ordinateurs portables les plus rapides au monde, au grand dam des passionnés de PC (moi y compris).
En fait, ils sont tellement en avance dans l’espace des ordinateurs portables que Windows sur le Macbook M1 fonctionne plus rapidement que le Surface Pro X, bien que Windows sur ARM ne fonctionne que via un émulateur. Et comme si ce n’était pas assez humiliant, cela l’écrase absolument avec un score Geekbench Single-Core de 1390 par rapport au 802 de Surface, ce qui est ridiculement mauvais en comparaison. Le M1 est vraiment rapide.
Selon certaines rumeurs, Microsoft développerait également son propre processeur ARM interne, et bien que cette rumeur vienne de l’espace serveur Azure, ils utiliseraient probablement la même puce pour Surface s’ils peuvent égaler les performances d’Apple.
Quelle est la différence entre ARM et x86?
En fin de compte, il n’y a pas trop de différence entre ARM et x86. Vous pouvez toujours exécuter Google Chrome et regarder YouTube sur l’un ou l’autre. En fait, vous le faites peut-être en ce moment, car presque tous les androïdes et tous les iPhone utilisent un processeur ARM.
La plus grande différence pour la plupart des gens est que les anciennes applications destinées à x86 devront également être recompilées pour fonctionner sur ARM. Pour certaines choses, c’est facile, mais tout ne sera pas pris en charge, en particulier les logiciels hérités. Cependant, même cela peut généralement fonctionner via l’émulation x86, que Windows commence à prendre en charge.
Pour les développeurs, il y a beaucoup de différences dans la façon dont les applications sont compilées, mais de nos jours, la plupart des compilateurs font un bon travail pour prendre en charge les principaux jeux d’instructions, et vous n’aurez pas vraiment à faire beaucoup de changements pour la compiler pour plusieurs plates-formes. .
Mais comment ARM fonctionne-t-il plus rapidement?
Pour répondre à cette question, nous devrons approfondir le fonctionnement des processeurs sous le capot.
ARM et x86 sont tous les deux jeux d’instructions, aussi connu sous le nom architectures, qui sont essentiellement une liste de «programmes» de micro-code pris en charge par le CPU. C’est pourquoi vous n’avez pas à vous soucier d’exécuter une application Windows sur un processeur AMD ou Intel spécifique; ce sont tous les deux des processeurs x86, et bien que les conceptions exactes soient différentes (et fonctionnent différemment), elles prennent toutes les deux en charge les mêmes instructions. Cela signifie que tout programme compilé pour x86 prendra en charge les deux processeurs.
Les processeurs exécutent essentiellement les opérations de manière séquentielle, comme une machine ayant une liste de tâches à effectuer. Chaque instruction est connue sous le nom de opcode, et les architectures comme x86 ont beaucoup d’opcodes, d’autant plus qu’ils existent depuis des décennies. En raison de cette complexité, x86 est appelé «jeu d’instructions complexe» ou CISC.
Les architectures de l’ICCA adoptent généralement l’approche de conception consistant à regrouper un grand nombre de choses en une seule instruction. Par exemple, une instruction de multiplication peut déplacer des données d’une banque de mémoire vers un registre, puis effectuer les étapes de multiplication et mélanger les résultats dans la mémoire. Le tout dans une seule instruction.
Sous le capot, cependant, cette instruction est décompressée dans de nombreux «micro-opérations», que le CPU exécute. L’avantage du SCRC est l’utilisation de la mémoire, et comme à l’époque il était à une prime, le SCRC était meilleur.
Cependant, ce n’est plus le goulot d’étranglement, et c’est là que RISC entre en jeu. RISC, ou jeu d’instructions réduit, supprime essentiellement les instructions complexes en plusieurs parties. Chaque instruction peut généralement s’exécuter en un seul cycle d’horloge, bien que de nombreuses opérations longues devront attendre les résultats d’autres zones du processeur ou de la mémoire.
Bien que cela semble aller en arrière, cela a d’énormes implications pour la conception du processeur. Les processeurs doivent charger toutes leurs instructions depuis la RAM et les exécuter aussi vite que possible. Il s’avère qu’il est beaucoup plus facile de faire cela lorsque vous avez beaucoup d’instructions simples par rapport à beaucoup d’instructions complexes. Le processeur fonctionne plus rapidement lorsque le tampon d’instructions peut être rempli, et c’est beaucoup plus facile à faire lorsque les instructions sont plus petites et plus faciles à traiter.
RISC a également l’avantage de quelque chose appelé exécution dans le désordre, ou OoOE. Essentiellement, le processeur a une unité à l’intérieur qui réorganise et optimise les instructions qui y arrivent. Par exemple, si une application a besoin de calculer deux choses, mais qu’elles ne dépendent pas l’une de l’autre, le processeur peut exécuter les deux en parallèle. Habituellement, le code parallèle est très compliqué à écrire pour les développeurs, mais aux niveaux les plus bas du processeur, il peut utiliser le multitâche pour accélérer les choses. La puce Apple M1 utilise OoOE à grand effet.
Si vous êtes intéressé par le fonctionnement interne, vous devriez lire cet article fantastique d’Erik Engheim sur ce qui rend la puce Apple M1 si rapide. En bref, il utilise beaucoup de silicium spécialisé, une exécution dans le désordre et dispose de beaucoup plus de décodeurs d’instructions pour prendre en charge sa vitesse.
ARM va-t-il remplacer x86?
La réponse honnête est, Probablement. Intel ressent la fin de la loi de Moore depuis des années maintenant, et si AMD a pu faire des sauts de performance ces dernières années, ils ne sont pas loin.
Cela ne veut pas dire que x86 mourra de sitôt, mais il est clair que ARM a plus de potentiel que d’être simplement une architecture mobile – une stigmatisation qui n’est plus valable étant donné la direction actuelle de l’industrie. Les avantages des architectures RISC sont évidents, et avec les améliorations déjà apportées à la puce Apple M1, l’avenir de l’industrie semble prometteur.
De plus, ARM n’est pas la seule architecture RISC sur le marché. Il est toujours propriétaire, bien que ARM concède ses conceptions à des concepteurs tiers, tels que Qualcomm, Samsung et Apple. RISC-V est open source et est tout aussi prometteur. Il s’agit d’une architecture de jeu d’instructions normalisée, laissant les implémentations exactes au fabricant. Si l’industrie évolue vers RISC en général, il y aura des implémentations open source et fermées disponibles.