Quelle est la différence entre arm64 et armhf?

125

Raspberry Pi Type 3 a CPU 64 bits, mais son architecture est pas arm64mais armhf. Quelle est la différence entre arm64et armhf?

Furouchtchev
la source
11
armhf = instructions en virgule flottante matérielles + jeu d'instructions 32 bits. ARM 64 bits prend en charge la virgule flottante matérielle et NEON par défaut, donc pas besoin de spécifier un qualificatif comme «hf». Comme mentionné ci-dessous, la fondation RPi n'a pas encore ajouté de support pour le mode 64 bits sur le Pi3.
BitBank
3
Veuillez noter que la division de la communauté Arch Linux dédiée à la plateforme ARM ( archlinuxarm.org ) prend déjà en charge Aarch64 sur Rpi3. Vous pouvez télécharger une image pour Rpi3.
Amit Vujic

Réponses:

188

armhfsignifie "arm hard float", et est le nom donné à un port debian pour les processeurs arm (armv7 +) qui ont un support matériel en virgule flottante.

Sur le beaglebone noir, par exemple:

:~$ dpkg --print-architecture
armhf

Bien que d'autres commandes (telles que uname -aou arch) s'affichent simplementarmv7l

:~$ cat /proc/cpuinfo 
processor       : 0
model name      : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 995.32
Features        : half thumb fastmult vfp edsp thumbee neon vfpv3 tls
...

La vfpv3liste ci-dessous Featuresest ce qui fait référence au support en virgule flottante.

Soit dit en passant, armhfsi vos supports de processeur il, remplace essentiellement Raspbian, qui , si je comprends bien était principalement une reconstruction de armhfavec contournements pour faire face au travail avec le manque de soutien flottant de point de la pi framboise originale. De nos jours, bien sûr, il y a tout un écosystème autour de Raspbian, donc ils ne vont probablement pas l'abandonner. Cependant, c'est en partie pourquoi le beaglebone exécute directement Debian, et ce n'est pas grave même si vous êtes habitué à Raspbian, à moins que vous ne vouliez certains des logiciels non libres inclus spéciaux tels que Mathematica.

argentum2f
la source
6
Notez que debian et raspbian signifient apparemment des choses différentes par armhf: raspberrypi.stackexchange.com/a/87403/103374
codeling
18

Mise à jour: Oui, je comprends que cette réponse n'explique pas la différence entre arm64 et armhf. Il y a une excellente réponse qui explique cela sur cette page. Cette réponse visait à aider à mettre le demandeur sur la bonne voie, car il avait clairement un malentendu sur les capacités du Raspberry Pi au moment de la poser.

Où voyez-vous que l'architecture est armhf? Sur mon Raspberry Pi 3, j'obtiens:

$ uname -a
armv7l

Quoi qu'il en soit, armv7 indique que l'architecture du système est 32 bits. La première architecture ARM offrant une prise en charge 64 bits est armv8. Consultez ce tableau pour référence.

Vous avez raison de dire que le processeur du Raspberry Pi 3 est 64 bits, mais le système d'exploitation Raspbian n'a pas encore été mis à jour pour un périphérique 64 bits. Les logiciels 32 bits peuvent fonctionner sur un système 64 bits (mais pas l'inverse). C'est pourquoi vous ne voyez pas l'architecture signalée comme 64 bits.

Vous pouvez suivre le problème GitHub pour la prise en charge 64 bits ici , si vous êtes intéressé.

Francesca Nannizzi
la source
74
Ne répond pas à la question posée.
Manish
3
sur mon système, c'est uname -i
cdplayer