arm64
arm64, znany również jako AArch64 lub ARMv8‑A, jest 64‑bitową architekturą procesorów opracowaną przez firmę ARM. Została wprowadzona w 2011 roku jako rozszerzenie 32‑bitowej architektury ARMv7 i od tego czasu stała się podstawą wielu nowoczesnych urządzeń mobilnych, serwerów oraz komputerów osobistych.
Historia
Rozwój architektury 64‑bitowej rozpoczął się w 2010 roku, kiedy ARM ogłosiło plany opracowania nowej generacji instrukcji, zdolnej konkurować z x86‑64. Pierwsze komercyjne implementacje ARMv8‑A pojawiły się w 2014 roku w smartfonach opartych na procesorach Cortex‑A53 i Cortex‑A57. Od tego czasu architektura arm64 była stopniowo adoptowana w platformach takich jak Apple M1, Snapdragon, Exynos oraz w serwerach od firm Amazon Web Services i Microsoft Azure.
Techniczne cechy architektury
- Rozmiar słowa: 64 bity, co pozwala na adresowanie pamięci do 264 bajtów.
- Zestaw instrukcji: Zoptymalizowany pod kątem wydajności i energooszczędności. Instrukcje podzielone są na klasy data processing, load/store, branch i system.
- Rejestry: 31 ogólnych rejestrów 64‑bitowych (X0‑X30) oraz 32‑bitowy rejestr stanu (NZCV). Dodatkowo dostępne są rejestry SIMD/FP (V0‑V31) oraz rejestry systemowe.
- Tryby pracy: Obsługa trybu EL0 (użytkownik) i EL1‑EL3 (system/monitor).
- Wykonywanie równoległe: Wsparcie dla technologii NEON oraz instrukcji kryptograficznych (AES, SHA‑1/2).
Kompatybilność z 32‑bitową architekturą
Procesory arm64 zachowują wsteczną kompatybilność z trybem 32‑bitowym ARMv7‑A. Dzięki trybowi AArch32 można uruchamiać starsze aplikacje i systemy operacyjne, co ułatwia migrację z Androida i iOS z 32‑bitowych wersji.
Systemy operacyjne
Architektura arm64 jest obsługiwana przez najważniejsze współczesne systemy operacyjne:
- Linux – kernel od wersji 3.19 w pełni wspiera arm64, a dystrybucje takie jak Ubuntu, Debian i Fedora udostępniają gotowe obrazy.
- Windows – od wersji Windows 10 on ARM oraz Windows 11 on ARM.
- macOS – od Apple M1 i M2 wszystkie komputery Apple działają na arm64.
- Android – od Androida 5.0 Lollipop (API 21) dostępny jest tryb 64‑bitowy.
- FreeBSD i OpenBSD – pełne wsparcie w wersjach 12 i wyższych.
Zastosowania
Arm64 znajduje zastosowanie w wielu dziedzinach:
- Smartfony i tablety: Praktycznie wszystkie nowoczesne urządzenia mobilne korzystają z procesorów opartych na arm64.
- Komputery osobiste: Laptopy i desktopy z serii MacBook, a także niektóre modele ASUS i Lenovo.
- Serwery: Rozwiązania chmurowe (np. AWS Graviton) oraz serwery dedykowane dla obciążeń HPC.
- IoT i embedded: Mikrokontrolery i systemy wbudowane, np. w samochodach, routerach i inteligentnych czujnikach.
Porównanie z innymi architekturami
| Cecha | arm64 (AArch64) | x86‑64 (AMD64) | RISC‑V 64‑bit |
|---|---|---|---|
| Rozmiar słowa | 64 bity | 64 bity | 64 bity |
| Licencja | Własna (licencje ARM) | Własna (Intel/AMD) | Otwarto‑źródłowa |
| Typ architektury | RISC | CISC | RISC |
| Zestaw rejestrów | 31 × 64‑bit + SIMD/FP | 16 × 64‑bit + SIMD/FP | 32 × 64‑bit + rozszerzalny SIMD |
| Energooszczędność | Wysoka | Średnia | Wysoka (projekt open‑source) |
Przyszłość architektury arm64
W kolejnych latach arm64 ma utrzymać dynamiczny rozwój. Plany ARM obejmują dalsze zwiększanie wydajności jednoczynnikowej, wprowadzanie nowych instrukcji dedykowanych AI oraz dalsze rozszerzenia bezpieczeństwa (np. TrustZone, Pointer Authentication). Rosnące zainteresowanie architekturą otwartą RISC‑V tworzy jednak dodatkową konkurencję, co może przyspieszyć innowacje w ekosystemie arm64.