CPU-Vergleich ARM versus x86

Autor / Redakteur: Christian Florheim* / Margit Kuther

Eine höhere CPU-Leistung ermöglicht mit komplexeren Befehlssätzen deutlich umfangreichere Berechnungen. Hierin liegt einer der Hauptunterschiede zwischen ARM- und x86-Prozessoren. Welche gibt es noch - bei Architekturen, den Einsatzgebieten und welche Vor- und Nachteile?

Firma zum Thema

AMD vs. x86: Vor- und Nachteile im Überblick
AMD vs. x86: Vor- und Nachteile im Überblick
(Bild: gemeinfrei / Unsplash)

Die CPU (Central Processing Unit) ist gewissermaßen das „Gehirn“ eines Gerätes. Dieses „Gehirn“ ist jedoch nicht sonderlich intelligent, denn es erfordert sehr spezifische Befehle um zu funktionieren, was man als Befehlssatz bezeichnet.

Der Befehlssatz gibt dem Prozessor sämtliche Anweisungen, wie Daten zwischen Speicher und Registern zu verschieben sind, oder wie eine Berechnung durchzuführen ist. Wenn eine CPU mit niedriger Leistung verwendet werden soll, dann ist es von elementarer Bedeutung, den Befehlssatz möglichst einfach zu halten.

Eine höhere CPU Leistung ermöglicht mit komplexeren Befehlssätzen deutlich umfangreichere Berechnungen. Hierin liegt einer der Hauptunterschiede zwischen x86- ARM-Prozessoren.

Worin unterscheiden sich die Architekturen?

Die ARM-Architektur ist etwas eingeschränkter, ermöglicht keine Verwendung von verschiedenen Betriebssystemen oder Anwendungen, bietet dadurch allerdings auch einen Mehrwert an Sicherheit. Die ARM-Architektur ist deutlich „schlanker“ und effizienter. Der Nutzer kann das System jedoch nicht beliebig erweitern.

Die x86-Architektur, wie sie von Intel und AMD produziert wird, ermöglicht mehr Freiheiten in Bezug auf Betriebssysteme und Anwendungen, wodurch die Risiken eines Ausfalls steigen. Die x86-Architektur ist meist leistungsfähiger und somit in der Lage, komplexere Berechnungen in kürzerer Zeit durchzuführen.

X86-Architektur

X86 basiert auf CISC (Complex Instruction Set Computing), während ARM auf RISC (Reduced Instruction Set Computing) basiert. Der Ansatz von x86-Prozessoren ist sicherlich die Erzielung von Spitzenleistung, was diese im Wesentlichen von ARM-Prozessoren unterscheidet, die eine bessere Energie-Effizienz anstreben. CISC-Prozessoren werden von Intel und AMD produziert und eignen sich eher für komplexere Rechnersysteme, wie Desktop CS, Server und Notebooks.

Für Systeme, die auf ein klassisches „Windows“- Betriebssystem setzen, sind x86-Prozessoren nahezu verpflichtend. Mit der Zeit etablieren sich auf ARM-Prozessoren immer mehr in diesem Bereich, zum Beispiel „Windows 10 on ARM Projekt“.

CISC bietet deutlich umfangreichere Befehlssätze / Anweisungen, von denen nahezu jeder einzelne mehrere Operationen ausführen kann (z. B. optimierte mathematische Berechnungen). Das Ergebnis ist eine bessere Leistungsfähigkeit, die man sich jedoch mit höherem Stromverbrauch und stärkerer Wärme-Entwicklung / TDP (Thermal Design Power) erkauft.

In CISC-Prozessoren hat jeder Befehl einen eigenen Mikrocode, der bei jedem Befehlsaufruf via Dekodereinheit den Befehl in den jeweiligen Maschinenbefehl umwandelt. So wird aus dem Befehl der eigentliche Mikrocode, der dann im Nanoprozessor ausgeführt. Mikrocodes werden nacheinander durchgeführt, währenddessen warten alle anderen Anwendungen.

Dieses Verfahren ist leider recht langsam, da der Mikrocode meist mehrere Arbeitsschritte benötigt. Die Regel sind vier bis zehn Takte, um einen Befehl vollständig auszuführen.

ARM-Architektur

ARM basiert auf RISC (Reduced Instruction Set Computing), dessen Ansatz eine besonders effiziente Energiebilanz ist. Mit ihrem Low-Power-Konzept, einhergehend mit geringer Wärme-Entwicklung (TDP) eignen sich ARM-Prozessoren besonders für mobile oder batteriebetriebene Anwendungen, bahnen sich aber immer mehr ihren Weg auch in höhere Leistungsklassen. Es existiert zum heutigen Zeitpunkt eine Vielzahl unterschiedlicher ARM-Prozessoren für unterschiedlichste Anwendungsbereiche und Leistungsklassen von Herstellern wie NXP, Nvidia und Rockchip.

