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