Index

Related


Introduzione

Caratteristiche Architettura MIPS 2000

  • Word dimensione di 32 bit
  • Lo **spazio di indirizzamento **è di 230 word di 32 bit ciascuna, per un totale di 4 GB
  • Gli interi sono rappresentati in Codifica complemento a due (CA2) a 32 bit
  • Una memoria indicizzata al byte, dunque,
    • oss: dato un indirizzo di memoria t corrispondente all’inizio di una word, per leggere la word successiva è necessario utilizzare l’indirizzo t + 4, poiché 4 byte corrispondono a 32 bit (ricordiamo che ogni word è composta da 32 bit)

Microprocessori

L’Architettura MIPS dotata di 3 microprocessori:

  • ALU (Arithmetic Logic Unit) di 32 registri HI/LO ed addetta all’esecuzione delle istruzioni
  • Il Coprocessore 0 è solo addetto alla gestione di “trap”, eccezioni, Virtual Memory, Cause, EPC, Status, BadVAddr, …
  • Il Coprocessore 1, addetto ai calcoli in virgola mobile e dotato di 32 registri da 32 bit, utilizzabili anche come 64 registri da 16 bit

Registri

Registri MIPS

  • I 32 Registri, indicizzati da 0 a 31, della CPU principale:
    • Registro $zero ($0), contenente un valore costante pari a 0 ed immutabile
    • Registro $at ($1), usato dalle pseudo-istruzioni e dall’assemblatore
    • Registri $v0 e $v1 ($2, $3), utilizzati per gli output delle funzioni utilizzate nel programma
    • Registri dal $a0 al $a3 ($4, …,$7) utilizzati per gli input delle funzioni
    • Registri dal $t0 al $t7 ($8, …, $15), utilizzati per valori temporanei
    • Registri dal $s0al $s7 ($16, …, $23), utilizzati per valori più ricorrenti
    • Registri dal $t8 al $t9 ($24, $25), utilizzati per valori temporanei
    • Registri $k0 e $k1 ($26, $27), utilizzati dal Kernel del Sistema Operativo
    • Registro $gp ($28), ossia Global Pointer, utilizzato per la gestione della memoria dinamica
    • Registro $sp ($29), ossia Stack Pointer, utilizzato per la gestione dello Stack delle funzioni
    • Registro $fp ($30), ossia Frame Pointer, utilizzato dalle funzioni di sistema
    • Registro $ra ($31), ossia Return Address, utilizzato come puntatore di ritorno dalle funzioni

Link to original