Esame Architetture degli Elaboratori, 3 Marzo 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.


Esercizio 1
(a) E' possibile avere un sistema di calcolo organizzato a livelli in cui esistano tre livelli corrispondenti alla macchina astratta del linguaggio Java?
Motivare brevemente la risposta.
(b) Dire perche' e' indispensabile che in un sistema di calcolo organizzato a livelli esista il livello 6.

Esercizio 2
(a) Dire cosa e' un codice ad espansione e fornire un esempio.

(b) Si condideri la seguente stringa di 8 bit:
                             10101010  
ottenuta applicando una funzione di codifica ad un numero n.
Dire qual'e' il valore di n (e come si e' ottenuto) quando la codifica e':
Esercizio 3
(a) Fornire le definizioni di circuito combinatorio, di circuito sequenziale, e di automa a stati finiti

(b) Si consideri una funzione boolena con quattro argomenti, che valga 1 solo quando almeno una delle due condizioni sia soddisfatta:
- Il primo ed il terzo argomento sono uguali
- Il primo ed il quarto argomento valgono 1 ed il terzo vale 0.
Si richiede che lo studente:
Esercizio 4
La procedura sotto riportata, scritta in linguaggio assembler MAC-1, riceve come parametro di input un numero e restituisce nell'accumulatore un valore diverso a seconda se il parametro si input sia un numero pari o dispari.
1.		C = 0
2.		N = 2
3.	Test:	DESP 1
4.		LOCO 0
5.		STOL C
6.	Loop:	LODL N
7.		ADDL N
8.		STOL N
9.		LOCO 1
10.		ADDL C
11.		STOL C
12.		SUBD C15
13.		JNZE Loop
14.		LODL N
15.		JPOS Pari
16.		LOCO 1
17.	Pari:	INSP 1
18.		RETN
19.	C15:	15


Esercizio 5
Indicare, tra quelle indicate, quali sono le risposte corrette alla seguente domanda:
Quali sono i vantaggi di una microarchitettura "verticale" rispetto ad una "orizzontale"?
1. Il MIR e' piu' semplice;
2. I circuiti di decodifica del codice di istruzione sono piu' semplici;
3. La memoria di controllo (control store) occupa meno spazio;
4. Vi e' maggior parallelismo nelle micro-operazioni e quindi maggiore velocita';
5. La programmazione in assembler e' resa piu' semplice;
6. Il microprogramma e' composto da un numero minore di microistruzioni;
7. I tempi di accesso alla memoria centrale sono ridotti.


Esercizio 6
Descrivere BREVEMENTE le fasi salienti della storia dell'evoluzione degli elaboratori elettronici.

Esercizio 7
(a) Dire perche' qualsiasi istruzione che utilizzi un modo di indirizzamento immediato richiede un tempo di esecuzione minore di qualsiasi istruzione che utilizzi un modo di indirizzamento indiretto.

(b) Si considerino le seguenti affermazioni relative al meccanismo delle macro e per ciascuna di esse si dica se e' vera o falsa.
1. Il meccanismo delle macro e' indipendente dall'architettura (RISC o CISC) della macchina;
2. Le macro sono piu' efficienti delle procedure (CALL) in termini di tempo di esecuzione del programma;
3. Le macro sono piu' efficienti delle procedure (CALL) in termini di dimensione totale (spazio occupato) del programma;
4. Il salto ad una procedura e' piu' semplice del salto ad una macro;
5. le macro sono interpretate e non compilate;
6. I riferimenti alle macro vengono trattati dall'assemblatore.


Esercizio 8
(a) Abbiamo 64 CPU connesse con altrettanti moduli di memoria attraverso un omega network.
Quanti "scambi" (nodi del network) deve attraversare un segnale che partendo da una CPU arrivi ad un modulo di memoria?
Quanti invece se i moduli fossero collegati tramite un crossbar switch?
(b) Perche' le architetture RISC vengono anche dette LOAD/STORE ?
Spiegare perche' un'architettura LOAD/STORE e' "ragionevole" soprattutto in assenza del microprogramma (e dell'associata memoria di controllo, control store).
Descrivere infine sinteticamente come avviene il passaggio dei parametri tramite un'organizzazione "a finestre" dei registri.