ARM64
ARM64(全称:AArch64,又称ARMv8-A)是ARM Holdings于2011年推出的64位指令集架构执行状态,属于ARM架构家族的重要演进。[1][2] 其采用精简指令集计算(RISC)设计哲学,支持64位寻址与数据处理,提供31个64位通用寄存器及全新的A64指令集。[3][4] ARM64在保持低功耗特性的同时显著提升了计算性能与内存寻址能力,现已成为移动设备、嵌入式系统、服务器及桌面计算领域的主流架构之一。[5]
| 其他名称 | AArch64、ARMv8-A |
|---|---|
| 类型 | 指令集架构(ISA) |
| 设计哲学 | 精简指令集计算(RISC) |
| 寄存器宽度 | 64位 |
| 通用寄存器 | 31个(X0–X30) |
| 推出时间 | 2011年 |
| 设计者 | ARM Holdings |
| 相关指令集 | A64 |
历史
ARM架构起源于20世纪80年代英国Acorn Computers公司开发的Acorn RISC Machine处理器。[6] 1990年,ARM Holdings作为Acorn Computers、Apple Computer与VLSI Technology的合资企业正式成立,总部设于英国剑桥,并确立了以IP授权为核心的商业模式。[7]
在ARMv7及更早版本中,ARM架构均为32位设计。随着移动设备和计算需求的发展,64位扩展成为必然趋势。2011年,ARM Holdings正式公布ARMv8-A架构,首次引入ARM64(官方称AArch64)执行状态,标志着ARM架构进入64位时代。[1][4] 首款搭载ARM64处理器的消费级产品为2013年发布的iPhone 5S,采用Apple A7芯片。[8]
此后,ARM64架构持续演进,历经ARMv8.1-A至ARMv8.9-A等多个版本更新,并于2021年推出ARMv9-A架构,在ARM64基础上进一步增强了安全性、机器学习和矢量计算能力。[1]
技术特性
寄存器与指令集
ARM64采用全新的A64指令集,指令长度为固定的32位,与32位时代的A32(ARM)和T32(Thumb)指令集有显著区别。[3] 该架构提供31个64位通用寄存器(X0–X30),每个寄存器亦可作为32位寄存器(W0–W30)访问,大幅提升了数据处理能力。[2][3] 此外,ARM64引入了独立的零寄存器(XZR/WZR),读取时恒为零,写入时被忽略;程序计数器(PC)不再作为通用寄存器使用。[3]
在浮点与SIMD运算方面,ARM64配备32个128位矢量/浮点寄存器(V0–V31),支持NEON指令集,可用于加速多媒体处理、密码学运算及机器学习推理任务。[2][5]
执行状态与异常模型
ARM64定义了AArch64执行状态,与之对应的32位兼容模式称为AArch32。处理器可在不同异常级别(Exception Levels)下运行:EL0(用户态)、EL1(内核态)、EL2(虚拟化监控)及EL3(安全监控),构成了层次化的权限管理体系。[4] 状态切换需通过异常进入与返回完成,AArch64与AArch32代码不能直接混用。[9]
内存与安全性
ARM64支持64位虚拟寻址,可配置39位或48位虚拟地址空间,配合4KB或64KB页面大小,满足大内存应用需求。[9] 架构层面集成了地址空间布局随机化(ASLR)、内存标记扩展(MTE)及TrustZone安全技术等硬件安全特性,增强了系统对漏洞利用的抵御能力。[5]
与x86-64的比较
ARM64与x86-64(又称AMD64)是当代两大主流64位架构,但设计哲学迥异。ARM64基于RISC理念,指令集简洁、定长,强调能效比;x86-64基于CISC理念,指令复杂、变长,追求单线程性能。[5]
在功耗方面,ARM64处理器典型功耗在数瓦至数十瓦范围,适合电池供电设备;x86-64桌面及服务器处理器功耗通常在35W至250W以上,需主动散热。在软件生态上,x86-64拥有数十年的桌面与服务器软件积累;ARM64则在移动生态占据绝对主导,并借助Apple Silicon、Windows on ARM及Linux发行版迅速扩展桌面与服务器支持。[5]
近年来,基于ARM64的云服务器实例在性价比与能效方面展现出显著优势,推动ARM64在数据中心市场的份额持续增长。[10]
应用领域
移动与嵌入式
ARM64是当代智能手机与平板电脑的主流架构。Apple A系列、高通Snapdragon系列、三星Exynos系列及联发科天玑系列等移动处理器均基于ARM64设计。在嵌入式领域,ARM64广泛应用于物联网设备、单板计算机及工业控制系统,其低功耗特性与高性能表现满足了边缘计算场景的需求。[5]
服务器与云计算
ARM64在服务器市场的渗透显著加速。亚马逊AWS自2018年起推出自研Graviton系列ARM64处理器,面向EC2云服务提供高性价比计算实例。[10] 此外,Ampere Altra、富士通A64FX等ARM64处理器亦在云计算、高性能计算及超级计算领域获得部署。[11]
桌面计算
2020年,Apple发布基于ARM64的M1芯片,标志着ARM64正式进入主流桌面计算市场。M1及后续M2、M3、M4系列芯片采用苹果自定义微架构,在保持低功耗的同时实现了媲美甚至超越同期x86-64处理器的性能表现。[12][13] 微软亦推动Windows on ARM initiative,使Windows操作系统能够在ARM64设备上原生运行。[5]
参考文献
- ↑ 1.0 1.1 1.2 Arm A-Profile Architecture - Arm Developer
- ↑ 2.0 2.1 2.2 ARMv8-A Architecture Overview, University of Texas at Austin
- ↑ 3.0 3.1 3.2 3.3 The AArch64 processor (aka arm64), part 1: Introduction - Microsoft Developer Blog
- ↑ 4.0 4.1 4.2 ARMv8-A Architecture Overview - ARM
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 5.6 What Is AArch64? ARM64 Architecture, Registers, Features - IIES
- ↑ Arm Holdings - Computing History
- ↑ The official history of Arm - Arm Newsroom
- ↑ ARM64 vs AARCH64: Understanding the Differences - CodeFiner
- ↑ 9.0 9.1 ARM Delivers 64-bit ARMv8 Linux Kernel Support (AArch64) - Phoronix
- ↑ 10.0 10.1 Demo of Arm64 Software Concepts for Easier Adoption of AWS Graviton - GitHub
- ↑ Agent support for ARM64/Graviton and x86_64 - New Relic
- ↑ How to compile your MacOS desktop application for ARM64, Apple silicon M1 CPU chip - Starmessage Software
- ↑ Writing ARM64 code for Apple platforms - Apple Developer