Nous avons récemment reçu une excellente question qui nous a rappelé que tout le monde ne se tenait pas au courant des spécifications et de la conception du matériel. Quelqu'un a demandé ce que voulait dire ARM.
Tout d'abord, c'est une question géniale. J'imagine qu'il est difficile de comprendre certaines des discussions techniques qui ont lieu si vous n'êtes pas sûr des bases, et le seul moyen de le savoir est de demander. Donc, nous sommes heureux que vous ayez demandé!
ARM est une société et ARM est une architecture de processeur qu’elles développent et vendent.
Lorsque vous voyez une discussion technique et que le mot ARM est utilisé, cela décrit un type de processeur. La définition ultra-technique d'un processeur ARM est un processeur basé sur l'architecture basée sur RISC développée par Acorn Computers dans les années 1980 et qui est maintenant développée par Advanced RISC Machines (donc l'ARM).
Ce n'est pas très utile lorsque vous ne savez pas ce que cela signifie. Alors parlons de ce que cela signifie.
ARM, Ltd. est une société anglaise qui développe et conçoit une architecture de processeur. L'abréviation ARM pour la conception du processeur représente Acorn RISC Machine, et l'abréviation ARM pour la société qui conçoit et vend la licence d'utilisation de cette architecture signifie Advanced RISC Machines. Ne vous attardez pas sur quel bras signifie quoi, car de nos jours, les deux sont interchangeables. La société ARM conçoit une méthode permettant de créer des processeurs ARM. Des sociétés telles que Qualcomm, Apple et Samsung lui accordent tous une licence leur permettant de créer leurs propres processeurs personnalisés. Beaucoup d'autres entreprises ont également une licence pour la conception ARM. La plupart des appareils de petite taille et alimentés par batterie nécessitant un cerveau utiliseront un processeur ARM.
Les processeurs ARM sont conçus pour effectuer de nombreuses tâches simples en même temps sans nécessiter beaucoup de puissance.
RISC est synonyme d' informatique à jeu d'instructions réduit. Le processeur Intel ou AMD que vous trouverez sur votre ordinateur portable ou de bureau est probablement un processeur CISC (ensemble d'instructions complexe). Les deux types différents sont conçus pour des besoins différents. Un processeur RISC est conçu pour exécuter un nombre d'instructions inférieur (des instructions définissent les ordres pouvant être envoyés à un processeur par un programme) par rapport à un processeur CISC. Parce qu'ils peuvent faire moins de choses, ils peuvent avoir une fréquence plus élevée - les nombres en gigahertz dont vous entendez parler - et exécuter plus de MIPS (millions d'instructions par seconde) qu'un processeur CISC.
Lorsque vous réduisez le nombre d'instructions que le processeur peut calculer, vous pouvez créer un circuit plus simple à l'intérieur de la puce. Un processeur RISC utilise moins de transistors, ce qui consomme moins d'énergie. Étant donné que les circuits sont simples (on les appelle chemins optimisés en langage technique), une taille de puce plus petite peut être utilisée pour construire le processeur. La taille de la matrice est la mesure d'une puce sur la tranche de silicium sur laquelle un processeur est construit. Lorsque la taille de la matrice est plus petite, davantage de composants avec moins de câblage peuvent être placés sur la surface du processeur. Cela rend les processeurs ARM plus petits et moins gourmands en énergie.
Les processeurs petits, rapides et simples sont parfaits pour des choses comme les téléphones. Un téléphone ne demande pas à la CPU de traiter des choses telles que les données de collision 3D (sauf s'il s'agit d'un téléphone Tango) ou d'essayer d'exécuter des centaines de threads sur son nombre limité de cœurs. Les logiciels mobiles, à la fois le système d'exploitation et les applications qui y sont exécutées, sont codés et optimisés pour l'ensemble d'instructions réduites utilisé par le processeur ARM. Mais cela ne signifie pas que les processeurs ARM ne sont pas puissants en tant que tels.
La spécification ARM actuelle permet une conception 32 bits et 64 bits, une virtualisation matérielle, une gestion de l'alimentation avancée pouvant s'interfacer avec le logiciel utilisateur et une architecture de chargement / stockage essentiellement exécutée sur un cycle et orthogonale. Si vous êtes curieux de savoir ce que sont ces choses, vous pouvez rechercher d'autres types d'architectures.
Tout ce que vous avez besoin de savoir, c’est que cela signifie que les processeurs ARM sont également très performants dans les domaines autres que les téléphones et les lecteurs multimédias. Des choses comme les super-ordinateurs.
Excellente playlist vidéo d'ARM Architecture Fundamentals
ARM a un excellent rapport performance / watt. Un logiciel correctement codé peut faire plus par watt d'électricité utilisé sur une puce ARM que sur un processeur x86 (processeur CISC popularisé par Intel). Cela facilite la mise à l'échelle de serveurs et de super-ordinateurs lors de l'utilisation de processeurs ARM.
Vous pouvez obtenir la quantité de puissance brute de calcul nécessaire à partir de 24 cœurs de processeur x86, ou de centaines de petits cœurs ARM à faible consommation. Les cœurs x86 utiliseront leur puissance de calcul pour effectuer les calculs nécessaires sur seulement quelques cœurs et threads de processeur, tandis que les cœurs ARM répartiront les tâches sur de nombreux cœurs à faible capacité et moins complexes. Les cœurs ARM sont beaucoup plus nombreux, mais ils n'ont pas besoin de plus de puissance ou de place que les 24 cœurs x86. Cela facilite la mise à l'échelle - en ajoutant plus de puissance de calcul à la conception d'un processeur - avec ARM. Ajoutez simplement plus de cœurs de processeur et assurez-vous que votre logiciel est écrit pour bien fonctionner avec le jeu d'instructions ARM.
Les processeurs ARM évoluent très bien et fonctionnent sur des super-ordinateurs et des serveurs ainsi que sur votre Android ou votre iPad.
En fin de compte, une instance unique d'un processeur ARM ne sera jamais aussi puissante qu'un processeur Intel Core i7 que l'on trouverait dans un PC de jeu. Il n’est pas très bon d’exécuter le logiciel écrit pour le processeur Intel x86 et de nombreux changements de codage sont nécessaires, ou une machine virtuelle, pour faire la même chose. Mais ce processeur Intel Core i7 consomme environ 12 fois plus d'énergie, nécessite un système de refroidissement actif et ne s'intégrera jamais dans le corps du téléphone. Le processeur ARM, moins complexe, fonctionne bien lorsque le logiciel est écrit pour le prendre en charge directement. Grâce à sa faible consommation et à sa petite taille, il est facile d'ajouter quelques cœurs à haute vitesse d'horloge à un processeur pour exécuter le logiciel avancé que nous souhaitons tous. à utiliser sur nos téléphones.
Et si vous avez un centre de données en montagne quelque part, vous pouvez continuer à évoluer et ajouter d'autres cœurs jusqu'à ce que vous créiez des ordinateurs capables de gérer des fonctions telles que les voitures intelligentes de NVIDIA ou les machines d'apprentissage de Google.