В чем разница между arm64 и armhf?


127

Raspberry Pi Type 3 имеет 64-битный процессор, но его архитектура не arm64но armhf. В чем разница между arm64и armhf?


11
armhf = аппаратные инструкции с плавающей запятой + 32-битный набор инструкций. 64-разрядная ARM по умолчанию поддерживает аппаратную плавающую точку и NEON, поэтому указывать квалификатор типа «hf» не нужно. Как упоминается ниже, RPi Foundation еще не добавила поддержку 64-битного режима на Pi3.
BitBank

3
Обратите внимание, что подразделение сообщества Arch linux, посвященное платформе ARM ( archlinuxarm.org ), уже поддерживает Aarch64 на Rpi3. Вы можете скачать изображение для Rpi3.
Амит

Ответы:


189

armhfрасшифровывается как «arm hard float», и это имя, данное порту debian для процессоров arm (armv7 +), которые имеют аппаратную поддержку с плавающей запятой.

На биглебоне черный, например:

:~$ dpkg --print-architecture
armhf

Хотя другие команды (например, uname -aили arch) будут просто отображатьarmv7l

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

Ниже vfpv3перечислено Featuresто, что относится к поддержке с плавающей запятой.

Кстати, armhfесли ваш процессор поддерживает его, в основном заменяет Raspbian, что , если я правильно понял было в основном восстановить из armhfс работой обходными , чтобы иметь дело с отсутствием поддержки плавающей точкой на оригинале малины Пи. В настоящее время, конечно, вокруг Raspbian создана целая экосистема, поэтому они, вероятно, не собираются отказываться от него. Однако отчасти поэтому beaglebone запускает прямо debian, и это нормально, даже если вы привыкли к Raspbian, если вам не нужно какое-то специальное включенное несвободное программное обеспечение, такое как Mathematica.


6
Обратите внимание, что debian и raspbian, по-видимому, означают разные вещи под armhf: raspberrypi.stackexchange.com/a/87403/103374
codeling

18

Обновление: Да, я понимаю, что этот ответ не объясняет разницу между arm64 и armhf. На этой странице есть отличный ответ, который объясняет это. Этот ответ был призван помочь установить правильный путь, так как у него явно было недопонимание возможностей Raspberry Pi на момент запроса.

Где ты видишь, что архитектура - это армхф? На моем Raspberry Pi 3 я получаю:

$ uname -a
armv7l

В любом случае, armv7 указывает, что архитектура системы 32-битная. Первая архитектура ARM, предлагающая 64-битную поддержку, - это armv8. См. Эту таблицу для справки.

Вы правы, что процессор в Raspberry Pi 3 64-битный, но ОС Raspbian еще не обновлена ​​для 64-битного устройства. 32-битное программное обеспечение может работать в 64-битной системе (но не наоборот). Вот почему вы не видите, что архитектура считается 64-битной.

Если вам интересно, вы можете следить за проблемой GitHub для 64-битной поддержки здесь .


74
Не отвечает на заданный вопрос.
Manish

3
в моей системе это uname -i
cdplayer
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.