Debian

Différence entre ARM64, ARMel et ARMhf

Différence entre ARM64, ARMel et ARMhf

La plupart d'entre nous, lorsque nous cherchons à acheter un nouveau smartphone, une tablette ou tout autre gadget électronique, nous voyons le terme processeur "ARM vXXX" dans la liste des spécifications. Mais on ne se soucie guère de savoir ce qu'est un processeur ARM. Donc, dans ce guide, nous allons explorer en bref les processeurs ARM.

Qu'est-ce que ARM de toute façon?

ARM ou Advanced RISC Machines ou Acorn RISC Machine (nom précédent) est l'un des cœurs de processeur les plus utilisés au monde. Le processeur ARM est devenu le premier processeur RISC commercial en 1985. La première version était une machine RISC 26 bits. Avec sa deuxième version en 1987, la version 2 d'ARM a introduit la fonctionnalité de coprocesseur. Au fil du temps, les processeurs de bras ont beaucoup évolué. La société ARM fournit des licences payantes à quiconque souhaite fabriquer des processeurs ou des produits SOC en fonction de leur architecture. ARM Holdings, basée à Cambridge, au Royaume-Uni, est responsable de cette activité à l'intérieur et à l'extérieur. Apple, Qualcomm, Texas Instruments, Nvidia, Samsung, etc., sont quelques-uns des consommateurs notables de la famille ARM.

Les processeurs ARM sont principalement utilisés dans les appareils mobiles et les systèmes embarqués. Ils sont de petite taille et ont une faible consommation d'énergie, mais en même temps, ils offrent des performances élevées. Le point à considérer est le problème de conception, car le logiciel conçu pour ARM ne peut pas fonctionner sur des appareils non ARM. C'est comme si deux personnes avec des langues différentes ne peuvent pas comprendre ce que l'autre parle.

Caractéristiques du processeur ARM

  1. Basé sur RISC ou sur un jeu d'instructions réduit.
  2. Taille fixe et jeu d'instructions uniformes.
  3. Prise en charge du pipeline à plusieurs étages pour l'instruction.
  4. Prend en charge une large gamme de fréquences.
  5. Exécution du byte-code Java.
  6. Optimisé pour l'utilisation de la batterie dans les appareils mobiles.

Au sens large, l'architecture ARM comporte trois types de profils :

UNE-profil ou profil d'application

R-profil ou profil en temps réel

M-profil ou profil Micro-contrôleur

Pourquoi ARM est-il utilisé par les géants de la technologie

Pendant longtemps, ARM est considéré comme le processeur des appareils mobiles, avec x86/x64 comme processeur cible pour les ordinateurs de bureau et les serveurs. Mais avec l'évolution des technologies, les processeurs ARM sont utilisés pour les tablettes. Pour e.g., Windows 10 antérieur ne peut être exécuté que sur des processeurs basés sur x86 et x64, mais le bureau Windows 10 récent peut fonctionner sur des processeurs basés sur l'architecture ARM64. Microsoft a assuré la compatibilité des applications pour les applications basées sur x86 et x64 afin de fonctionner correctement sur les PC basés sur ARM64. Bien que les applications basées sur ARM32 et ARM64 s'exécutent directement, l'application basée sur x86 nécessitera une émulation pour s'exécuter.

Certaines versions de Windows, telles que Windows 8, nécessitent un processeur x86 ou x64, tandis que Windows RT nécessite un processeur ARM. Bien que x86/x64 soient très rapides par rapport au processeur ARM, ils consomment beaucoup d'énergie. Par conséquent, ils sont mieux adaptés aux serveurs et aux ordinateurs de bureau. Dans le même temps, le processeur ARM est relativement lent mais nécessite peu d'énergie pour fonctionner. Cela les rend plus adaptés aux appareils mobiles fonctionnant sous Android, IOS, etc.

Apple a annoncé le déplacement de sa série MAC d'Intel vers des processeurs SoC et SiP, qui sont basés sur l'architecture ARM. Selon Apple, avec les processeurs ARM, ils offriront des performances combinées à une batterie longue durée. Les puces Apple Silicon sont la première puce basée sur Arm conçue par Apple à être utilisée dans les récents MacBook Air, MacBook Pro et Mac mini.

Les trois ports Debian ARM : Debian/armel, Debian/armhf et Debian/arm64

Debian/armhf est l'acronyme de "bras dur flotteur,” représentant un portage sur Debian.  Le portage Debian armhf a été lancé au profit de l'unité à virgule flottante (FPU) sur les cartes ARM 32 bits modernes.

Pour les exigences de précision critiques dans les applications basées sur l'informatique et le traitement du signal numérique (DSP), la virgule flottante est particulièrement adaptée. Un processeur ARMv7 avec la version 3 de la spécification à virgule flottante vectorielle ARM (VFPv3) est la configuration minimale requise pour le port Debian armhf.

