Die Unterschiede zwischen ARM und Intel x86-64

Die Unterschiede zwischen ARM und Intel x86-64
Unterschied zwischen Intel Arm Featured

Da ARM-Chips mittlerweile in Hochleistungslaptops und Edge-Servern allgegenwärtig sind, stellt sich die Frage, ob sich Ihr nächster Kauf dieser neuen Geräte lohnt. Es ist an der Zeit, die technischen Unterschiede zwischen ARM-Prozessoren und den leistungsstärkeren x86-64-Vorgängern zu verstehen, die zuvor den Chipmarkt ungehindert beherrschten.

Was bedeutet x86-64 überhaupt?

Intel-Prozessoren in Desktop- und Laptop-Computern werden manchmal als „x86“-Prozessoren bezeichnet. Die 64-Bit-Architektur, die alle modernen Computer heute verwenden, basiert auf dem x86-Modell, das jetzt als „x86-64“ bezeichnet wird.

Das klingt alles ein wenig verwirrend, hilft aber zu erklären, warum es unter Windows zwei unterschiedliche Programmordner gibt.

X86arm-Programmdateien

Der Einfachheit halber werden alle 32-Bit-Anwendungen in den x86-Ordner verschoben und die 64-Bit-Anwendungen in den anderen Ordner. Dies ist eine Konvention, seit Microsoft 2001 seine 64-Bit-Version von Windows XP herausgebracht hat.

Der Einfachheit halber bezeichnen wir „x86-64“ als „x86“, da zwischen 32-Bit- und 64-Bit-Chips genügend Ähnlichkeiten bestehen, um sie zusammenzufassen.

Die Bezeichnung „x86“ geht auf den Urvater der modernen Datenverarbeitung zurück, einen von Intel entwickelten Mikroprozessor mit dem Namen 8086. Dieser 16-Bit-Chip lief mit einem Befehlssatz, der auch heute noch in vielen modernen Prozessoren zur Ausführung anspruchsvoller Rechenaufgaben verwendet wird.

Alles, von Ihrem Texteditor bis hin zu fortschrittlicher Video-Rendering-Software, kann immer noch mit einer Architektur ausgeführt werden, die 1978 geboren wurde!

Seit der Veröffentlichung des 8086-Mikroprozessors verwendete Intel die Namenskonvention für zukünftige Modelle wie den 80286 und 80386, bis es mit der Veröffentlichung der Pentium-Serie mit der Tradition brach. Dennoch zollen wir diesen alten Chips weiterhin Tribut, indem wir alle nachfolgenden Prozessoren, die ihren Befehlssatz verwenden, als „x86“ kategorisieren.

Sogar die moderneren 64-Bit-Prozessoren, die AMD erstmals in den 2000er Jahren in der Opteron-Serie herausbrachte, erhalten dieselbe Bezeichnung, da die überwiegende Mehrheit der 64-Bit-Prozessoren in Desktop-Systemen und Servern weiterhin auf dem mittlerweile bescheidenen 8086 basiert.

Befehlssätze

Die gesamte Funktionalität eines Prozessors basiert auf einem sogenannten Befehlssatz. Dabei handelt es sich um einen fest verdrahteten Satz grundlegender Operationen, die ein Chip ausführen kann. Jeder Befehl weist den Chip an, Dinge wie einfache mathematische Berechnungen durchzuführen und Daten zu verschieben. Am unteren Ende jedes Codebits in jedem Programm, das Sie auf Ihrem Computer ausführen, befindet sich eine Schicht, die mit dem Prozessor kommuniziert. Diese Schicht verwendet auch ihren eigenen Code, die sogenannte Assemblersprache, die einen Schritt weiter unten in die Basisanweisungen übersetzt, die oft als Maschinencode oder Maschinensprache bezeichnet werden.

Der IHS eines Intel i386
Bildquelle: Wikimedia Commons

Hier kommen wir zum Kernunterschied zwischen ARM- und x86-Chips.

x86-Chips verwenden Complex Instruction Set Computing (CISC) , während ARM-Chips Reduced Instruction Set Computing (RISC) verwenden . Während CISC-Chips versuchen, mehr „Arbeit“ in einen Befehl zu packen und dabei Taktzyklen opfern, haben RISC-Chips (wie der Name schon sagt) einen viel kleineren Befehlssatz, der alles in einfachere Schritte zerlegt, die in einem einzigen Taktzyklus ausgeführt werden können.

CISC vs. RISIKO

