EMZETT.
Login

x86-64 und ARM64

Kurz: x86-64 (auch AMD64) und ARM64 (AArch64) sind die zwei wichtigsten Befehlssatz-Architekturen für 64-Bit-Prozessoren. x86-64 steckt in den meisten PCs und Servern, ARM64 in Smartphones, Apple-Macs und zunehmend in Servern und Notebooks.

Genauer: Ein Befehlssatz (ISA) legt fest, welche Maschinenbefehle ein Prozessor versteht. Programme sind dafür kompiliert und laufen daher nur auf der passenden Architektur, es sei denn, sie werden übersetzt oder emuliert.

Im Detail

x86-64 (AMD64)ARM64 (AArch64)
FamilieCISC (komplexe, unterschiedlich lange Befehle)RISC (einfache, feste Befehlslänge 32 Bit)
HerstellerIntel, AMDApple, Qualcomm, Samsung, Ampere, Amazon (Graviton)
LizenzIntel/AMD kreuzlizenziert, geschlossenARM Holdings lizenziert den Entwurf an viele
Typische EinsatzgebieteDesktop-PCs, Notebooks, Server, SpieleSmartphones, Tablets, Apple-Silicon-Macs, Embedded, Cloud, Raspberry Pi
StärkeHöchste Spitzenleistung, riesige Software-BasisHohe Effizienz (Leistung pro Watt), wenig Abwärme
HybridkerneIntel P/E-Kernebig.LITTLE / Apple P/E
Register16 Allzweck-Register31 Allzweck-Register
Software-KompatibilitätWindows, Linux, macOS (Intel), fast alle PC-ProgrammeAndroid, iOS, macOS (Apple Silicon), Linux, Windows on ARM

Wichtige Folgen:

  • Kompatibilität: Ein x86-Programm läuft nicht direkt auf ARM. Übersetzer sorgen dafür (Rosetta 2 auf dem Mac, Prism in Windows on ARM).
  • Energie: ARM-Kerne haben einfachere Befehlsdekodierung und sind daher sparsamer. Das erklärt Akkulaufzeit von Smartphones und MacBooks.
  • Moderne x86-Prozessoren zerlegen ihre CISC-Befehle intern in RISC-ähnliche Mikro-Operationen, der Unterschied ist weniger scharf als früher.
  • Geschichte: AMD entwarf x86-64 (2003) als Erweiterung des 32-Bit-x86, daher auch „AMD64”. Intel übernahm es. ARM entstand 1985, 64-Bit-Version (ARMv8) 2011.
  • 32-Bit-ARM (ARMv7) wird von neuen Geräten kaum noch benötigt.
  • RISC-V: Dritter, offener Befehlssatz mit wachsender Bedeutung.
  • Programmieren: Beim Kompilieren die Zielarchitektur angeben (--target aarch64). Docker-Images gibt es für linux/amd64 und linux/arm64.

Siehe auch: 16-, 32- und 64-Bit, CPU, Maschinencode