ICQ:修订间差异
创建页面,内容为“ICQ(全称:I Seek You,中文谐音:我找你)是一款曾经风靡全球的跨平台即时通讯与VoIP服务,是全球最早的独立即时通讯应用之一,由以色列Mirabilis公司于1996年开发推出<ref name=":0">[https://www.britannica.com/technology/ICQ ICQ | Definition, History, & Facts | Britannica]</ref>。该服务作为即时通讯领域的先驱,奠定了后世社交软件的基础功能框架,历经三次易主后,最终…” |
TeodoroSeccombe(留言 | 贡献) 小 创建页面,内容为“。” |
||
| 第1行: | 第1行: | ||
{{Infobox | |||
| 标题 = ARM64 / AArch64 | |||
| 内容 = | |||
{{!}}- | |||
! 其他名称 | |||
{{!}} AArch64、ARMv8-A | |||
{{!}}- | |||
! 类型 | |||
{{!}} 指令集[[架构]](ISA) | |||
{{!}}- | |||
! 设计哲学 | |||
{{!}} 精简指令集计算(RISC) | |||
{{!}}- | |||
! 寄存器宽度 | |||
{{!}} 64位 | |||
{{!}}- | |||
! 通用寄存器 | |||
{{!}} 31个(X0–X30) | |||
{{!}}- | |||
! 推出时间 | |||
{{!}} 2011年 | |||
{{!}}- | |||
! 设计者 | |||
{{!}} ARM Holdings | |||
{{!}}- | |||
! 相关指令集 | |||
{{!}} A64 | |||
}} | |||
'''ARM64'''(全称:AArch64,又称'''ARMv8-A''')是ARM Holdings于2011年推出的64位指令集架构执行状态,属于ARM架构家族的重要演进。<ref name=":0">[https://developer.arm.com/Architectures/A-Profile%20Architecture Arm A-Profile Architecture - Arm Developer]</ref><ref name=":1">[https://users.ece.utexas.edu/~mcdermot/arch/lectures/Lecture_10a.pdf ARMv8-A Architecture Overview, University of Texas at Austin]</ref> 其采用精简指令集计算(RISC)设计哲学,支持64位寻址与[[数据]]处理,提供31个64位通用寄存器及全新的A64指令集。<ref name=":2">[https://devblogs.microsoft.com/oldnewthing/20220726-00/?p=106898 The AArch64 processor (aka arm64), part 1: Introduction - Microsoft Developer Blog]</ref><ref name=":3">[https://armkeil.blob.core.windows.net/developer/Files/pdf/graphics-and-multimedia/ARMv8_Overview.pdf ARMv8-A Architecture Overview - ARM]</ref> ARM64在保持低功耗特性的同时显著提升了计算性能与内存寻址能力,现已成为移动设备、嵌入式系统、[[服务器]]及桌面计算领域的主流架构之一。<ref name=":10">[https://iies.in/blog/aarch64-a-deep-dive-into-its-architecture-and-design/ What Is AArch64? ARM64 Architecture, Registers, Features - IIES]</ref> | |||
== | == 历史 == | ||
ARM架构起源于20世纪80年代英国Acorn Computers公司开发的Acorn RISC Machine处理器。<ref name=":6">[https://www.computinghistory.org.uk/det/21347/Arm-Holdings/ Arm Holdings - Computing History]</ref> 1990年,ARM Holdings作为Acorn Computers、[[Apple]] Computer与VLSI Technology的合资企业正式成立,总部设于英国剑桥,并确立了以IP授权为核心的商业模式。<ref name=":7">[https://newsroom.arm.com/blog/arm-official-history The official history of Arm - Arm Newsroom]</ref> | |||
在ARMv7及更早版本中,ARM架构均为32位设计。随着移动设备和计算需求的发展,64位扩展成为必然趋势。2011年,ARM Holdings正式公布ARMv8-A架构,首次引入ARM64(官方称AArch64)执行状态,标志着ARM架构进入64位时代。<ref name=":0" /><ref name=":3" /> 首款搭载ARM64处理器的消费级产品为2013年发布的iPhone 5S,采用Apple A7芯片。<ref name=":9">[https://codefiner.com/post/arm-64-vs-aarch-64-understanding-the-differences ARM64 vs AARCH64: Understanding the Differences - CodeFiner]</ref> | |||
此后,ARM64架构持续演进,历经ARMv8.1-A至ARMv8.9-A等多个版本更新,并于2021年推出ARMv9-A架构,在ARM64基础上进一步增强了安全性、机器学习和矢量计算能力。<ref name=":0" /> | |||
== 技术特性 == | |||
=== 寄存器与指令集 === | |||
= | ARM64采用全新的A64指令集,指令长度为固定的32位,与32位时代的A32(ARM)和T32(Thumb)指令集有显著区别。<ref name=":2" /> 该架构提供31个64位通用寄存器(X0–X30),每个寄存器亦可作为32位寄存器(W0–W30)访问,大幅提升了数据处理能力。<ref name=":1" /><ref name=":2" /> 此外,ARM64引入了独立的零寄存器(XZR/WZR),读取时恒为零,写入时被忽略;程序计数器(PC)不再作为通用寄存器使用。<ref name=":2" /> | ||
在浮点与SIMD运算方面,ARM64配备32个128位矢量/浮点寄存器(V0–V31),支持NEON指令集,可用于加速多媒体处理、密码学运算及机器学习推理任务。<ref name=":1" /><ref name=":10" /> | |||
=== 执行状态与异常模型 === | |||
ARM64定义了AArch64执行状态,与之对应的32位兼容模式称为AArch32。处理器可在不同异常级别(Exception Levels)下运行:EL0([[用户]]态)、EL1(内核态)、EL2(虚拟化监控)及EL3(安全监控),构成了层次化的权限管理体系。<ref name=":3" /> 状态切换需通过异常进入与返回完成,AArch64与AArch32代码不能直接混用。<ref name=":8">[https://www.phoronix.com/news/MTEzNDg ARM Delivers 64-bit ARMv8 Linux Kernel Support (AArch64) - Phoronix]</ref> | |||
=== 内存与安全性 === | |||
ARM64支持64位虚拟寻址,可配置39位或48位虚拟地址空间,配合4KB或64KB页面大小,满足大内存应用需求。<ref name=":8" /> 架构层面集成了地址空间布局随机化(ASLR)、内存标记扩展(MTE)及TrustZone安全技术等硬件安全特性,增强了系统对漏洞利用的抵御能力。<ref name=":10" /> | |||
== 与x86-64的比较 == | |||
ARM64与x86-64(又称AMD64)是当代两大主流64位架构,但设计哲学迥异。ARM64基于RISC理念,指令集简洁、定长,强调能效比;x86-64基于CISC理念,指令复杂、变长,追求单线程性能。<ref name=":10" /> | |||
在功耗方面,ARM64处理器典型功耗在数瓦至数十瓦范围,适合电池供电设备;x86-64桌面及服务器处理器功耗通常在35W至250W以上,需主动散热。在[[软件]]生态上,x86-64拥有数十年的桌面与服务器软件积累;ARM64则在移动生态占据绝对主导,并借助Apple Silicon、[[Windows]] on ARM及[[Linux]]发行版迅速扩展桌面与服务器支持。<ref name=":10" /> | |||
近年来,基于ARM64的云服务器实例在性价比与能效方面展现出显著优势,推动ARM64在数据中心市场的份额持续增长。<ref name=":11">[https://github.com/syl-taylor/graviton-arm64-demo Demo of Arm64 Software Concepts for Easier Adoption of AWS Graviton - GitHub]</ref> | |||
== 应用领域 == | |||
=== | === 移动与嵌入式 === | ||
此外 | ARM64是当代智能手机与平板电脑的主流架构。Apple A系列、高通Snapdragon系列、三星Exynos系列及联发科天玑系列等移动处理器均基于ARM64设计。在嵌入式领域,ARM64广泛应用于物联网设备、单板[[计算机]]及工业控制系统,其低功耗特性与高性能表现满足了边缘计算场景的需求。<ref name=":10" /> | ||
=== 服务器与云计算 === | |||
ARM64在服务器市场的渗透显著加速。亚马逊AWS自2018年起推出自研Graviton系列ARM64处理器,面向EC2云服务提供高性价比计算实例。<ref name=":11" /> 此外,Ampere Altra、富士通A64FX等ARM64处理器亦在云计算、高性能计算及超级计算领域获得部署。<ref name=":14">[https://docs.newrelic.com/docs/apm/agents/manage-apm-agents/configuration/support-arm-graviton-x86-64/ Agent support for ARM64/Graviton and x86_64 - New Relic]</ref> | |||
=== 桌面计算 === | |||
2020年,Apple发布基于ARM64的M1芯片,标志着ARM64正式进入主流桌面计算市场。M1及后续M2、M3、M4系列芯片采用苹果自定义微架构,在保持低功耗的同时实现了媲美甚至超越同期x86-64处理器的性能表现。<ref name=":12">[https://www.starmessagesoftware.com/blog/compile-macos-desktop-application-arm64-apple-silicon-m1-chip-cpu How to compile your MacOS desktop application for ARM64, Apple silicon M1 CPU chip - Starmessage Software]</ref><ref name=":4">[https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms Writing ARM64 code for Apple platforms - Apple Developer]</ref> [[微软]]亦推动Windows on ARM initiative,使Windows[[操作系统]]能够在ARM64设备上原生运行。<ref name=":10" /> | |||
== 参考文献 == | == 参考文献 == | ||
<references /> | |||
2026年7月15日 (三) 21:04的版本
ARM64(全称:AArch64,又称ARMv8-A)是ARM Holdings于2011年推出的64位指令集架构执行状态,属于ARM架构家族的重要演进。[1][2] 其采用精简指令集计算(RISC)设计哲学,支持64位寻址与数据处理,提供31个64位通用寄存器及全新的A64指令集。[3][4] ARM64在保持低功耗特性的同时显著提升了计算性能与内存寻址能力,现已成为移动设备、嵌入式系统、服务器及桌面计算领域的主流架构之一。[5]
历史
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