Index

Related


Introduzione

Ogni Istruzione è rappresentata in 32 bit, assegnando significati diversi a sequenze di questi bit sono state decise 3 principali formattazioni per le istruzioni:

  1. R-type
  2. I-type
  3. J-type

Formattazione delle istruzioni:

  • 31 26 - 25 21 - ... - 05 00 sono i range di bit in cui sono rappresentati i parametri delle istruzioni ad esempio, in J-Type dal bit 31 al 26 è contenuta l’opcode e dal 25 allo 0 l’indirizzo.

Significato acronimi

  • opcode: operation code
  • rs: first register source operand
  • rt: second register source operand
  • rd: register destination operand
  • shamt: shift amount
  • funct: function code

R-type

Le istruzioni R-type eseguono operazioni aritmetico/logiche.

oprsrtrdshamtfunct
6 bit5 bit5 bit5 bit5 bit6 bit

I 32 bit sono suddivisi in:

  • opcode:operazione base dell’istruzione
  • rs: registro contenente il primo operando sorgente
  • rt: registro contenente il secondo operando sorgente
  • rd: registro di destinazione
  • shamt: numero di posizioni di scorrimento (utilizzato solo per operazioni di shifting, default zero)
  • funct: specifica la variante dell’operazione base definita dal codice operativo

I-type

Le istruzioni di tipo I-type (immediato), hanno 16 bit per un indirizzo di memoria (o meglio una sua parte) o una costante.

oprsrtimm
6 bit5 bit5 bit16 bit

I 32 bit sono suddivisi in:

  • opcode:operazione base dell’istruzione
  • rs: registro contenente il primo operando sorgente
  • rt: registro contenente il secondo operando sorgente
  • imm: costante o indirizzo

Utilizzo

Questo tipo di istruzione è utilizzato per effettuare operazioni di tipo:

  • load/store dove imm (ultimi 16 bit) è utilizzata per passare una costante
  • salti di tipo immediato dove imm (ultimi 16 bit) è utilizzata per passare una indirizzo di un indirizzo del pc

J-type

Le istruzioni di tipo J-type permettono di effettuare salti non condizionati (salti assoluti).

opaddress
6 bit26 bit

I 32 bit sono suddivisi in:

  • opcode:operazione base dell’istruzione
  • address: registro contenente il primo operando sorgente