Architetture degli Elaboratori, 14 Giugno 2000
PER A.A. 1999/2000


Non e' ammesso l'uso di alcun testo, appunti o calcolatrici. Le risposte ai quesiti vanno scritte nel foglio di bella copia.
Si raccomanda la massima SINTETICITA' negli esercizi che richiedano una spiegazione scritta.



PARTE 1

Esercizio 1
(a) Avete cinque righe a disposizione (scritte normali e non una di piu') per dirmi perche' e' conveniente organizzare a livelli i sistemi di calcolo.
(b) Dire perche' in un sistema di calcolo organizzato a livelli almeno un livello deve essere necessariamente realizzato per compilazione (traduzione).

Esercizio 2
(a) Avete cinque righe a disposizione (scritte normali e non una di piu') per dirmi qualcosa sul codice UNICODE.
(b) Perche' nei CD-ROM la densita' dei bit nei settori esterni e' minore che in quelli interni?
Esercizio 3
Sintetizzare, mostrando tutti i passaggi del processo di sintesi, un circuito sequenziale con un bit in ingresso ed uno in uscita. L'uscita varra' sempre 0 fino al momento, se mai accadra', in cui appariranno in ingresso due 1 seguiti da due 0. Da questo punto in poi l'uscita varra' sempre 1.
Utilizzare un circuito SP minimale per la parte combinatoria del circuito. L'automa a stati finiti utilizzato nella sintesi deve essere, possibilmente, minimo.


PARTE II

Esercizio 4
Supponete di avere un metodo Java che calcoli il fattoriale di un numero in modo ricorsivo.
Scrivere il codice IJVM che traduca tale metodo.
Cosa verra' inserito nei 4 byte nella Method Area che precedono il codice?
La lista delle istruzioni IJVM e' allegata al testo.

Esercizio 5
Nel Data Path dell'architettura del Mic-1 il registro MBR e' indicato piu' o meno, nel seguente modo:
                                  | |
           - - - - - - - ---- ==> | |
           :  MBR     ->|   |     | |
           - - - - - - - ---- ==> | |
                         ^ ^      | |
                         | |
Perche' parte del registro e' disegnata tratteggiata? Perche' sono indicati due collegamenti al Bus B? Perche' ha tre segnali di controllo (le frecce piccole)? A cosa servono?

Esercizio 6
Nel Data Path dell'architettura del Mic-2, oltre al registro MBR, e' presente anche un registro MBR2, indicato, piu' o meno, nel modo seguente:
                                  | |
           - - - - ---------- ==> | |
           :      ->| MBR2  |     | |
           - - - - ---------- ==> | |
                       ^  ^       | |
                       |  |
Qual e' lo scopo di avere questo altro MBR?



PARTE III

Esercizio 7
Cos'e' un bus asincrono?
Descrivere quello che succede durante una transazione, per esempio una richiesta di lettura in memoria da parte della CPU, su un Bus asincrono. Possibilmente mostrare il grafico temporale che mostra l'evoluzione dei segnali sulle linee ADDRESS, MREQ, RD, MSYN, DATA, SSYN. (Giusto per completezza, ricordiamo che nell'esempio del testo le linee MREQ, RD, MSYN e SSYN sono asserite basse).
Esercizio 8
Cosa si intende per Pipeline?
Quelle descritte nel seguito sono i nomi delle fasi della pipeline del PicoJavaII. Metterle nell'ordine esatto. Access data cache, Fetch from I-cache, Write results to stack, Execute instruction, Decode and fold.

Esercizio 9
Cos'e' un algoritmo di routing? Quando un algoritmo di questo tipo si dice statico?, quando dinamico?
Il dimensional routing algorithm e' un algoritmo di routing senza deadlock usato per griglie rettangolari. Quali nodi si attraversano utilizzando questo algoritmo per andare dal nodo (3,7,5) a quello (6,9,8) in una griglia tridimensionale?