1 / 4
Architettura degli Elaboratori
Corso di Laurea in Informatica
Appello del 7 gennaio 2004 – tempo a disposizione: 2 ore
COGNOME _______________________________ NOME __________________________________
MATRICOLA N. _________________________ CORSO (indicare con una croce sopra):
A B
1. (punti 2) Spiegare quali sono le principali differenze tra un latch di tipo D sincronizzato ed un flip- flop di tipo D.
2. (punti 3) Descrivere quali registri, nell’architettura Mic-1, sono coinvolti in una operazione di lettura dalla memoria principale e in qual ordine temporale. E in una operazione di scrittura? E per una operazione di fetch?
3. (punti 2+1) Quante immagini nel formato 1024 x 1024 pixel a 64k colori possono essere memorizzate in una scheda compact flash da 16 Mbyte? Che tipo di memoria e` (solo lettura?
Lettura/scrittura? Memoria volatile?) la compact flash?
2 / 4 4. (punti 4) Data una macchina a tre indirizzi tipo UltraSPARC specificare:
a) perche' architetture di questo tipo hanno tanti registri a livello ISA;
b) che cosa significa architettura Load –Store;
c) perche' le istruzioni logiche ed aritmetiche sono solo tra registri.
5. (punti 3) Dire se in termini di bit e` piu` dispendioso memorizzare la stringa “100” in formato ASCII o il numero 100.000 in binario senza segno (motivare con i calcoli la risposta).
6. (punti 4) Data la seguente istruzione MAL: MDR = TOS = MDR OR H; wr; goto Main1 nella microarchitettura Mic-1, fornire la corrispondente configurazione dei bit del MIR, supponendo che la microistruzione Main1 abbia indirizzo 0x080 e sapendo che la configurazione di segnali di controllo dell’ALU associata alla funzione “OR” e`: F0: 0, F1: 1, ENA: 1, ENB: 1, INVA: 0, INC: 0
3 / 4 7. (punti 2) Dire quale e` il minimo numero di bit necessari per indirizzare (alla singola parola) una
memoria di 4096 parole ognuna composta da 4 byte.
8. (punti 3) Dire, motivando in modo opportuno la risposta, se il seguente circuito e`
un’implementazione dell’espressione booleana
F
=A B C D
+A B C D
+A B CD
+A B C D
+A BC D
+A BCD
+A B C D
+A B C D
+A B CD
+AB C D
+AB C D
+ABC D
4 / 4 9. (punti 4) Supponendo che la cella con offset 1 contenga 00000005 in esadecimale, la cella con offset 2 contenga 0, la cella con offset 3 contenga 00000012 in esadecimale e la cella con offset 4 contenga FFFFFFFE in esadecimale, simulare il comportamento del seguente frammento di programma scitto in IJVM indicando i cambiamenti sullo stack e in memoria. Specificare quanti byte occupa ciascuna istruzione:
ILOAD 1 DUP IADD ILOAD 3 ISUB IFLT L1 ILOAD 3 ILOAD 4 ISUB GOTO L2 L1 ILOAD 3
ILOAD 4 IADD L2 ISTORE 2
10. (punti 3) Dire quali di queste affermazioni risultano vere per la gestione degli interrupt:
a) Il program counter e' automaticamente salvato dallo HD sullo stack.
b) L'interrupt vector dice dove salvare il program counter.
c) Per tutti gli interrupt si inizia la gestione SW dell’interrupt a partire dalla stessa cella.
d) In nessun caso e' possibile gestire un interrupt quando la macchina ne sta gia' gestendo un altro.
e) Dopo la gestione dell'interrupt i registri sono ripristinati mediante istruzioni software.
11. (punti 2) Nella architettura MIC -2 quando e' incrementato il PC , e da chi?