本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。
特性 | ARM V8 | ARM V7 |
---|---|---|
指令集 | 64位指令集 AArch64, 并且兼容32位指令集 AArch32 | 32位指令集 A32 和16位指令集 T16 |
支持地址长度 | 64位 | 32位 |
通用寄存器 | 31个 x0-x30(64位)或者 w0-w30(32位) | 15个, r0-r14 (32位) |
异常模式 | 4层结构 EL0-EL3 | 2层结构vector table |
NEON | 默认支持 | 可选支持 |
LAPE | 默认支持 | 可选支持 |
Virtualization | 默认支持 | 可选支持 |
big.LITTLE | 支持 | 支持 |
TrustZone | 默认支持 | 默认支持 |
SIMD寄存器 | 32个 X 128位 | 32个 X 64位 |
ARMv7-A 构架
The Armv7-A architecture introduces the concept of architecture profiles, a concept that continues in Armv8-A and Armv9-A. The Armv7-A architecture:
- Implements a traditional Arm architecture with multiple modes
- Supports a Virtual Memory System Architecture (VMSA) based on a Memory Management Unit (MMU)
- Supports the Arm (A32) and Thumb (T32) instruction sets
This architecture also supports multiple extensions:
- Security Extensions
- Multiprocessing Extensions
- Large Physical Address Extension
- Virtualization Extensions
- Generic Timer Extension
- Performance Monitors Extension
All of these extensions are optional and most of the functionality they provide is included in the Armv8-A architecture.
Cortex-A17
A17仍然基于32位ARMv7-A指令集,初期会采用28nm工艺,后期进化到20nm。本质架构和A12一样都是双宽度、乱序发射,仅仅是改进了外部互联,引入了新的一致性总线AMBA4 ACE,可以更快速地连接内存控制器,从而改善性能和能效。得益于这个新的总线,A17可以支持多核心SoC的完整内存一致性操作,能够参与big.LITTLE双架构混合方案,在特定频率、工艺、内存条件下,A17的性能比A12提升大约40%。在某些特定的环境中,A17的性能已经可以和A15处于一个档次了,但是功耗更低、能效更高。虽然在命名上排在Cortex-A15之上,但其定位中端,而不是高端。
Cortex-A15
Cortex-A15最早在2010年发布,基于32位ARMv7-A架构。A15和A9同样具备乱序执行,但是Cortex-A15具备(两倍)的指令发射端口和执行资源,指令解码能力也要高出50%,动态分支预测能力更强(采用了多层级分支表缓存),指令拾取带宽更强(128 bit vs 64 bit),这些都能让A15的流水线执行具备更高的效率。除此以外,A15采用了VFPv4浮点单元设计,能执行FMA指令以及硬件除法指令,相较而言A9的峰值向量浮点性能基本上只有A15的一半。Cortex-A15处理器可以应用在智能手机、平板电脑、移动计算、高端数字家电、服务器和无线基础结构等设备上。
Cortex-A9
ARM Cortex-A9采用ARMv7-A架构,目前我们能见到的四核处理器大多都是属于Cortex-A9系列。 Cortex-A9 处理器的设计旨在打造最先进的、高效率的、长度动态可变的、多指令执行超标量体系结构,提供采用乱序猜测方式执行的 8 阶段管道处理器,凭借范围广泛的消费类、网络、企业和移动应用中的前沿产品所需的功能,它可以兼具高性能和高能效。Cortex-A9 微体系结构既可用于可伸缩的多核处理器(Cortex-A9 MPCore多核处理器),也可用于更传统的处理器(Cortex-A9单核处理器)。可伸缩的多核处理器和单核处理器支持 16、32 或 64KB 4 路关联的 L1 高速缓存配置,对于可选的 L2 高速缓存控制器,最多支持 8MB 的 L2 高速缓存配置,它们具有极高的灵活性,均适用于特定应用领域和市场。
Cortex-A8
ARM Cortex-A8处理器,基于ARMv7-A架构,是目前使用的单核手机中最为常见的产品。Cortex-A8处理器是首款基于ARMv7体系结构的产品,能够将速度从600MHz提高到1GHz以上。Cortex-A8处理器可以满足需要在300mW以下运行的移动设备的功率优化要求;以及需要2000 Dhrystone MIPS的消费类应用领域的性能优化要求。Cortex-A8 高性能处理器目前已经非常成熟,从手机到上网本、DTV、打印机和汽车信息娱乐,Cortex-A8处理器都提供了可靠的高性能解决方案。
Cortex-A7
Cortex-A7采用ARMv7-A架构,它的特点是在保证性能的基础上提供了出色的低功耗表现。Cortex-A7处理器的体系结构和功能集与Cortex-A15 处理器完全相同,不同这处在于,Cortex-A7 处理器的微体系结构侧重于提供最佳能效,因此这两种处理器可在big.LITTLE(大小核大小核心伴侣结构)配置中协同工作,从而提供高性能与超低功耗的终极组合。单个Cortex-A7处理器的能源效率是Cortex-A8处理器的5倍,性能提升50%,而尺寸仅为后者的五分之一。
Cortex-A5
Cortex-A5处理器同样基于ARMv7-A架构,它是能效最高、成本最低的处理器,能够向最广泛的设备提供最基础的 Internet 访问。Cortex-A5 处理器在指令以及功能方面与更高性能的 Cortex-A8、Cortex-A9 和 Cortex-A15 处理器完全兼容 - 一直到操作系统级别。Cortex-A5 处理器还保持与经典 ARM 处理器(包括 ARM926EJ-S、ARM1176JZ-S 和 ARM7TDMI?)的向后应用程序兼容性。其定位于从入门级智能手机、低成本手机和智能移动设备以及基础工业设备。
ARMv8-A构架
ARMv8-A是ARM公司的首款支持64位指令集的处理器架构,包括ARM TrustZone技术、NEON、虚拟化和加密技术。
The Armv8-A architecture introduces the ability to use 64-bit and 32-bit Execution states, known as AArch64 and AArch32 respectively. The AArch64 Execution state supports the A64 instruction set. It holds addresses in 64-bit registers and allows instructions in the base instruction set to use 64-bit registers for their processing. The AArch32 Execution state is a 32-bit Execution state that preserves backwards compatibility with the Armv7-A architecture, enhancing that profile so that it can support some features included in the AArch64 state. It supports the T32 and A32 instruction sets.
Armv8-A architecture allows different levels of AArch64 and AArch32 support, for example:
- AArch64 only designs
- AArch64 designs that also support AArch32 operating systems and virtual machines
- AArch64 support with AArch32 at (unprivileged) application level only
Cortex-A32
这是ARM 新一代构架中,唯一一个 32 位(ARMv8-A )架构的处理器,但 A32 就像是 32 位版的 A35,目标很明显,就是在效能比本来就逆天的 A35 的基础上进一步控制功耗。A32 架构主打芯片面积、功耗控制和能耗比,其停留在 32 位(ARMv7-A 指令集),指令预取单元针对效率进行了重新设计,一、二级暂存、浮点和 DSP 操作性能则针对速度进行了改进,并引入了新的电源管理特性。其支持 TrustZone 安全加密、NEON SIMD 指令集、DSP / SIMD 扩展、VFPv4 浮点计算、虚拟硬件等。A32 可以在 32 位下提供和 A35 一样的性能。但更低功耗,让它的效能比(单位电能产出的性能)比 A35 还要高 10%、比 A5 高 30%、比 A7 高 25%。A35 可以透过提升频率达到 A53 80-100% 性能,也就是说,A32 也可以在 32 位下达到同样的性能等级,这时候的芯片面积只有 A53 的 68%,而功耗则只有 A53 的 61%。
在 64 位之下,A35 都有代替 A53 架构的实力,而在 32 位中,A32 就已经是完胜所有人的境界了,而且比起 64 位的 A35 架构,32 位的 A32 更适合用在穿戴设备和物联网产品上。
Cortex-A35
Cortex-A35是基于ARMv8-A 64位架构设计的一款低功耗CPU,其目的是为了取代此前32位Cortex-A7和Cortex-A5两颗老核心,采用和A53/A7类似的顺序有限双发射设计,同时融入了A72的一些新特性,并在前端重新设计了指令预取单元,提升了分支预测精度。此外,A35还采用了A53的缓存、内存架构,可配置8-64KB一级指令和数据缓存、128KB-1MB二级缓存,加入了NEON/FP单元,改进了存储性能,支持完整流水线的双精度乘法,还为CPU核心、NEON流水线都配备了硬件保留状态(独立电源域)以提升电源管理效率。在同样的工艺、频率下,A35的功耗比A7低大约10%,同时性能提升6-40%。而对比A53,它可以保留80-100%的性能,但是功耗降低32%、面积缩小25%,能效提升25%。A35还可以和A53、A57、A72等大核心搭配,组成big.LITTLE混合架构系统,进一步提升系统能效。其主要定位于低功耗的低端手机、可穿戴、物联网等领域。
Cortex-A53
Cortex-A53同样是采取了ARMv8-A架构,能够支持32位的ARMv7代码和64位代码的AArch64执行状态。A53架构特点是功耗降低、能效提高。其目标是28nm HPM制造工艺下、运行SPECint2000测试时,单个核心的功耗不超过0.13W。它提供的性能比Cortex-A7处理器的功率效率更高,并能够作为一个独立的主要的应用处理器,或者搭配Cortex-A57处理器构成big.LITTLE配置。Cortex-A53在相同的频率下,能提供比Cortex-A9更高的效能。其主要面对的是中高端电脑,平板电脑,机顶盒,数字电视等。
Cortex-A57
发布时间: ?
A57是arm第一代64位大核,首次采用64位ARMv8-A架构CPU,而且通过Aarch32执行状态,保持与ARMv7架构的完全后向兼容性。除了ARMv8的架构优势之外,Cortex-A57还提高了单个时钟周期性能,比高性能的Cortex-A15 CPU高出了20%至40%。它还改进了二级高速缓存的的设计以及内存系统的其他组件,极大的提高了能效。Cortex-A57将为移动系统提供超高能的性能,而借助big.LITTLE,SoC能以很低的平均功耗做到这一点。其主要面对的是中高端电脑,平板电脑以及服务器产品。
Cortex-A72
发布时间: 2015年年初
ARMv8-A构架
采用台积电16nm FinFET制造工艺,Cortex-A72可在芯片上单独实现性能,也可以搭配Cortex-A53处理器与ARMCoreLinkTMCCI高速缓存一致性互连(CacheCoherentInterconnect)构成ARMbig.LITTLETM配置,进一步提升能效。在相同的移动设备电池寿命限制下,Cortex-A72能相较基于Cortex-A15的设备提供3.5倍的性能表现,相比于Cortex-A57也有约1.8倍的性能提升,展现出了优异的整体功耗效率。
Cortex-A73
发布时间: 2016
ARMv8-A构架
Cortex-A73都可以提供适应性最强的移动应用生态开发环境。Cortex-A73包括128位 AMBR 4 ACE接口和ARM的big.LITTLE系统一体化接口,采用了目前最先进的10nm技术制造,可以提供比Cortex-A72高出30%的持续处理能力,非常适合移动设备和消费级设备使用。
Cortex-A78
发布时间: 2020
适用于5nm工艺,性能提升20%,功耗则降低了50%。
Cortex-A77
Cortex-A76
ARMv9-A 构架
The Armv9-A architecture builds on and is backwards compatible with the Armv8-A architecture. The Armv9-A architecture forms the foundation for the Arm Base System Architecture – a specification outlining a standard that ensures hardware and firmware compatibility across a wide range of applications at the system level.
The Armv9-A architecture introduces some major new features:
- SVE2: extending the benefit of scalable vectors to many more use cases
- Realm Management Extension (RME): extending Confidential Compute on Arm platforms to all developers. Read more about Confidential Compute and Arm architecture security features
- BRBE: providing profiling information, such as Auto FDO
- Embedded Trace Extension (ETE) and Trace Buffer Extension (TRBE): enhanced trace capabilities for Armv9
- TME: hardware transactional memory support for the Arm architecture