MIPS vs ARM
Er kunnen een aantal verschillen tussen MIPS en ARM worden vastgesteld, hoewel beide tot dezelfde reeks instructiesets behoren. Overigens zijn MIPS en ARM twee instructiesetarchitecturen (ISA) die beschikbaar zijn in de wereld van microprocessors. Zowel ARM als MIPS zijn gebaseerd op Reduced Instruction Set Computing (RISC) en zijn van het register-registertype. Beide instructiesets hebben een 32 bit/64 bit vaste instructiegrootte (adresruimte) en beide instructiesets kunnen worden geconfigureerd voor zowel big endianness als little endianness. Beide architecturen ondersteunen achterwaartse compatibiliteit. De architecturen van zowel ARM als MIPS worden gebruikt in processors van smartphones en tabletcomputers zoals iPhones, Android- en Windows RT-tablets, maar niet in mainstreamcomputers zoals laptops en servers.
Wat is ARM?
De belangrijkste ontwerper van ARM ISA is ARM Holdings. ARM-architectuur werd in 1985 geïntroduceerd en ontworpen op basis van RISC. Deze ISA gebruikt voorwaardelijke codes in vertakkingen. Er zijn verschillende ARM-architecturen zoals 64/32-bits architecturen, 32-bits architecturen (cortex) en 32-bits architecturen (legacy). ARM is de meest gebruikte instructieset-architectuur ter wereld. De arminstructieset kan worden onderverdeeld in zes brede klassen van instructies, zoals vertakkingsinstructies, gegevensverwerkingsinstructies, laad- en opslaginstructie, coprocessor-instructies en instructies voor het genereren van uitzonderingen. Verschillende soorten ARM-instructies kunnen worden geïdentificeerd met behulp van de opcode en de voorwaardelijke vlaggen. Er zijn 16 registers voor algemene doeleinden genaamd R0 tot R15 in de ARM ISA en elk heeft een grootte van 32-bits. R13 register heet Stack Pointer (SP), R14 heet Link Register (LR) en R15 heet Program Counter (PC). ARM ISA ondersteunt veel rekenkundige bewerkingen zoals optellen, aftrekken en vermenigvuldigen. ARM-kernen hebben een 32-bits adresbus, die een vlakke lineaire adresruimte van 4 GB biedt. Geheugen wordt geadresseerd in bytes en is toegankelijk als dubbele woorden (8-bytes), woorden (4-bytes) of halve woorden (2-bytes).
ARM-architecturen worden gebruikt in smartphones, tabletcomputers, PDA's en andere mobiele apparaten. ARM-chips worden ook gebruikt in Raspberry Pi, BeagleBoard, PandaBoard en andere computers met één bord vanwege hun lage stroomverbruik, lage prijs en kleinere vorm.
Wat is MIPS?
MIPS is ontworpen en geïntroduceerd door MIPS Technologies in 1981. Deze ISA is ook gebaseerd op RISC-instructiesetarchitectuur en heeft een vast coderingssysteem. Voorwaarderegisters worden gebruikt voor vertakkingen en MDMX, MIPS-3D worden gebruikt als extensies. Er zijn drie soorten MIPS-instructies en dat zijn R, I en J. Elke instructie begint met een 6-bits opcode. In instructies van het R-type zijn er drie registers, een shift-mount-veld en een functieveld. In I-type-instructies zijn er twee registers en een 16-bits directe waarde, terwijl J-type-instructies opcode volgen met een 26-bits sprongdoel. MIPS heeft 32 integer registers om rekenkundige bewerkingen uit te voeren. Register $0 bevat 0 en register $1 is normaal gereserveerd voor de assembler.
MIPs-architectuur wordt gebruikt bij het maken van smartphones, avondmaalcomputers, embedded systemen zoals routers, gateways voor thuisgebruik en videoconsoles zoals Sony PlayStations.
Wat is het verschil tussen MIPS en ARM?
• MIPS en ARM zijn twee verschillende instructiesetarchitecturen in de familie van RISC-instructieset.
• Hoewel beide instructiesets een vaste en dezelfde instructiegrootte hebben, heeft ARM slechts 16 registers, terwijl MIPS 32 registers heeft.
• ARM heeft een hoge doorvoer en een grote efficiëntie dan MIPS omdat ARM-processors 64-bits databussen tussen de kern en de caches ondersteunen.
• Om efficiënte contextomschakeling mogelijk te maken, ondersteunt de MIPS-architectuur de implementatie van meerdere registerbanken. ARM biedt alleen registers voor algemene doeleinden voor rekenkundige bewerkingen en alle andere functies, maar MIPS biedt twee afzonderlijke registers om de resultaten van vermenigvuldigingsbewerkingen vast te houden.
• MIPS heeft geen equivalente instructie voor de ARM MOV-instructie.
• De MIPS ADD-instructie genereert normaal gesproken een uitzondering bij overloop, dus wordt deze zelden gebruikt dan in ARM.
• Alle ARM-gegevensverwerkingsinstructies stellen standaard de ALU-conditiecodes in, maar MIPS biedt de SLT ter vergelijking.
Samenvatting:
MIPS vs ARM
In de wereld van microprocessors leveren MIPS en ARM een geweldige service namens hun instructieset-architecturen. MIPS wordt voornamelijk geïmplementeerd in embedded systemen. Maar op dit moment is ARM veel populairder geworden in de branche dan MIPS.