Wenn ein CISC-Chip zwei Zahlen multiplizieren muss, kann er einen einzigen Befehl ausführen: MULT 2, 3. Dieser einzelne Befehl lädt Zahlen aus dem Speicher, multipliziert sie miteinander und speichert das Ergebnis am richtigen Speicherort. Ein RISC-Chip, der dieselbe Operation ausführt, würde viel mehr Schritte erfordern. Zuerst eine LOADAnweisung zum Verschieben der Zahlen aus den Registern zur Ausführungseinheit. Dann eine PRODAnweisung zum Multiplizieren der Zahlen. Schließlich eine STORAnweisung zum Platzieren des Ergebnisses im richtigen Register.

Apple M1 SoC auf einem MacBook montiert
Bildquelle: Wikimedia Commons

Obwohl der CISC-Chip aufgrund seiner scheinbar einfacheren Befehle effizienter erscheint, sollten Sie ein paar wichtige Unterschiede im Hinterkopf behalten:

  • Erstens führen CISC-Chips Befehle über mehrere Taktzyklen aus, während jeder Befehl in einem RISC-Chip über einen einzigen Taktzyklus ausgeführt wird. Aus diesem Grund MULTkönnte unser hypothetischer Befehl in der gleichen Anzahl von Zyklen ausgeführt werden wie der Satz von RISC-Befehlen, die dieselbe Aufgabe ausführen.
  • Zweitens müssen alle Befehle und die gesamte Logik von CISC in Transistoren gespeichert werden. RISC-Chips können weniger Transistoren verwenden, da sie weniger Befehle speichern müssen.
  • Drittens ermöglicht die geringere Anzahl an Transistoren, die RISC benötigt, einen geringeren Stromverbrauch.

CISC bietet einige Vorteile. Erstens muss der Computer nicht viel Arbeit leisten, um von einer Programmiersprache auf menschlicher Ebene wie C in eine Assemblersprache auf Prozessorebene zu konvertieren. Tatsächlich MULTist der oben erwähnte Befehl dem C-Befehl sehr ähnlich foo = foo * bar.

RISC-Chips verlangen dem Compiler viel mehr Arbeit ab, um Code in Assemblersprache zu übersetzen. CISC-Chips können ihre Operationen auch direkt im Systemspeicher ausführen, während RISC-Chips Daten aus dem Speicher in die Prozessorregister ziehen müssen, bevor sie damit arbeiten können.

In einem direkten Vergleich der beiden Leistungsklassen gibt es aus Verbrauchersicht keinen klaren Sieger. RISC hat jedoch noch ein Ass im Ärmel, um CISC wirklich einen Schritt voraus zu sein.

Energieverbrauch

Zwischen CISC und RISC gibt es absolut keinen Wettbewerb, wenn es um den Stromverbrauch geht. RISC holt sich hier eindeutig die Krone. Ein reduzierter Befehlssatz sorgt für einen geringeren Wafer-Footprint, wodurch der Chip kleiner und damit weniger stromhungrig wird.

Innenkomponenten eines herkömmlichen ATX-Desktop-Netzteils
Bildquelle: Wikimedia Commons

Kleinere Chips mit weniger mikroskopischen Komponenten haben auch weniger elektrischen Widerstand und benötigen weniger Watt zum Betrieb. Das beste Beispiel hierfür ist die bewährte Technologie des Smartphones, ein „Computer-Light“-Gerät, das trotz seiner relativ geringen Größe eine enorme Leistung bietet und dennoch in vielen Fällen über 24 Stunden mit einer vergleichsweise kleinen Batterie auskommt.

Das heißt allerdings nicht, dass alle Computer ARM-Chips verwenden werden, um den Stromverbrauch zu senken. Im Desktop-Markt, wo das System normalerweise auf eine direkte Verbindung zu einer Steckdose und nicht auf eine Batterie angewiesen ist, hat Energieeffizienz keine so große Priorität. CISC-Chips liefern in diesen Situationen immer noch erstaunliche Ergebnisse und es gibt keine Anzeichen dafür, dass sich dies in naher Zukunft ändern wird.

Sollte ich mir ein ARM- oder ein x86-System zulegen?

Es läuft jedoch alles auf eine sehr einfache Frage hinaus: Versuchen Sie, aus jeder Wattstunde Leistung, die Ihr Akku liefert, das Letzte herauszuholen? Oder sind Sie eher geneigt, so viel Rohleistung wie möglich aus Ihrem Gerät herauszuholen, auf Kosten der Akkulaufzeit?

Für die meisten Anwendungsfälle, für die jemand ein System kaufen würde, ist die Entscheidung so einfach. Vergessen Sie am Ende nur nicht, Ihr Ladekabel mitzunehmen!

Bildnachweis: Ingenieur im Sterilanzug hält Mikrochip von DepositPhotos

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert