Architettura degli elaboratori, 22 Gennaio 2010
Per A.A. precedente a 08/09: esercizi 1-4
Per A.A. 08/09: esercizi 1-5
(Indicare sul compito se si e' del 08/09 o precedenti)
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.
Gli iscritti alla laurea
triennale debbono essersi prenotati sul portale studenti del nostro
ateneo. Se cio' non e' stato fatto, comunicatelo immediatamente
al docente o all'assistente in aula.
Se si passa lo scritto, si deve obbligatoriamente sostenere anche un
colloquio orale. Date ed orari degli orali
verranno indicati nella pagina dei risultati e sul Forum.
Esercizio 1
Fornire la definizione di Realizzazione Interpretativa di una
macchina astratta.
Descrivere la differenza tra realizzazione interpretativa via firmware
o via software.
Dire perche', nello stesso sistema organizzato a livelli, non ci possono
essere due macchine astratte entrambe realizzate in modo interpretativo.
Esercizio 2
Qual e' la funzione di un tipico PIO chip?
Descrivere i due modi in cui un PIO chip puo' venire selezionato.
Fornire un esempio semplice ma dettagliato di utilizzo di uno di tali modi.
Esercizio 3
I seguenti segmenti di codice Mic-1 e IJVM erano equivalenti
(la loro esecuzione aveva cioe' il medesimo effetto).
In uno dei due (e solo in uno dei due)
sono stati pero' volutamente inseriti alcuni errori.
Individuare tali errori e modificare il codice (fornendo adeguata
giustificazione) in modo che
i due segmenti di codice tornino ad essere equivalenti.
Ricopiare poi i codici, commentandoli.
MAR=SP; rd DUP
MAR=PC+1; rd ILOAD 1
OPC=MDR ISUB
H=MDR IFLT L
N=OPC-H; if(Z) goto L1; else goto L2 ILOAD 1
L2 MAR=OPC; wr SWAP
MAR=SP+1 ISTORE 1
MDR=H; wr L
L1
Esercizio 4
Il linguaggio assembly IJVM possiede una direttiva per definire costanti
simboliche con la seguente sintassi
.constant
constant1 value1
constant2 value2
.end-constant
Qual e' l'effetto dell elaborazione di una tale direttiva nel processo
di assemblaggio di un metodo assembly IJVM che la contenga?
In che modo, in un metodo assembly IJVM, e' possibile far riferimento alle
costanti simboliche definite da questa direttiva? A cosa corrispondono i valori
numerici risultanti dalla traduzione di tali riferimenti simbolici?
Esercizio 5
Cos'e' un codice a espansione con configurazione di espansione?
Perche' puo' risultare utile utilizzare tali codici per rappresentare
i codici operativi di un linguaggio macchina?
Fare il seguente esercizio relativo a tali codici.
Una macchina ha le seguenti caratteristiche:
Dimensione istruzioni: 32 bit
Numero registri indirizzabili: 8
Numero celle di memoria : 4K
Si intende progettare un codice ad espansione (codice operativo espandibile)
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 celle di memoria ed un indirizzo di registro.
Dire, giustificando, qual e' il valore massimo di n.