Il est principalement utilisé pour les appareils mobiles (smartphones, tablettes) et les appareils embarqués.

Diverses plates-formes sont connues pour être prises en charge par Debian/armhf :

  1. Carte de démarrage rapide Freescale MX53 : La i.La carte de démarrage rapide MX53 a un processeur Arm Cortex-A8 de 1 GHz. C'est une plate-forme open source pour le développement.
  2. NVIDIA Jetson TK1 : c'est une carte développeur avec un processeur ARM Cortex-A15 32 bits.
  3. SolidRun Cubox-i4Pro : la série Cubox-i est une petite plate-forme de calcul. Cubox-i4Pro dispose d'un processeur ARM Cortex A9.

Les autres plates-formes prises en charge incluent Wandboard, Seagate Personal Cloud et Seagate NAS, SolidRun Cubox-i2eX tec. La plate-forme EfikaMX était auparavant prise en charge jusqu'à Debian 7, mais à partir de Debian 8, le support est abandonné.

Debian/Armel ou alors BRAS EABI ou alors Port ABI intégré sur Debian était destiné aux anciens processeurs ARM 32 bits. Il ne prend pas en charge les unités matérielles à virgule flottante (FPU). ARM EABI ou armel est censé fonctionner avec les versions d'architecture ARM 4T, 5T et supérieures, mais avec la version Debian 10 (buster), le support ARM4T est supprimé.

Selon Oracle, l'armel vers armhf est en cours, il peut donc y avoir des incompatibilités entre eux. Pour vérifier si votre système exécute armhf ou armel, exécutez la commande ci-dessous sur votre terminal Linux :

$ readelf -A /proc/self/exe | grep Tag_ABI_VFP_args

Si la commande ci-dessus renvoie une balise Tag_ABI_VFP_args, alors il s'agit d'un système armhf, alors qu'une sortie vide indique qu'il s'agit d'un système armel. Pour e.g., une distribution framboise renverra un Tag_ABI_VFP_args : VFP enregistre le tag car il s'agit d'une distribution armhf. D'un autre côté, une distribution Debian Wheezy flottante donnera une sortie vide, indiquant qu'il s'agit d'une distribution armel.

La liste suivante contient les différentes plates-formes prises en charge par Debian/armel :

  1. Kirkwood et Orion5x SoC de Marvell avec un processeur ARM.
  2. Plateforme polyvalente avec émulateur QEMU.

Debian/arm64 cible les processeurs ARM 64 bits, ce qui nécessite une architecture ARMv8 minimale. Le traitement 64 bits offre une capacité de calcul améliorée. Cette amélioration de traitement est obtenue avec une augmentation de la capacité d'adressage mémoire dans l'architecture 64 bits.  Le matériel Arm64 a été lancé pour la première fois pour l'iPhone 5 en 2013. Le nom gnu pour ARM64 est aarch64-linux-gnu. La bonne chose avec ARM64 est qu'il est compatible avec son prédécesseur 32 bits. Cela aide à exécuter les binaires ou les logiciels ARMv7 sans aucune modification sur l'architecture ARMv8.

Debian a publié le port ARM64 pour la première fois dans son système d'exploitation Debian 8 (Jessie). La liste des différentes plateformes supportées par Debian/ARM est donnée ci-dessous :

  1. Applied Micro (APM) Mustang/X-Gene : c'est la première plate-forme connue avec l'architecture ARMv8 avec un processeur à 8 cœurs.
  2. Plate-forme de développement ARM Juno : selon ARM, la plate-forme de développement Juno Arm est un développement Armv8 ouvert et indépendant des fournisseurs avec un processeur ARMv8-A à 6 cœurs.

Exemples d'appareils utilisant l'architecture ARM64 : Raspberry Pi 2, Raspberry Pi 3, Microsoft HoloLens 2, DragonBoard, plusieurs appareils IoT, ordinateurs portables et ordinateurs de bureau modernes, smartphones, etc

Vérifier le type de processeur de votre carte.

Pour vérifier le type de processeur sur une machine Ubuntu, utilisez simplement la commande suivante :

$ dpkg -print-architecture

Pour une liste détaillée des différentes fonctionnalités de votre CPU, utilisez la commande suivante :

$ cat /proc/cpuinfo[//c]
Une autre commande que vous pouvez utiliser pour voir l'architecture du processeur de votre système est donnée ci-dessous :
[cc lang="bash" width="100%" height="100%" escaped="true" theme="blackboard"]
$ uname -a
Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...
Comment utiliser le moteur de triche GameConqueror sous Linux
L'article couvre un guide sur l'utilisation du moteur de triche GameConqueror sous Linux. De nombreux utilisateurs qui jouent à des jeux sur Windows u...
Meilleurs émulateurs de console de jeu pour Linux
Cet article répertorie les logiciels d'émulation de console de jeu populaires disponibles pour Linux. L'émulation est une couche de compatibilité logi...