MIPS gegen ARM
Eine Reihe von Unterschieden zwischen MIPS und ARM kann festgestellt werden, obwohl beide zur selben Familie von Befehlssätzen gehören. MIPS und ARM sind zwei Befehlssatzarchitekturen (ISA), die in der Welt der Mikroprozessoren verfügbar sind. Sowohl ARM als auch MIPS basieren auf RISC (Reduced Instruction Set Computing) und sind vom Typ Register-Register. Beide Befehlssätze haben eine feste 32-Bit / 64-Bit-Befehlsgröße (Adressraum), und beide Befehlssätze können sowohl für große als auch für kleine Endianness konfiguriert werden. Beide Architekturen unterstützen die Abwärtskompatibilität. Die Architekturen von ARM und MIPS werden in Prozessoren von Smartphones und Tablet-Computern wie iPhones, Android- und Windows RT-Tablets verwendet, jedoch nicht in Mainstream-Computern wie Laptops und Servern.
Was ist ARM?
Der Hauptdesigner von ARM ISA ist ARM Holdings. Die ARM-Architektur wurde 1985 eingeführt und basiert auf RISC. Diese ISA verwendet bei der Verzweigung bedingte Codes. Es gibt verschiedene ARM-Architekturen wie 64/32-Bit-Architekturen, 32-Bit-Architekturen (Cortex) und 32-Bit-Architekturen (Legacy). ARM ist die weltweit am häufigsten verwendete Befehlssatzarchitektur. Der Arm-Befehlssatz kann in sechs breite Klassen von Befehlen unterteilt werden, wie z. B. Verzweigungsbefehle, Datenverarbeitungsbefehle, Lade- und Speicherbefehle, Coprozessorbefehle und Ausnahmen erzeugende Befehle. Verschiedene Arten von ARM-Anweisungen können unter Verwendung des Opcodes und der bedingten Flags identifiziert werden. In der ARM-ISA gibt es 16 Allzweckregister mit den Namen R0 bis R15, die jeweils eine Größe von 32 Bit haben. Das R13-Register heißt Stack Pointer (SP). R14 heißt Link Register (LR) und R15 heißt Program Counter (PC). ARM ISA unterstützt viele arithmetische Operationen wie Addieren, Subtrahieren und Multiplizieren. ARM-Kerne verfügen über einen 32-Bit-Adressbus, der einen flachen linearen Adressraum von 4 GB bietet. Der Speicher wird in Bytes adressiert und kann als Doppelwörter (8 Bytes), Wörter (4 Bytes) oder Halbwörter (2 Bytes) aufgerufen werden.
ARM-Architekturen werden in Smartphones, PDAs von Tablet-Computern und anderen mobilen Geräten verwendet. ARM-Chips werden aufgrund ihres geringen Stromverbrauchs, ihrer geringen Kosten und ihrer geringeren Form auch in Raspberry Pi, BeagleBoard, PandaBoard und anderen Single-Board-Computern verwendet.
Was ist MIPS?
MIPS wurde 1981 von MIPS Technologies entworfen und eingeführt. Diese ISA basiert ebenfalls auf der RISC-Befehlssatzarchitektur und verfügt über ein festes Codierungssystem. Bedingungsregister werden zum Verzweigen verwendet und MDMX, MIPS-3D werden als Erweiterungen verwendet. Es gibt drei Arten von MIPS-Befehlen: R, I und J. Jeder Befehl beginnt mit einem 6-Bit-Opcode. In Anweisungen vom Typ R gibt es drei Register, ein Shift-Mount-Feld und ein Funktionsfeld. In I-Typ-Anweisungen gibt es zwei Register und einen 16-Bit-Sofortwert, während J-Typ-Anweisungen dem Opcode mit einem 26-Bit-Sprungziel folgen. MIPS verfügt über 32 Ganzzahlregister, um arithmetische Operationen auszuführen. Register $ 0 enthält 0 und Register $ 1 ist normalerweise für den Assembler reserviert.
Die MIP-Architektur wird zur Herstellung von Smartphones, Abendbrotcomputern, eingebetteten Systemen wie Routern, Gateways für Privathaushalte und Videokonsolen wie Sony PlayStations verwendet.
Was ist der Unterschied zwischen MIPS und ARM?
• MIPS und ARM sind zwei verschiedene Befehlssatzarchitekturen in der Familie der RISC-Befehlssätze.
• Obwohl beide Befehlssätze eine feste und dieselbe Befehlsgröße haben, hat ARM nur 16 Register, während MIPS 32 Register hat.
• ARM hat einen hohen Durchsatz und eine hohe Effizienz als MIPS, da ARM-Prozessoren 64-Bit-Datenbusse zwischen dem Kern und den Caches unterstützen.
• Um eine effiziente Kontextumschaltung zu ermöglichen, unterstützt die MIPS-Architektur die Implementierung mehrerer Registerbänke. ARM bietet nur Allzweckregister für arithmetische Operationen und alle anderen Funktionen, aber MIPS stellt zwei separate Register bereit, um die Ergebnisse der Multiplikationsoperation zu speichern.
• MIPS hat keine äquivalente Anweisung zur ARM MOV-Anweisung.
• Der MIPS ADD-Befehl generiert normalerweise eine Ausnahme beim Überlauf, sodass er seltener als in ARM verwendet wird.
• In allen ARM-Datenverarbeitungsanweisungen sind standardmäßig die ALU-Bedingungscodes festgelegt, MIPS stellt jedoch die SLT zum Vergleich bereit.
Zusammenfassung:
MIPS gegen ARM
In der Welt der Mikroprozessoren leisten MIPS und ARM einen großartigen Dienst für ihre Befehlssatzarchitekturen. MIPS wird hauptsächlich in eingebetteten Systemen implementiert. Derzeit ist ARM in der Branche jedoch viel beliebter als MIPS.
Bilder mit freundlicher Genehmigung:
- Ein ARM-Prozessor in einem Hewlett-Packard PSC-1315-Drucker von Socram8888 (CC BY 2.0)
- Seitenansicht des Pakets R4700 von Dyl (CC BY-SA 3.0)