MIPS vs ARM
È possibile identificare una serie di differenze tra MIPS e ARM sebbene entrambi appartengano alla stessa famiglia di set di istruzioni. Del resto, MIPS e ARM sono due architetture di set di istruzioni (ISA) disponibili nel mondo dei microprocessori. Entrambi, ARM e MIPS, sono basati su RISC (Reduced Instruction Set Computing) e sono di tipo registro-registro. Entrambi i set di istruzioni hanno una dimensione di istruzione fissa a 32 bit / 64 bit (spazio degli indirizzi) ed entrambi i set di istruzioni possono essere configurati sia su big endian che su little endianness. Entrambe le architetture supportano la compatibilità con le versioni precedenti. Le architetture di ARM e MIPS vengono utilizzate nei processori di smartphone e tablet come iPhone, tablet Android e Windows RT, ma non nei computer main stream come laptop e server.
Cos'è ARM?
Il progettista principale di ARM ISA è ARM Holdings. L'architettura ARM è stata introdotta nel 1985 e progettata sulla base di RISC. Questo ISA utilizza codici condizionali nella ramificazione. Esistono diverse architetture ARM come architetture a 64/32 bit, architetture a 32 bit (cortex) e architetture a 32 bit (legacy). ARM è l'architettura del set di istruzioni più utilizzata al mondo. Il set di istruzioni Arm può essere suddiviso in sei ampie classi di istruzioni come istruzioni Branch, istruzioni di elaborazione dati, istruzioni di caricamento e memorizzazione, istruzioni coprocessore e istruzioni che generano eccezioni. Diversi tipi di istruzioni ARM possono essere identificati utilizzando il codice operativo e i flag condizionali. Ci sono 16 registri di uso generale chiamati da R0 a R15 in ARM ISA e ciascuno ha una dimensione di 32 bit. Il registro R13 è chiamato Stack Pointer (SP),R14 è chiamato Link Register (LR) e R15 è chiamato Program Counter (PC). ARM ISA supporta molte operazioni aritmetiche come addizione, sottrazione e moltiplicazione. I core ARM hanno un bus di indirizzi a 32 bit, che fornisce uno spazio di indirizzi lineare piatto da 4 GB. La memoria è indirizzata in byte ed è possibile accedervi come doppie parole (8 byte), parole (4 byte) o mezze parole (2 byte).
Le architetture ARM sono utilizzate in smartphone, tablet PC, PDA e altri dispositivi mobili. I chip ARM vengono utilizzati anche in Raspberry Pi, BeagleBoard, PandaBoard e altri computer a scheda singola a causa del loro basso consumo energetico, dell'economicità e della forma più piccola.
Cos'è MIPS?
MIPS è stato progettato e introdotto da MIPS Technologies nel 1981. Anche questo ISA si basa sull'architettura del set di istruzioni RISC e dispone di un sistema di codifica fisso. I registri delle condizioni vengono utilizzati per la ramificazione e MDMX, MIPS-3D vengono utilizzati come estensioni. Esistono tre tipi di istruzioni MIPS e sono R, I e J. Ogni istruzione inizia con un codice operativo a 6 bit. Nelle istruzioni di tipo R, ci sono tre registri, un campo di montaggio a scorrimento e un campo funzione. Nelle istruzioni di tipo I, ci sono due registri e un valore immediato a 16 bit mentre le istruzioni di tipo J seguono il codice operativo con un target di salto a 26 bit. MIPS ha 32 registri interi per eseguire operazioni aritmetiche. Il registro $ 0 contiene 0 e il registro $ 1 è normalmente riservato all'assemblatore.
L'architettura MIP viene utilizzata per realizzare smartphone, computer per la cena, sistemi integrati come router, gateway residenziali e console video come Sony PlayStation.
Qual è la differenza tra MIPS e ARM?
• MIPS e ARM sono due diverse architetture di set di istruzioni nella famiglia di set di istruzioni RISC.
• Sebbene entrambi i set di istruzioni abbiano una dimensione di istruzione fissa e uguale, ARM ha solo 16 registri mentre MIPS ha 32 registri.
• ARM ha un throughput elevato e una grande efficienza rispetto a MIPS perché i processori ARM supportano bus di dati a 64 bit tra il core e le cache.
• Per consentire un cambio di contesto efficiente, l'architettura MIPS supporta l'implementazione di più banchi di registri. ARM fornisce solo registri per uso generico per operazioni aritmetiche e tutte le altre funzioni, ma MIPS fornisce due registri separati per contenere i risultati dell'operazione di moltiplicazione.
• MIPS non ha un'istruzione equivalente all'istruzione ARM MOV.
• L'istruzione MIPS ADD normalmente genera un'eccezione in caso di overflow, quindi è usata raramente che in ARM.
• Tutte le istruzioni di elaborazione dati ARM impostano i codici di condizione ALU per impostazione predefinita, ma MIPS fornisce l'SLT per il confronto.
Sommario:
MIPS vs ARM
Nel mondo dei microprocessori, MIPS e ARM fanno un ottimo servizio per conto delle loro architetture di set di istruzioni. MIPS è implementato principalmente nei sistemi embedded. Ma, al momento, ARM è diventato molto più popolare nel settore rispetto a MIPS.
Immagini per gentile concessione:
- Un processore ARM in una stampante Hewlett-Packard PSC-1315 di Socram8888 (CC BY 2.0)
- Vista dal basso della confezione dell'R4700 di Dyl (CC BY-SA 3.0)