Esercizio 1
Supponiate di avere un Bus con 4 linee per gli indirizzi e che tali linee
siano collegate al segnale CS di una piccola ROM, come indicato nella figura.
__________ CS
|
AND
_________
| |
OR |
______ |
| | |
| | |
A3 ----x--|----|-------
A2 -------|----|-------
A1 -------x----|-------
A0 ------------x-------
Ovviamente una CPU collegata a tale bus potra' leggere in uno spazio di indirizzamento con indirizzi da 0 a 24-1. Di queste parole quali sono quelle che fisicamente appartengono alla ROM sopra citata? Giustificare la risposta.
Esercizio 2
Nell'hardware di Mic-1 e' presente una componente contrassegnata con una 'O':
MPC
___________________
| | | | | | | | | |
-------------------
^
|
-----
- --> | O |< --
-----
^
|
Qual e' la sua funzione?
Esercizio 3
Si scriva il microcodice Mic-1, da inserire nel microinterprete,
che permetta di realizzare una nuova istruzione IJVM:
IFMPLT offset (l'argomento offset e' lungo due byte).
Tale istruzione e' un'istruzione di salto condizionato.
Il salto viene effettuato se la cima dello Stack (che viene poi eliminata)
e' un numero positivo multiplo di 3.
Esercizio 4
Tradurre in assembly IJVM il seguente metodo:
public int owl(int x, int y)
{
int counter = 0;
while(counter < 12)
{ x = counter + x + y;
counter = counter + 1;
}
return castle(x);
}
Supporre di avere gia' un metodo IJVM di nome "castle".
Tradurre il metodo cosi' com'e', senza fare ottimizzazioni.
Commentare il codice. Codice non commentato non verra' valutato.