关于linux:arm64和armhf有什么区别?

What is difference between arm64 and armhf?

Raspberry Pi Type 3具有64位CPU,但其体系结构不是arm64,而是armhf
arm64armhf有什么区别?


armhf代表" arm hard float",是为具有硬件浮点支持的arm处理器(armv7 +)的debian端口指定的名称。

例如,在beaglebone黑色上:

1
2
:~$ dpkg --print-architecture
armhf

尽管其他命令(例如uname -aarch)将仅显示armv7l

1
2
3
4
5
6
:~$ 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
...

Features下列出的vfpv3是指浮点支持。

顺便说一句,armhf(如果您的处理器支持的话)基本上取代了Raspbian,如果我正确理解的话,它主要是armhf的重建,并且具有变通方法来解决原始树莓派上缺乏浮点支持的问题。当然,如今,围绕Raspbian建立了一个完整的生态系统,因此他们可能不会放弃它。但是,这也是beaglebone直接运行debian的部分原因,即使您已经习惯了Raspbian,也可以,除非您想要某些特殊的非免费软件,例如Mathematica。


更新:是的,我知道此答案不能解释arm64和armhf之间的区别。这个页面上确实有一个很好的答案,可以解释这一点。回答这个问题的目的是为了帮助问问正确的人,因为他们在提问时显然对Raspberry Pi的功能有误解。

您在哪里看到该架构是armhf?在Raspberry Pi 3上,我得到:

1
2
$ uname -a
armv7l

无论如何,armv7表示系统架构是32位的。提供64位支持的第一个ARM体系结构是armv8。请参阅此表以供参考。

您是正确的,Raspberry Pi 3中的CPU是64位,但是Raspbian OS尚未针对64位设备进行更新。 32位软件可以在64位系统上运行(反之亦然)。这就是为什么您看不到该体系结构报告为64位的原因。

如果您有兴趣,可以在此处关注GitHub问题以获得64位支持。