Qual é a diferença entre arm64 e armhf?

125

Raspberry Pi Tipo 3 tem CPU de 64 bits, mas sua arquitetura não é arm64, mas armhf. Qual é a diferença entre arm64e armhf?

Furushchev
fonte
11
armhf = instruções de ponto flutuante de hardware + conjunto de instruções de 32 bits. O ARM de 64 bits oferece suporte a ponto flutuante de hardware e NEON por padrão, portanto, não há necessidade de especificar um qualificador como 'hf'. Conforme mencionado abaixo, a base RPi ainda não adicionou suporte para o modo de 64 bits no Pi3.
BitBank de
3
Observe que a divisão da comunidade do Arch linux dedicada à plataforma ARM ( archlinuxarm.org ) já tem suporte para Aarch64 no Rpi3. Você pode baixar uma imagem para Rpi3.
Amit Vujic

Respostas:

187

armhfsignifica "arm hard float", e é o nome dado a uma porta debian para processadores arm (armv7 +) que têm suporte de ponto flutuante de hardware.

No preto beaglebone, por exemplo:

:~$ dpkg --print-architecture
armhf

Embora outros comandos (como uname -aou arch) mostrem apenasarmv7l

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

O vfpv3listado abaixo Featuresé o que se refere ao suporte de ponto flutuante.

Aliás, armhfse os seus suportes de processador que, basicamente, substitui Raspbian, que se eu entendi foi , principalmente, uma reconstrução de armhfcom arounds trabalho para lidar com a falta de Suporte de ponto flutuante na framboesa originais pi do. Hoje em dia, é claro, há todo um ecossistema se acumulando em torno de Raspbian, então eles provavelmente não vão abandoná-lo. No entanto, é em parte por isso que o beaglebone roda o debian diretamente, e isso está ok mesmo se você estiver acostumado com o Raspbian, a menos que você queira algum software não-livre incluído especial como o Mathematica.

argentum2f
fonte
6
Observe que debian e raspbian aparentemente significam coisas diferentes por armhf: raspberrypi.stackexchange.com/a/87403/103374
codificação
18

Update: Sim, eu entendo que esta resposta não explica a diferença entre arm64 e armhf. Há uma ótima resposta que explica isso nesta página. Essa resposta teve o objetivo de ajudar a definir o autor da pergunta no caminho certo, pois eles claramente não entendiam as capacidades do Raspberry Pi no momento da pergunta.

Onde você está vendo que a arquitetura é armhf? No meu Raspberry Pi 3, recebo:

$ uname -a
armv7l

De qualquer forma, armv7 indica que a arquitetura do sistema é de 32 bits. A primeira arquitetura ARM que oferece suporte de 64 bits é armv8. Veja esta tabela para referência.

Você está correto ao dizer que a CPU no Raspberry Pi 3 é de 64 bits, mas o Raspbian OS ainda não foi atualizado para um dispositivo de 64 bits. O software de 32 bits pode ser executado em um sistema de 64 bits (mas não vice-versa). É por isso que você não está vendo a arquitetura relatada como 64 bits.

Você pode acompanhar o problema do GitHub para suporte de 64 bits aqui , se estiver interessado.

Francesca Nannizzi
fonte
73
Não respondendo à pergunta que está sendo feita.
Manish
3
no meu sistema é uname -i
cdplayer