Architettura degli elaboratori, 31 Gennaio 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, comunicatelo immediatamente al docente o all'assistente in aula.
Esercizio 1
Uno dei principi di progettazione dei calcolatori moderni e'
"Le istruzioni devono essere facili da decodificare".
In che modo e' possibile soddisfare tale requisito?
E' un requisito da rispettare solo per linguaggi realizzati in Hw?
Giustificare.
Esercizio 2
Disegnare il circuito di un Multiplexer (selettore in uscita) a 4 vie.
Esercizio 3
Disegnare il diagramma di temporizzazione di un bus asincrono relativo alla
lettura di una parola di memoria. Nel bus
sono presenti un insieme di linee ADDRESS, un insieme di linee DATA e i segnali
MREQ, RD, MSYN, SSYN. Tutti i segnali sono asseriti alti. Descrivere brevemente
gli eventi rappresentati nel diagramma.
Esercizio 4
Nel Data Path dell'architettura del Mic-2 il registro MBR e' rappresentato, piu' o meno, nel seguente modo:
| |
- - - - - - - ---- ==> | |
====>: MBR ->| | | |
- - - - - - - ---- ==> | |
^ ^ | |
| | | |
Scrivere brevemente tutto quello che si conosce di tale registro, il suo funzionamento, i collegamenti, la sua funzione.
Esercizio 5
Supponiate di avere a disposizione in IJVM un'istruzione GETCH che pone sullo Stack
il primo elemento del buffer circolare relativo alla realizzazione di I/O con interruzioni
come descritto nelle note del corso "Esempio (con simulatore) di realizzazione di
Input/Outpur con interruzioni".
Scrivere un metodo in assembly IJVM che restituisca il valore 3n, dove n e'
il primo elemento nel buffer circolare (che si assume rappresenti un numero naturale).
Si puo' assumere di avere a disposizione un metodo mult che esegue il prodotto.
Commentare il codice. Codice non commentato non verra' valutato.
Esercizio 6
Prendendo in considerazione l'esempio di assemblaggio per l'assembly IJVM proposto nel materiale
del corso, descrivere il comportamento del Linker.