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
Link to original
- 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
$s0
al$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