Zu Abschnitt

Was ist der Unterschied zwischen ARM und x86?

URL kopieren

Migrieren Sie von CentOS Linux zu einem cloudfähigen Betriebssystem

Die Einstellung von CentOS Linux bietet die Möglichkeit, zu einem Betriebssystem zu wechseln, das Ihre Cloud-Initiativen heute und in der Zukunft besser unterstützt. Mit Red Hat Enterprise Linux (RHEL) erhalten Sie eine intelligente, produktionsgerechte Betriebsbasis für Hybrid Cloud- und Multi-Cloud-Umgebungen.

Computer, die auf ARM-Prozessoren basieren, lassen sich nicht gegen Intel- oder AMD-basierte Computer austauschen. Sie unterscheiden sich in ihrem Ansatz hinsichtlich der folgenden grundlegenden Punkte:

  • Wie wird ein Gleichgewicht zwischen Transistoranzahl und Programmkomplexität geschaffen?
  • Wie werden Geschwindigkeit, Energieverbrauch und Kosten priorisiert?

Die Antworten auf diese Fragen haben die technologischen Innovationen und die Softwareentwicklung der letzten vier Jahrzehnte gelenkt – von kleinen Smartphones bis hin zu großen Supercomputern.

Als Hintergrund finden Sie im Folgenden zunächst eine kurze Definition von x86- und ARM-Prozessoren.

x86-Prozessoren sind vielen in der Welt der IT deshalb bekannt, weil dieser Prozessortyp im Großteil der Computer- und Serverhardware verwendet wird. Betrachten wir die Architektur, so sind die einzelnen Hardwarekomponenten in einem x86-System – wie Sound- und Grafikkarten, Arbeitsspeicher, Storage und die CPU – voneinander unabhängig. Die meisten Komponenten verfügen über separate Chips, sogenannte Controller. Die Komponenten können geändert oder erweitert werden, ohne dass sich dies auf die Konnektivität oder die Hardwareplattform auswirkt.

ARM-Prozessoren haben keine separate CPU. Die PU befindet sich stattdessen auf demselben physischen Trägermaterial wie die anderen Hardware-Controller. Es handelt sich um einen integrierten Schaltkreis. Anders als bei den CPUs von Intel oder AMD gibt es außerdem keinen Hersteller für ARM-Prozessoren. Stattdessen lizenziert Arm Holdings Chip-Designs für andere Hardwarehersteller, die den ARM-Prozessorchip dann in ihre eigenen Hardwaredesigns einbinden. Im Gegensatz zu traditionellen x86-basierten Computern sind ARM-Chips extrem anwendungsspezifisch und nicht austauschbar. Diese Prozessoren werden zusammen in einem sogenannten SoC (System-on-a-Chip) hergestellt.

Eine uralte Diskussion der ersten Programmierenden über die zwei unterschiedlichen Philosophien der Informatik ist, ob die Arbeit des Programmierenden vereinfacht werden soll oder die Arbeit des Mikroprozessors.
Um mit einem Computer, einem Betriebssystem und den vom Prozessor ausgeführten Programmen etwas Produktives zu bewirken, muss der Prozessor mit der CPU (Central Processing Unit) und anderen Hardwarekomponenten (Arbeitsspeicher, Storage, Netzwerkkarten usw.) interagieren. Die CPU vermittelt dabei zwischen dem Betriebssystem (sowie den ausgeführten Programmen) und den anderen Hardwarekomponenten. Um den Programmierenden das Leben zu erleichtern, verfügt die CPU über einen Satz vordefinierter Aktionen und Berechnungen, der auch als Befehlssatz oder Befehlssatzarchitektur (Instruction Set Architecture, ISA) bezeichnet wird. Das Betriebssystem und die vom Prozessor ausgeführten Programme – beide werden von den Programmierenden geschrieben – nutzen diese Befehle, um untergeordnete Funktionen auszuführen, darunter:

  1. Interaktionen zwischen CPU und Hardware (Arbeitsspeicher, Storage, Netzwerk usw.)
  2. Arithmetische Funktionen (Addition, Subtraktion usw.)
  3. Datenmanipulationen (Bitverschiebungen usw.)

Die ursprünglichen x86-CPUs besaßen (und besitzen weiterhin) einen äußerst umfangreichen Befehlssatz. Ein einzelner Befehl kann eine vollständige Berechnung (etwa eine Multiplikation) durchführen oder einen Datensatz in einem Arbeitsspeicher direkt verschieben. Dies mag nicht viel erscheinen, aber Multiplikationen und Datenverschiebungen in einem Arbeitsspeicher erfordern zahlreiche Befehle auf dieser untergeordnete Ebene. Mit x86-Computern kann diese komplexe Sequenz von Operationen in nur einem Prozessorzyklus ausgeführt werden. PUs mit diesem Befehlssatztyp werden als CISC (Complex Instruction Set Computers) bezeichnet.

Die leistungsstarken Befehle in einem CISC-Computer sorgen aber dafür, dass dieser mehr Transistoren benötigt, die wiederum mehr Platz und Energie benötigen.

In den frühen 1980er Jahren entstanden daher verschiedene Projekte, die sich mit Energieeffizienz befassten und nach Möglichkeiten suchten, die Befehlssätze in CPU-Architekturen zu vereinfachen. Forschende fanden heraus, dass die meisten Computer in der Praxis nur einen kleinen Teil des riesigen Satzes an Befehlen nutzten, die in einem CISC-Computer zur Verfügung stehen. Diese Erkenntnis führte letztendlich zum Design des RISC-Prozessors (Reduced Instruction Set Computer). RISC-Prozessoren verfügen über einen Befehlssatz, bei dem jeder Befehl eine einzige einfache Operation darstellt und damit weniger Energie benötigt. Dadurch wird die Arbeit der Assembler-Programmierenden komplexer, die Arbeit des Prozessors aber einfacher. Mit RISC-Prozessoren und modernen RISC-Maschinen werden komplexe Operationen entweder mithilfe von mehreren Befehlen durchgeführt, oder aber indem die Komplexität auf den Compiler statt auf den CPU-Kern übertragen wird.

