MIPS vs ARM
È possibile identificare un certo numero di differenze tra MIPS e ARM sebbene entrambi rientrino nella 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 (Riduced Instruction Set Computing) e sono di tipo registro-registro. Entrambi i set di istruzioni hanno una dimensione dell'istruzione fissa di 32 bit/64 bit (spazio degli indirizzi) ed entrambi i set di istruzioni possono essere configurati su big endian e little endian. Entrambe le architetture supportano la compatibilità con le versioni precedenti. Le architetture di ARM e MIPS sono utilizzate nei processori di smartphone e tablet come iPhone, tablet Android e Windows RT, ma non nei computer principali come laptop e server.
Cos'è ARM?
Il principale progettista di ARM ISA è ARM Holdings. L'architettura ARM è stata introdotta nel 1985 e progettata sulla base di RISC. Questo ISA utilizza codici condizionali nella diramazione. Esistono diverse architetture ARM come architetture a 64/32 bit, architetture a 32 bit (corteccia) e architetture a 32 bit (legacy). ARM è l'architettura di set di istruzioni più utilizzata al mondo. Il set di istruzioni di inserimento può essere suddiviso in sei ampie classi di istruzioni come istruzioni Branch, Istruzioni per l'elaborazione dei dati, Istruzioni per il caricamento e l'archiviazione, Istruzioni per il coprocessore e Istruzioni per la generazione di eccezioni. Diversi tipi di istruzioni ARM possono essere identificati utilizzando l'opcode e i flag condizionali. Ci sono 16 registri generici chiamati da R0 a R15 in ARM ISA e ognuno 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 di 4 GB. La memoria è indirizzata in byte ed è possibile accedervi come parole doppie (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 sono utilizzati anche in Raspberry Pi, BeagleBoard, PandaBoard e altri computer a scheda singola a causa del loro basso consumo energetico, della loro economicità e della loro forma più piccola.
Cos'è il MIPS?
MIPS è stato progettato e introdotto da MIPS Technologies nel 1981. Questo ISA si basa anche sull'architettura del set di istruzioni RISC e ha 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 s alto a 26 bit. MIPS ha 32 registri interi per eseguire operazioni aritmetiche. Register $0 contiene 0 e register $1 è normalmente riservato all'assembler.
L'architettura MIP viene utilizzata nella realizzazione di smartphone, computer da pranzo, sistemi embedded come router, gateway residenziali e console video come PlayStation Sony.
Qual è la differenza tra MIPS e ARM?
• MIPS e ARM sono due diverse architetture di set di istruzioni nella famiglia del set di istruzioni RISC.
• Sebbene entrambi i set di istruzioni abbiano una dimensione di istruzione fissa e identica, ARM ha solo 16 registri mentre MIPS ne ha 32.
• ARM ha un throughput elevato e una grande efficienza rispetto a MIPS perché i processori ARM supportano bus 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ù banche di registri. ARM fornisce solo registri generici 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 istruzioni equivalenti 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.
Riepilogo:
MIPS vs ARM
Nel mondo dei microprocessori, MIPS e ARM forniscono 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.