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
$v0e$v1($2,$3), utilizzati per gli output delle funzioni utilizzate nel programma- Registri dal
$a0al$a3($4, …,$7) utilizzati per gli input delle funzioni- Registri dal
$t0al$t7($8, …,$15), utilizzati per valori temporanei- Registri dal
$s0al$s7($16, …,$23), utilizzati per valori più ricorrenti- Registri dal
$t8al$t9($24,$25), utilizzati per valori temporanei- Registri
$k0e$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 funzioniLink to original
