Cos’è l’architettura MIPS?

MIPS è un'architettura RISC (reduced instruction set computing) sviluppata da diversi ricercatori di Stanford a metà degli anni '80. In origine, il nome era un acronimo per Microprocessore senza stadi di pipeline interbloccati, ma gli interblocchi tra gli stadi di pipeline sono stati alla fine reintrodotti, probabilmente per motivi di prestazioni come altri processori sono diventati più avanzati. La decisione di fare un processore senza stadi di pipeline interbloccati era basata sulle prestazioni e sulla semplicità del design. Con gli interblocchi, operazioni come la divisione di numeri interi, che richiede molto tempo, causerebbe l'attesa di altre fasi della pipeline fino a quando l'unità di esecuzione avesse finito la divisione. Questo vanifica lo scopo del pipelining perché causa sezioni del processore inattive. Ridurre tutte le fasi ad un ciclo di clock rimuove l'inattività (tuttavia potrebbe costringere il clock ad essere più lento).

MIPS segue la classica pipeline RISC a 5 fasi: Instruction Fetch (IF), Instruction Decode/Operand Fetch (ID), Execute (EX), Memory Access (MEM), e Write Back (WB). MIPS è un'architettura load-store, il che significa che per fare aritmetica sui dati, i valori devono essere esplicitamente letti dalla memoria con una speciale istruzione load e scritti nella memoria con un'istruzione store; le istruzioni aritmetiche operano solo sui registri.

Secondo me, MIPS è un'architettura davvero ottima se siete interessati ad imparare le ISA, l'architettura dei computer e l'organizzazione dei computer perché è diretta e semplice, ma non rinuncia a funzionalità importanti.