¿Cuál es la diferencia entre arm64 y armhf?

125

Frambuesa Pi Tipo 3 tiene CPU de 64 bits, pero su arquitectura no es arm64sino armhf. ¿Cuál es la diferencia entre arm64y armhf?

furushchev
fuente
11
armhf = instrucciones de punto flotante de hardware + conjunto de instrucciones de 32 bits. ARM de 64 bits admite punto flotante de hardware y NEON de forma predeterminada, por lo que no es necesario especificar un calificador como 'hf'. Como se menciona a continuación, la base RPi aún no ha agregado soporte para el modo de 64 bits en el Pi3.
BitBank
3
Tenga en cuenta que la división de la comunidad Arch linux dedicada a la plataforma ARM ( archlinuxarm.org ) ya tiene soporte para Aarch64 en Rpi3. Puede descargar una imagen para Rpi3.
Amit Vujic

Respuestas:

187

armhfsignifica "arm hard float", y es el nombre que se le da a un puerto debian para procesadores arm (armv7 +) que tienen soporte de hardware de punto flotante.

En el beaglebone negro, por ejemplo:

:~$ dpkg --print-architecture
armhf

Aunque otros comandos (como uname -ao arch) solo mostraránarmv7l

:~$ 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
...

Lo que se vfpv3enumera a continuación Featureses lo que se refiere al soporte de punto flotante.

Por cierto, armhfsi admite su procesador es, básicamente reemplaza Raspbian, que si he entendido bien era principalmente una reconstrucción de armhfla arounds de trabajo para hacer frente a la falta de apoyo flotante punto de la frambuesa originales pi. Hoy en día, por supuesto, existe todo un ecosistema alrededor de Raspbian, por lo que probablemente no lo abandonen. Sin embargo, esta es en parte la razón por la que beaglebone funciona directamente con Debian, y eso está bien incluso si estás acostumbrado a Raspbian, a menos que quieras algunos de los programas especiales no libres incluidos, como Mathematica.

argentum2f
fuente
6
Tenga en cuenta que debian y raspbian aparentemente significan cosas diferentes por armhf: raspberrypi.stackexchange.com/a/87403/103374
codeling
18

Actualización: Sí, entiendo que esta respuesta no explica la diferencia entre arm64 y armhf. Hay una gran respuesta que explica eso en esta página. Esta respuesta tenía la intención de ayudar a que la persona que preguntaba por el camino correcto, ya que claramente tenía un malentendido sobre las capacidades de la Raspberry Pi en el momento de preguntar.

¿Dónde ves que la arquitectura es armhf? En mi Raspberry Pi 3, obtengo:

$ uname -a
armv7l

De todos modos, armv7 indica que la arquitectura del sistema es de 32 bits. La primera arquitectura ARM que ofrece soporte de 64 bits es armv8. Ver esta tabla como referencia.

Tiene razón en que la CPU en Raspberry Pi 3 es de 64 bits, pero el sistema operativo Raspbian aún no se ha actualizado para un dispositivo de 64 bits. El software de 32 bits puede ejecutarse en un sistema de 64 bits (pero no al revés). Es por eso que no ve la arquitectura reportada como de 64 bits.

Puede seguir el problema de GitHub para obtener soporte de 64 bits aquí , si está interesado.

Francesca Nannizzi
fuente
73
No responder a la pregunta que se hace.
Manish
3
en mi sistema es uname -i
cdplayer