Architettura degli elaboratori, 30 Giugno 2008
Non e' ammesso l'uso di
alcun testo, appunti o calcolatrici. Le risposte vanno scritte
nel foglio di bella copia.
Si raccomanda la massima SINTETICITA'. L'eccessiva verbosita' verra'
considerata negativamente.
I risultati (sia positivi che negativi) verranno
registrati sul portale CEA non appena corretti i compiti.
Chi non intenda accettare un voto basso o desideri fare un orale in caso di voto basso
(se quest'ultimo e' comunque maggiore di 24), deve comunicarlo per tempo al docente
o all'assistente in aula.
Gli iscritti alla laurea
triennale debbono essersi prenotati sul portale studenti del nostro
ateneo, in caso cio' non sia stato fatto fatelo immediatamente presente
al docente o all'assistente in aula.
Coloro che debbono sostenere
l'esame da 9 crediti, uno volta superato lo scritto dovranno sostenere
un orale sulla parte del programma del loro anno di corso non coperto
dal programma di quest'anno.
Esercizio 1
Descrivere la funzionalita' di un decodificatore (decoder).
Fornire il circuito di un decodificatore a 4 uscite.
Esercizio 2
I codici ASCII e UNICODE. Discuterne.
Esercizio 3
Scrivere la versione di INVOKEVIRTUAL in Mic-2.
Esercizio 4
Quale valore viene restituito dal seguente metodo assembly IJVM?
Giustificare.
.method X (n)
.var
c
.end_var
BIPUSH 0
ISTORE c
ILOAD n
BIPUSH 1
IF_ICMPEQ end
LDC_W objref
ILOAD n
BIPUSH 1
ISUB
INVOKEVIRTUAL X
end IINC c 2
ILOAD c
IRETURN
.end_method
Esercizio 5
Cosa si intende per arbitraggio decentralizzato del Bus?
Descrivere un tipo di arbitraggio decentralizzato del Bus.
Esercizio 6
Durante il corso e' stato descritto un esempio di realizzazione
di Trap per IJVM relativa all'evento "Operazione su Stak impossibile: Stack vuoto".
Descrivere brevemente come realizzare una Trap per IJVM relativa
all'evento "Inserimento su Stack impossibile: Memoria non disponibile".