Se si passa lo scritto, si deve obbligatoriamente sostenere anche un
colloquio orale, se indicato dal docente. Date ed orari degli orali
verranno indicati nella pagina dei risultati e sul Forum.
Esercizio 1
Cosa si intende per Architettura di Von Neumann?
Cos'e' un Macchina di Turing?
Esercizio 2
Si traducano in Mic-1 binario le seguente microistruzioni Mic-1 mal
(a sinistra sono indicati gli indirizzi del Control Store dove verranno
memorizzate tali microistruzioni).
0x10 SP=MAR=SP+1
0x11 PC=PC+1;fetch
0x12 MDR=TOS=MBR; wr; goto Main1
Esercizio 3
Implementare un decodificatore a 32 uscite come
metodo assembly IJVM.
Tale metodo prendera' in input un numero n compreso tra
0 a 31 e restituira' la stringa di 32 bit che sarebbe
prodotta da un circuito decodificatore (decoder)
con 5 input e 32 output.
Commentare il codice. Codice non commentato non verra' valutato.
Esercizio 4
Si consideri il seguente generico programma assembly per il calcolo
della somma degli elementi di un array di 1024 interi memorizzati
a partire dall'indirizzo A (ogni intero e' memorizzato in una parola di 4 byte).
Riscrivere tale programma utilizzando anche la modalita' di indirizzamento indicizzato (Indexed addressing).
MOV R1,#0 ;aggiorna la somma in R1, posto inizialmente a 0
MOV R2,#A ;R2=indirizzo dell'array A
MOV R3,#A+4096 ;R3=indirizzo della prima parola dopo l'array
ciclo ADD R1,(R2) ;recupera l'operando attraverso R2, registro indiretto
ADD R2,#4 ;incrementa R2 di una parola (4 byte)
CMP R2,R3 ;abbiamo gia' finito?
BLT ciclo ;se R2 < R3 non abbiamo finito, quindi si continua
L'indirizzamento indicizzato si indica con C(R), dove C e' una costante ed R un registro.
Commentare il codice. Codice non commentato non verra' valutato.
Esercizio 5
Cache a corrispondenza diretta (Direct-Mapped Cache): discuterne.
Descrivere in dettaglio come viene cercata una parola di memoria
in una cache a corrispondenza diretta.