ARM 处理器的架构和内核有哪些类别?
ARM架构的内核(指的是ARM内核和与其相关的CPU核心)可以根据多个维度来分类,通常会按照架构版本、CPU类型、核心设计等进行区分。下面列出了常见的分类方式。
ARM 架构相当于设计图,ARM 核心相当于各芯片厂商使用设计图(架构)来设计出来的具体芯片。相同的架构采用相同的指令集。
1. 根据 ARM 架构版本分类
ARM 内核可以按照不同的架构版本来分类,这些架构定义了CPU的指令集和其他硬件特性。
- ARMv1 到 ARMv3:这些是最早的版本,ARMv1 到 ARMv3 已经不再被广泛使用,并且大多数支持 ARM 架构的设备都已经移植到更高版本。
- ARMv4、ARMv4T:引入了Thumb指令集,可以更有效地压缩指令。
- ARMv5:包括了对更高性能的支持,加入了增强的指令集支持和其他功能,如 ARM5TE。
- ARMv6:支持更高的性能,针对低功耗设备(如手机、嵌入式设备)进行了优化。支持 ARM11 系列 CPU。
- ARMv7:加入了对 64 位 ARM 架构的初步支持,并大大提升了性能。ARMv7 核心包括了 Cortex-A 系列(例如 Cortex-A7、A9、A15)和 Cortex-R 系列。
- ARMv8:是 ARM 的 64 位架构,支持 AArch64(64 位模式)以及 AArch32(32 位模式),大大提高了计算能力。常见的 ARMv8 核心包括 Cortex-A53、Cortex-A57、Cortex-A72、Cortex-A73 和 Cortex-A76。
- ARMv9:最新的架构版本,进一步提升了性能和安全性,引入了支持更高带宽、更强性能的功能。ARMv9 主要有 Cortex-X 和 Cortex-A 系列核心。
2. 根据 CPU 核心类型分类
ARM 主要有两类不同的 CPU 核心:Cortex-A 系列 和 Cortex-M 系列。这些系列适用于不同类型的应用场景。
- Cortex-A 系列
这些是高性能核心,主要用于智能手机、平板、服务器、嵌入式设备等。
- Cortex-A:面向应用处理器,主要用于需要较高计算性能的场合。
- Cortex-A9:曾经广泛应用于智能手机、嵌入式系统中,支持 ARMv7-A 架构。
- Cortex-A15:比 A9 更强大,支持 ARMv7-A 架构,具有更好的性能。
- Cortex-A53 和 Cortex-A57:基于 ARMv8-A 架构,Cortex-A53 主要用于低功耗设备,Cortex-A57 提供更高的性能,适用于高端设备。
- Cortex-A72:支持 ARMv8-A,提供更强的性能,主要用于智能手机和嵌入式设备。
- Cortex-A73:比 A72 稍微提升,具有更好的效能和功耗平衡。
- Cortex-A76 和 A77:高性能处理器,适用于要求高性能的设备(如服务器和高端手机)。
- Cortex-A78:进一步优化了性能和功耗。
- Cortex-X1 和 X2:面向极致性能的处理器,特别适用于高端手机、笔记本和服务器。
- Cortex-R 系列
这些处理器面向实时应用,通常用于嵌入式系统、汽车、工业控制等。
- Cortex-R:具有低延迟和高可靠性,常用于实时操作系统和需要高可靠性的应用。
- Cortex-R4 和 Cortex-R5:高性能、低延迟,适用于汽车、工业控制等实时应用。
- Cortex-M 系列
这些处理器是低功耗、低成本的核心,主要用于微控制器、物联网设备、嵌入式设备等。
- Cortex-M:低功耗,适用于嵌入式控制器、物联网设备等。
- Cortex-M0、M3、M4:面向低功耗和实时应用。
- Cortex-M7:高性能,适用于需要更高计算能力的嵌入式应用。
- Cortex-M33、M35P:为 IoT、边缘计算等场景提供更多功能,支持 TrustZone 安全性。
- Cortex-A 和 Cortex-M 混合(big.LITTLE)架构
ARM 引入了 big.LITTLE 技术,结合高性能和低功耗的核心。一个典型的 big.LITTLE 配置包括:
- big 核心(例如 Cortex-A76):提供高性能。
- LITTLE 核心(例如 Cortex-A55):提供低功耗,适合处理简单任务。
这种组合使得处理器能够根据任务的不同需求动态地切换核心,以获得更好的性能和功耗平衡。
3. 常见的 ARM 核心型号
- Cortex-A 系列:适用于手机、平板、嵌入式系统。
- Cortex-M 系列:适用于微控制器和物联网设备。
- Cortex-R 系列:适用于实时系统和高可靠性要求的应用。
4. ARM64 (AArch64) 和 ARM32 (AArch32)
- AArch32:32 位模式,适用于早期的 ARMv7 系列。
- AArch64:64 位模式,适用于 ARMv8 及更高版本的架构,提供更大的寻址空间和更高的性能。
总结
ARM 主要有几种内核分类,最重要的是:
- 架构版本(ARMv7、ARMv8、ARMv9)。
- CPU 类型(Cortex-A、Cortex-R、Cortex-M)。
- 大核和小核的组合(big.LITTLE)。
- 32 位和 64 位模式(AArch32 和 AArch64)。
每种内核设计都有不同的应用场景,选择时通常需要根据你的目标平台(手机、嵌入式设备、服务器等)来决定。