Der reduzierte Befehlssatz von RISC-Prozessoren ermöglicht ein schnelles Abarbeiten innerhalb weniger Taktzyklen. Die geringere Anzahl und Einfachheit von Befehlen erlauben einen einfacheren Prozessoraufbau mit einfachen digitalen Schaltungen. Gesetzt wird meist auf unabhängige Verarbeitungseinheiten, sowie mehrere getrennte interne Bussysteme und Parallelverarbeitung.

RISC Befehle müssen nicht in kleinere Mikrocodes dekodiert werden und können dadurch deutlich schneller geladen werden als CISC-Befehle. Zudem haben alle RISC-Befehle das gleiche Format und bieten nur eine Möglichkeit, sie zu laden oder speichern.

Vor- und Nachteile von x86-Prozessoren

Der große Vorteil von x86-Prozessoren ist die höhere Leistungsfähigkeit verglichen mit ARM. X86-Prozessoren sind zudem führend bei Desktop-Rechnern und Server-Landschaften. Sie bieten eine umfangreichere Systemkonfigurierbarkeit und mehr Erweiterungsmöglichkeiten.

Der große Nachteil von x86-Prozessoren ist der meist hohe Energieverbrauch und die deutlich höhere Wärmeentwicklung. Durch die meist offeneren Betriebssysteme ergibt sich zudem eine höhere Anfälligkeit für Systembeeinträchtigungen durch ungewollte oder unkontrollierte Installation von Software.

Vor- und Nachteile von ARM-Prozessoren

Als augenscheinliche Vorteile von ARM-Prozessoren lassen sich ein geringer Energieverbrauch, einhergehend mit geringer Wärme-Entwicklung, sowie eine gewisse Systemsicherheit ausmachen. Es ist dem Nutzer meist nicht ohne weiteres möglich, unbeabsichtigte Änderungen am System vorzunehmen.

ARM-Prozessoren sind somit herkömmlich ideal für mobile, sowie Embedded-Geräte und Steuerungen geeignet. Nachteilig an ARM-Prozessoren stellt sich die meist geringere Leistungsfähigkeit und somit begrenzten Berechnungskapazitäten dar. Allerdings ziehen ARM-CPUs nun auch in diverse Cloud-Angebote und Enterprise-Rechenzentren ein.

Softwarekompatibilität

Bisher wurde angenommen, dass Betriebssysteme und Anwendungen speziell für eine bestimmte Prozessorarchitektur geschrieben und kompiliert werden, auf der sie später lauffähig sein sollen. Systeme wie „Android“ (auf ARM) oder Windows (auf x86) haben grundsätzlich kein Problem damit, auf mehreren Plattformen ausgeführt zu werden. In der heutigen Zeit gibt es diverse Beispiele für Betriebssysteme, die sowohl auf ARM, als auch auf x86-Prozessorarchitekturen ausgeführt werden können, wie Microsofts Windows on ARM, Googles Chrome OS oder Embedded Linux / Yocto Linux.

Wird die Software nicht neu für die jeweilige Plattform kompiliert, so ist das System auf eine Code-Emulation angewiesen, der Programmcode muss also für die CPU-Architektur übersetzt werden. Dies funktioniert relativ reibungslos, allerdings beeinträchtigt es die Leistung.

Die Grenzen zwischen ARM und x86 verschwimmen

Das führt letztlich dazu, dass die Grenzen zwischen ARM und x86 immer mehr verschwimmen. ARM-Prozessoren kommen mit immer größer werdendem Leistungspotenzial daher und beginnen zunehmend der x86-Architektur den Rang abzulaufen. Zumindest in einzelnen Bereichen lässt sich dies beobachten.

Gerade in der Industrie zeichnet sich ein Trend ab, immer mehr ARM-Prozessoren enthalten spezielle Kerne zur Verwendung von neuronalen Netzwerken, etwa „NXP I.MX8M“, „Nvidia Jetson“. Sie positionieren sich damit weit vorne in einem aufstrebenden Markt.

Die Diskussion, welche Prozessorarchitektur leistungsstärker oder überlegener sei, beschäftigt den Markt bereits seit langem. Bei der Beantwortung dieser Frage kommen diverse Faktoren zum Tragen, die Effizienz und Performance beeinflussen können. Faktisch ist heutzutage jeder Prozessor auch ein RISC-Prozessor, oder hat zumindest diverse RISC-Elemente implementiert. Energiesparenden Leistungsriesen gehört die Zukunft.

Hinweis: Den Beitrag hat die Redaktion DataCenter-Insider vom Partnerportal „Elektronik Praxis“ übernommen und leicht gekürzt.

* Christian Florheim ist Field Application Engineer bei Glyn.

Artikelfiles und Artikellinks

(ID:47636894)