Qu'est-ce qu'un processeur ARM ?
Les processeurs ARM (Advanced RISC Machine) sont une famille de processeurs qui reposent sur une architecture RISC (Reduced Instruction Set Computer). Les architectures ARM représentent une approche différente de la conception du matériel d'un système par rapport aux architectures de serveur plus familières comme x86.
Depuis plusieurs années, l'écosystème ARM s'est démarqué grâce aux produits optimisés pour les serveurs et à des solutions conçues pour le cloud, l'informatique hyperscale, les télécommunications, l'edge computing et les applications de calcul haute performance (HPC). Découvrez comment Red Hat® Enterprise Linux® for ARM offre une plateforme fiable et performante, avec un environnement d'applications cohérent pour les déploiements physiques, virtuels et cloud.
Processeurs ARM et micro-ordinateurs
Pour comprendre les cas d'utilisation et les applications des architectures ARM, il faut d'abord s'intéresser à l'histoire des processeurs ARM.
L'approche architecturale dite « x86 » est plus ancienne. Le premier processeur de ce type a été commercialisé en 1978. C'était aussi l'époque des énormes ordinateurs mainframe qui occupaient des pièces tout entières. Quand la technologie a évolué vers les micro-ordinateurs (PC), les spécialistes se sont demandé comment faire pour créer des composants à la fois plus performants et plus petits. Au début des années 1980, les micro-ordinateurs conçus par la société Acorn Computers offraient des performances limitées à cause de leur puce.
À peu près à la même époque (en 1981), l'utilisation des ressources par les puces informatiques était évaluée dans le cadre d'un projet de l'Université de Californie à Berkeley aux États-Unis. Les processeurs étaient dotés de certaines opérations prédéfinies appelées collectivement jeux d'instructions, et les systèmes d'exploitation et programmes s'appuyaient sur ces jeux d'instructions pour s'exécuter. Les programmeurs de Berkeley ont découvert que la plupart des programmes n'utilisaient en réalité qu'une petite partie du jeu d'instructions fourni. Ainsi, s'ils réduisaient le nombre d'instructions prédéfinies, en éliminant les instructions complexes et difficiles à mettre en œuvre (et peu utilisées), alors les instructions simples restantes s'exécuteraient plus rapidement et prendraient beaucoup moins d'énergie et d'espace sur la puce. C'est ce que l'on appelle une architecture RISC ou un processeur à jeu d'instructions réduit. Les processeurs x86 appartiennent, quant à eux, à la catégorie des microprocesseurs à jeu d'instructions complexe (CISC). Les architectures RISC et CISC sont toutes deux considérées comme des architectures à jeu d'instructions.
ARM et x86
Les architectures de serveur courantes (notamment la très utilisée x86) ont une approche modulaire basée sur une carte mère qui accueille différents composants interchangeables. Le processeur et les autres composants, tels que les cartes graphiques et les processeurs graphiques, les contrôleurs de mémoire, le stockage ou les cœurs de traitement, sont optimisés pour des fonctions spécifiques et peuvent être facilement remplacés ou étendus. Cette simplicité a toutefois un prix : ces composants matériels constituent généralement des architectures de système plus homogènes, moins résistantes aux attaques et aux exploits du type « Rédiger une fois, exécuter partout ».
Les processeurs ARM s'appuient sur une autre approche. Plutôt que de séparer le processeur du reste du matériel, les cœurs du processeur sont intégrés au support physique du circuit intégré. D'autres fonctions matérielles (comme les contrôleurs de bus d'E/S tels que l'interconnexion des composants périphériques) se trouvent sur le même support, et les différentes fonctions sont toutes intégrées ensemble par le biais d'un bus interne. Lorsque ces composants sont placés sur le même circuit intégré, on parle de « système sur puce », ou SoC.
Cette capacité d'adaptation et d'intégration représente un atout non négligeable des processeurs ARM. De plus, les processeurs ARM ne dépendent pas d'un fabricant unique, contrairement aux processeurs AMD ou Intel pour les architectures x86. Arm Holdings propose des conceptions de processeurs ARM sous licence (en série pour différents objectifs spécialisés et optimisations) avec certains critères de performances, que les fabricants de matériel peuvent adapter à leurs appareils.
En un sens, il est donc difficile de définir exactement ce qu'est un processeur ARM. Ces processeurs ARM représentent une architecture système différente, avec un ensemble différent de priorités sous-jacentes en matière de performances et de connectivité du système.
Atouts de l'architecture ARM
L'architecture ARM est la conception électronique la plus répandue dans le monde, même si l'architecture x86 est plus courante sur le marché des serveurs. On retrouve ces processeurs dans la majorité des smartphones, ainsi que dans d'autres petits appareils mobiles et ordinateurs portables.
Les puces x86 sont conçues pour optimiser les performances, tandis que les processeurs ARM sont conçus pour offrir le meilleur équilibre possible entre le coût, le format, la consommation d'énergie, la production de chaleur, la vitesse et la durée de vie de la batterie.
Puisque Arm Holdings vend des conceptions, et non du matériel, les fabricants peuvent personnaliser la microarchitecture en fonction de leurs besoins spécifiques, tout en conservant un format compact, des performances élevées et une grande efficacité énergétique. Cette approche présente à la fois des avantages et des inconvénients, car elle implique que les systèmes d'exploitation tels que Linux, Windows et Android doivent prendre en charge un plus large éventail d'équipements matériels.
Cela ne signifie toutefois pas que l'utilisation des architectures ARM se limite aux petits appareils mobiles. En effet, l'un des superordinateurs les plus rapides du monde, Fugaku, conçu par Fujitsu et Riken, utilise un processeur ARM. Dans ce cas précis, Fujitsu a conçu sa propre puce ARM pour son superordinateur, mais ARM fournit également un profil de conception pour les architectures HPC. Intéressées par leur taille compacte, leur faible consommation d'énergie et leur faible dégagement de chaleur (pas besoin de refroidissement supplémentaire), de plus en plus d'entreprises commencent à utiliser des systèmes ARM pour créer des nœuds ou des clusters pour leur matériel HPC et dans le cloud (comme Amazon Web Services Graviton et Microsoft Azure). La chaîne d'outils Arm Compiler for Linux est conçue pour le développement d'applications HPC. Il est important d'évaluer la compatibilité entre vos applications, vos cas d'utilisation et les processeurs ARM au fur et à mesure que vous les intégrez.
L'utilisation d'une architecture ARM permet aux concepteurs de matériel d'avoir un meilleur contrôle sur leurs conceptions et leurs performances, ainsi que sur leurs chaînes d'approvisionnement. Le contrôle et les performances sont deux atouts intéressants aussi bien pour les petits appareils grand public que pour les environnements informatiques à grande échelle.
Pourquoi choisir Red Hat Enterprise Linux for ARM ?
Depuis longtemps, les architectures ARM utilisent des systèmes d'exploitation Linux (notamment dans des appareils tels que les cartes Raspberry Pi et les smartphones Samsung et Apple). Cependant, l'histoire du développement des processeurs ARM et de Linux a été mouvementée : chaque conception ARM nécessitait son propre noyau Linux personnalisé en raison du manque de cohérence entre les conceptions ARM, même celles d'un même fabricant ou modèle. Ce problème a été résolu en 2012, lorsque la communauté a ajouté au noyau Linux la prise en charge multiplateforme pour les SoC ARM.
Arm Holdings a défini des architectures spécifiques pour la prise en charge des serveurs et des postes de travail Linux : la gamme SystemReady. Ces architectures définissent des caractéristiques pour le matériel, les micrologiciels, les exigences de démarrage et la sécurité. La solution Red Hat Enterprise Linux for ARM est certifiée pour Arm SystemReady SR. Les architectures SystemReady s'assurent que chaque couche de la pile technologique fonctionne, à commencer par le système d'exploitation.
Les conceptions ARM s'appuient considérablement sur la communauté. La souscription Red Hat donne accès à un large éventail de fournisseurs de matériel qui ont collaboré à des projets techniques et à des déploiements testés et certifiés, notamment des fabricants et des concepteurs de matériel ARM. Puisque l'architecture ARM reste étroitement liée à la conception matérielle, nous proposons avec Red Hat Enterprise Linux un programme d'accès anticipé avec les fournisseurs de l'écosystème matériel afin d'évaluer les nouveaux développements ARM.
Notre investissement dans la communauté ARM ainsi que le cycle de vie d'entreprise Open Source, la sécurité et les performances de Red Hat Enterprise Linux en font une excellente plateforme pour les charges de travail ARM.