Architettura degli elaboratori, 2 Ottobre 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 ed indicarlo sul proprio elaborato.
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
Identificare nella macchina Mic-2 quali sono le parti che corrispondono alla componente Controllo di Sequenza. Fornire breve giustificazione.
Esercizio 2
Cos'e' un insieme di operatori booleani funzionalmente completo?
Dimostrare che {NAND, OR} e' funzionalmente completo.
Esercizio 3
Supponiamo di voler realizzare un arbitro, per un'arbitraggio centralizzato
''a stella'' (tipo il bus PCI),
utilizzando la macchina microprogrammabile Mic-2 del testo.
Supponiamo che le 8 linee di richiesta di uso del Bus degli 8 master connessi al Bus
siano collegate ai bit piu' significativi del registro PC e che
le linee di grant siano collegate ai bit piu' significativi del registro OPC.
Scrivere un microprogramma che realizzi il processo di arbitraggio.
Quali vantaggi si potrebbero ottenere utilizzando Mic-1 anziche' Mic-2?
Codice non commentato non verra' valutato
Esercizio 4
Si prenda in considerazione il codice Mic-2 di INVOKEVIRTUAL,
ed in particolare la microistruzione invokevirtual3.
In che punto del ciclo di clock l'Hw e' a conoscenza che il valore di
PC verra' modificato? In che punto del ciclo di clock e' stabile il
valore che verra' assegnato a PC?
Che cosa provoca nell'Hw Mic-2 una modifica del contenuto di PC?
La temporizzazione degli eventi nell'Hw Mic-2 permette che
l'istruzione invokevirtual4 sia eseguita correttamente?
Potrebbe risultare utile o indispensabile l'inserimento di
un'istruzione vuota tra invokevirtual3 ed invokevirtual4?
Esercizio 5
Scrivere un metodo assembly IJVM che calcoli il numero massimo di 1 consecutivi
contenuti nella parola (di 32 bit) che viene passata come argomento al metodo.
Codice non commentato non verra' valutato
Esercizio 6
Discutere dello schema di I/O con DMA.