armv8-a 介绍

ARMv8-A 是针对应用配置文件的最新一代 ARM 架构。现在包括32位执行状态和64位执行状态。ARMv8 引入了使用 64 位宽寄存器执行执行的能力,但提供了向后兼容机制以使现有 ARMv7 软件能够执行。

AArch64是用于描述 ARMv8 架构的 64 位执行状态的名称。AArch32描述了ARMv8架构的32位执行状态,与ARMv7几乎相同。GNU 和 Linux 文档(Redhat 和 Fedora 发行版除外)有时将 AArch64 称为 ARM64。

由于 ARMv8-A 架构的许多概念与 ARMv7-A 架构相同,因此此处不再介绍所有这些概念的详细信息。。然而,ARMv8-A 架构配置文件向后兼容早期迭代,就像大多数版本的 ARM 架构一样。因此,ARMv8 架构和以前的架构的工作方式之间存在一定程度的重叠。ARMv7 架构的一般原理仅用于解释 ARMv8 和早期 ARMv7 架构之间的差异。

Cortex-A 系列处理器现在包括 ARMv8-A 和 ARMv7-A 实现:

Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15 和 Cortex-A17 处理器均实现 ARMv7-A 架构。

Cortex-A53 和 Cortex-A57 处理器实现 ARMv8-A 架构。

ARMv8 处理器仍然支持为 ARMv7-A 处理器编写的软件(有一些例外)。例如,这意味着为 ARMv7 Cortex-A 系列处理器编写的 32 位代码也可以在 ARMv8 处理器(例如 Cortex-A57)上运行。不过,该代码仅在 ARMv8 处理器处于 AArch32 执行状态时才会运行。然而,A64 64 位指令集不能在 ARMv7 处理器上运行,只能在 ARMv8 处理器上运行。

从 32 位到 64 位的变化

迁移到 64 位处理器可以带来多种性能

你可能感兴趣的:(armv8,arm开发)