MTE erklärt: Die Unterschiede zwischen ARM und Intel
Mit dem allgegenwärtigen Gerücht von ARM MacBooks, das neue Energie gewinnt, ist es Zeit, die technischen Unterschiede zwischen ARM-Prozessoren und den üblicheren x86-Prozessoren von Intel und AMD zu verstehen.
Was bedeutet x86 überhaupt?
Intel-Prozessoren in Desktop- und Laptop-Computern werden manchmal als "x86" -Prozessoren bezeichnet. Das kann ein wenig verwirrend sein, wenn Sie Ihre beiden Programme-Ordner unter Windows jemals bemerkt haben.
Windows 7, 8 und 10 beziehen sich auf ihre 32-Bit-Programme mit dem Begriff "x86" und ihre 64-Bit-Programme (in einigen Kontexten) auf "x64". Das ist nicht streng zutreffend. 64-Bit-fähige Prozessoren sollten als x86-64 bezeichnet werden, aber es ist viel klobiger.
Der Name "x86" stammt von den ursprünglichen 16-Bit-Intel-Prozessoren, die den x86-Befehlssatz, den 8086, verwendeten. Zukünftige Generationen, die den gleichen Befehlssatz teilten, teilten sich dasselbe Suffix wie der 80386. Dies dauerte bis zu den Pentium-Chips brach die Namenskonvention, aber wir verwenden immer noch "x86", um auf diese Art von Chips zu verweisen.
Anweisungssätze
Alle Prozessoren basieren auf einem so genannten "Befehlssatz". Dies sind eine Reihe rudimentärer Operationen, die ein Chip ausführen kann, und Anweisungen, wie diese ausgeführt werden. Es teilt dem Chip mit, wie man grundlegende mathematische Berechnungen durchführt und Daten bewegt. Die Programmiersprache für diese Anweisungen heißt Assemblersprache.
Der Hauptunterschied zwischen ARM- und x86-Chips besteht im Befehlssatz. x86-Chips sind CISC, was für "complex instruction set computing" steht. CISC-Chips versuchen, eine gegebene Aufgabe möglichst in möglichst wenigen Linien der Assemblierung abzubilden, wodurch Grundfunktionen abstrahiert werden. Diese komplexeren Operationen müssen auch über mehrere Taktzyklen hinweg ausgeführt werden. ARM-Chips sind RISC, was für "Reduced Instruction Set Computing" steht. RISC-Chips enthalten extrem rudimentäre Befehlssätze, die jeden Prozess in extrem kleine, einfache Schritte zerlegen. Jeder dieser kleineren Schritte kann in einem einzigen Taktzyklus ausgeführt werden.
CISC vs. RISC
Wenn ein CISC-Chip zwei Zahlen multipliziert, kann er einen einzigen Befehl MULT 2, 3
: MULT 2, 3
. Dieser einzelne Befehl behandelt das Laden von Zahlen aus dem Speicher, multipliziert sie zusammen und speichert das Ergebnis an der richtigen Speicherstelle. Ein RISC-Chip, der dieselbe Operation ausführt, würde viel mehr Schritte erfordern. Zuerst eine LOAD
Anweisung, um die Nummern von den Registraren zur Ausführungseinheit zu bewegen. Dann eine PROD
Anweisung, um die Zahlen zu multiplizieren. Abschließend eine STOR
Anweisung, um das Ergebnis in das richtige Register zu bringen.
Während der CISC-Chip effizienter erscheint, weil seine Befehle einfacher erscheinen, sollten Sie einige wichtige Unterschiede beachten:
- Zuerst führen CISC-Chips Befehle über mehrere Taktzyklen aus, während jeder Befehl in einem RISC-Chip über einen einzelnen Taktzyklus ausgeführt wird. Aus diesem
MULT
könnte unser hypothetischerMULT
Befehl in der gleichen Anzahl von Zyklen ausgeführt werden wie der Satz von RISC-Anweisungen, die dieselbe Aufgabe ausführen. - Zweitens müssen alle Anweisungen und die Logik des CISC in Transistoren gespeichert werden. RISC-Chips können weniger Transistoren verwenden, weil sie weniger Befehle speichern müssen.
- Drittens ermöglicht die geringere Anzahl von Transistoren, die von RISC benötigt werden, einen geringeren Stromverbrauch.
CISC hat einige Vorteile. Erstens muss der Computer nicht viel Arbeit aufwenden, um von einer Programmiersprache auf menschlicher Ebene wie C zu einer Assemblersprache auf Prozessorebene zu konvertieren. Tatsächlich ist der MULT
erwähnte MULT
Befehl dem C-Befehl foo = foo * bar
sehr ähnlich. RISC-Chips fordern den Compiler auf, viel mehr Arbeit zu tun, um Code in die Assemblersprache zu bringen. CISC-Chips können auch direkt auf dem Hauptspeicher arbeiten, während RISC-Chips nur auf CPU-Registern arbeiten können.
Energieverbrauch
Der andere Kernunterschied zwischen den Architekturen ist der Stromverbrauch. Dank ihrer reduzierten Befehlssätze benötigen RISC-Chips weniger Transistoren. Dies bedeutet, dass weniger Transistoren mit Strom versorgt werden müssen, was zu Energieeinsparungen und einer Verringerung der Wärme führt. Dies führte zu ARM-Chips, die fast alle mobilen Geräte mit Strom versorgen.
Die x86-Chips von Intel und AMD sind besser für Desktop-Computer geeignet, bei denen der Stromverbrauch kein großes Problem darstellt. Sie sind auch in Laptops enthalten, die offensichtlich batteriebetrieben sind. Der Stromverbrauch ist jedoch nicht so hoch wie bei Smartphones und ermöglicht leistungsfähigere Chips.
Fazit
Die höchste Unterscheidung zwischen den Chips basiert auf Kraft und Geschwindigkeit. ARM-Chips eignen sich hervorragend für Umgebungen mit geringer Leistung, sind aber normalerweise langsamer, während x86-Chips schnell arbeiten, aber nicht so energiebewusst sind. Diese grundlegende Verallgemeinerung ändert sich jedoch, da Intel versucht, seine x86-Chips mit geringem Stromverbrauch zu produzieren, und ARM-Chips wie Apples A10 Fusion beginnen, Laptop-Chips zu überholen.