Beide Prozessoren haben Vor- und Nachteile, die es abzuwägen gilt. x86-CPUs bieten tendenziell eine sehr schnelle Rechenleistung und sorgen beim Programmieren und der Zahl der Befehle für mehr Klarheit und Einfachheit. Der Nachteil ist ein größerer, teurerer Chip mit vielen Transistoren. ARM-Prozessoren hingegen können zwar bei bestimmten Arten von Operationen auch sehr schnell sein, werden aber durch wiederholte Prozessorzyklen mit einzelnen Befehlen verlangsamt. Die Operationen sind nicht nur komplexer, sondern ihre Definition und Ausführung erfolgt zum großen Teil beim Programmieren (also durch die Programmierenden), anstatt durch den Befehlssatz. 

Aufgrund dieser Unterschiede kann sich die Berechnung der MIPS (Million Instructions per Second) – einem Annäherungsmesswert für die reine Leistung eines Computers – als schwierig erweisen, da die verschiedenen Prozessorarten verschiedene Befehlssätze benötigen, um dieselbe Aktivität auszuführen.

Die Entwicklung der RISC-Architektur wurde inspiriert von der Notwendigkeit, kleinere Chips mit einer besseren Performance für kleinere Computer – oder Mikrocomputer – herzustellen, die schließlich zu den heutigen PCs wurden. Dies führte zu einer zweiten grundlegenden Design-Frage: Sollte man sich auf die Chip-Performance (Verarbeitungsgeschwindigkeit oder Taktrate) oder auf den Energieverbrauch (Energieeffizienz) konzentrieren?

Da ARM-Prozessoren als SoC integriert werden, lag der Schwerpunkt lange Zeit auf dem allgemeinen Ressourcenmanagement, darunter niedriger Energieverbrauch und geringere Wärmeerzeugung. So verfügen ARM-Architekturen (etwa ARMv8) tendenziell nicht über vereinfachte Kühlungssysteme (keine Smartphone-Ventilatoren). x86-CPUs bevorzugen jedoch tendenziell eine hohe Verarbeitungsgeschwindigkeit gegenüber niedrigem Energieverbrauch.

Beide CPU-Designs können zwar eine hohe Performance bieten: ARM- und x86-Supercomputer kämpfen um den Titel des schnellsten Supercomputers der Welt. ARM-Designs konzentrieren sich aber tendenziell auf kleinere Formfaktoren, kürzere Akkulaufzeiten, eine geringe Größe, die Beseitigung von Kühlungsbedarf und – vielleicht der wichtigste Punkt – niedrige Kosten. Daher sind ARM-Prozessoren bei kleinen Elektronik- und Mobilgeräten wie Smartphones, Tablets und sogar Raspberry Pi-Systemen vorherrschend. x86-Architekturen finden sich hingegen häufiger in Servern, PCs und sogar in Laptops, bei denen Geschwindigkeit und Flexibilität in Echtzeit bevorzugt wird und weniger Einschränkungen hinsichtlich Kühlung und Größe bestehen.

ARM-Chips werden im Bereich HPC (High-Performance Computing) und sogar bei cloudbasierten Use Cases wie AWS Graviton und Azure immer beliebter. Red Hat Enterprise Linux ist in beiden Fällen eine hervorragende Plattform hinsichtlich Rechenleistung und Kompatibilität, ebenso wie für die Entwicklung, Bereitstellung und Optimierung von Anwendungen.

ARM-CPUs haben bei Linux-Systemen eine lange Tradition, die von Android-basierten Systemen für Smartphones bis hin zu benutzerdefinierten Systemen für Raspberry Pi reicht. Heute verwendet sogar einer der schnellsten Supercomputer der Welt Red Hat Enterprise Linux mit einer ARM-Architektur (Fugaku basiert auf Red Hat).

Im Gegensatz zu x86-CPUs verfügt jedes ARM-Design über seine eigene spezifische Hardware. Hier kann die Leistungsfähigkeit einer großen Open Source Community Unterstützung bieten. Red Hat Enterprise Linux verfügt über eine große Community mit Hunderten von geprüften und zertifizierten Hardwareanbietern – auch für ARM-Hardware. Daneben bietet Red Hat ein Early Bird-Programm mit den ARM-Partnern, über das Kunden zusammenarbeiten und neue ARM-Technologien testen können.

Die Leistungsfähigkeit von Red Hat Enterprise Linux liegt u. a. in der Performance für verschiedene IT-Footprints wie Cloud, Server und Edge. Die Technologie, das umfassende Partnernetzwerk und die konsistente Stabilität von Linux unterstützen Organisationen dabei, ihre IT flexibel an neue Entwicklungen anzupassen und Innovationen zu schaffen.

Weiterlesen

Artikel

Was ist Linux?

Linux ist ein Open Source-Betriebssystem, das aus einer Grundkomponente, dem Kernel, und aus mehreren Tools, Apps und Services besteht.

Artikel

Was ist SELinux?

Security-Enhanced Linux (SELinux) ist eine Sicherheitsarchitektur für Linux®-Systeme, die Administratoren noch mehr Kontrolle darüber bietet, wer auf das System zugreifen darf.

Artikel

Was ist der Linux-Kernel?

Der Linux-Kernel ist die Hauptkomponente eines Linux-Betriebssystems und die zentrale Schnittstelle zwischen der Hardware eines Computers und seinen Prozessen.