Esame Architetture degli Elaboratori, 16 Dicembre 1999




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.


Esercizio 1

(a) Descrivere la componente Interprete delle Macchine Astratte.

(b) Potrebbe accadere che nell'implementazione della MA del livello 5 di un sistema di calcolo la componente memoria sia esattamente la componente memoria del livello 3 ?

Esercizio 2

(a) Dimostrare che nella codifica in complemento a due dei numeri interi la rappresentazione dei i numeri positivi ha "0" come cifra piu' a sinistra, mentre quella dei numeri negativi "1".

(b) Siano date le seguenti relazioni fra numeri in base diversa: Determinare le basi X, S, W, Z, giustificando la risposta.



Esercizio 3

(a) Dare la definizione di insieme irridondante di implicanti di una funzione.

(b) In casa avete un sistema di cellule fotoelettriche che invia un segnale che indica se siete in casa o no; inoltre indica anche se siete in bagno o no. Progettare un circuito che invii un segnale di accensione o spegnimento alla segreteria telefonica. La segreteria va accesa se siete fuori casa e spenta se siete dentro. Inoltre quando siete in casa deve accendersi quando siete in bagno.
Descrivere tutti i passi utilizzati nella sintesi della rete per quanto possano essere semplici.


Esercizio 4

(a) Nella microarchitettura del Tanenbaum esistono due decodificatori A e B, per determinare il contenuto di quale dei registri va in ingresso alla ALU.
Quali conseguenze avrebbe sulla struttura della microistruzioni l'assenza di tali decodificatori?

(b) Nel seguito e' riportata una sequenza di microistruzioni per Mic-1 che ralizza una istruzione Mac-1.
Si dica quale e' tale istruzione. Inoltre si dica come dovrebbe esser modificata la sequenza di microistruzioni nell'ipotesi che le operazioni di lettura e di scrittura dalla memoria centrale richiedano 3 cicli di memoria anziche' 2.
sp := sp + (-1);
mar := sp; mbr := pc; wr;
pc := band(ir, amask); wr; goto 0;



Esercizio 5

Si consideri il seguente codice Mac-1.
        A = 1000
        V = 1
        I = 3

        JUMP P
ASSIGN: LODL V
        PUSH
        LODL I
        POPI
        RETN
    P : LOCO A
        SUBD C1
        PUSH
        LODD A
        PUSH
        CALL ASSIGN
        INSP 2
        CALL STOP
    C1: 1
(a) Quale e' l'effetto dell'esecuzione di tale codice?

(b) Quale e' il massimo valore che si puo' correttamente assegnare ad A?


Esercizio 6

Indicare, ove possibile (e cioe' quando i dati sono disponibili nella cache), il valore corrispondente ai seguenti indirizzi, quando venga usata una cache associativa, con blocchi di 8 celle, il cui contenuto e' riportato sotto.
Indirizzi: 800, 40, 3204, 10










 Validita' N.Blocco                 Contenuto
                      0     1     2     3     4     5     6     7
     ---------------------------------------------------------------
     | 0 |  327    | 0   | 0   | 0   | 0   | 0   | 0   | 0   | 0   |     
     | 1 |  328    | 10  | 11  | 12  | 13  | 14  | 15  | 16  | 17  |    
     | 1 |  400    | 255 | 100 | 128 | 150 | 73  | 255 | 32  | 101 |    
     | 0 |  1      | 100 | 200 | 100 | 200 | 100 | 200 | 100 | 200 |    
     | 0 |  2      | 101 | 100 | 99  | 98  | 97  | 96  | 95  | 94  |    
     | 1 |  329    | 102 | 200 | 202 | 188 | 134 | 10  | 7   | 120 |    
     | 1 |  10     | 50  | 51  | 52  | 53  | 54  | 55  | 56  | 57  |
     | 1 |  700    | 50  | 60  | 70  | 80  | 90  | 100 | 110 | 120 |    
     | 0 |  330    | 0   | 1   | 2   | 3   | 4   | 5   | 6   | 7   |    
     | 1 |  3      | 2   | 33  | 0   | 0   | 222 | 32  | 128 | 77  |    
     ---------------------------------------------------------------




Esercizio 7

Facciamo riferimento all'Esempio di Interrupt-driven I/O con politica Memory Mapped visto nel corso.

Esercizio 8

Una macchina ha le seguenti caratteristiche:
Dimensione istruzioni: 32 bit
Numero registri indirizzabili: 8
Numero celle : 4K
Si intende progettare un codice ad espansione per codificare il seguente insieme di istruzioni:
31 istruzioni con due indirizzi di memoria e un indirizzo di registro;
7 istruzioni con due indirizzi di memoria;
n istruzioni con un indirizzo di memoria ed un indirizzo di registro.

Quale e' il valore massimo di n?