Corso di Laurea in Informatica

Похожие документы
Corso di Laurea in Informatica

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica

Struttura di programmi MAL Elementi lessicali

06 Livello di micro architettura

Architettura degli elaboratori Tema d esame del 20/01/2016

Soluzione Esercizio 1

Calcolatori Elettronici da 6CFU (CdL Ingegneria Informatica) Esame del 20 luglio 2018 tempo a disposizione: 1 ora e 25 minuti

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Microarchitettura. Giacomo Fiumara Anno Accademico / 101

Struttura di un elaboratore

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Architettura dei computer

La codifica. dell informazione

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Esercizi di Microprogrammazione (Parte 1: MIC-1)

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Soluzione Esercizio 1

La codifica. dell informazione

Architettura del Calcolatore

Codifica. Rappresentazione di numeri in memoria

Somma di numeri binari

L'architettura del processore MIPS

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Транскрипт:

Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 10 luglio 2006 Si ricorda che non è possibile usare appunti, calcolatrici, e nessun altro materiale cartaceo o elettronico. Per ogni esercizio il massimo punteggio conseguibile è indicato nella prima riga. La somma di tutti i punteggi conseguibili è uguale a 33. Per gli esercizi a risposte multiple vero/falso, per ogni risposta lo studente può fare una croce su V, se ritiene che l affermazione sia corretta, su F se ritiene che l affermazione sia errata, oppure non rispondere. Se l esercizio vale N punti e ci sono K risposte possibili, ogni risposta corretta apporta un punteggio di N/K, ogni risposta errata comporta al più una diminuzione di punteggio pari a N/K, mentre ogni risposta saltata lascia il punteggio invariato. Esercizio 1 (punti 2) Considerare una codifica su 8 bit in complemento a due e rappresentare i seguenti numeri A = 33 e B = 98. Eseguire, inoltre, le operazioni che seguono in binario segnalando, qualora si verifichi, la presenza di overflow. (a) A + B (b) A - B (c) A and B (d) A or B Esercizio 2 (punti 2) Dati i valori 16 e 16 in base dieci, dare la corrispondente rappresentazione nei seguenti casi o indicare esplicitamente se non è possibile: 1. Rappresentazione in base due in complemento a uno su 5 bit; 2. Rappresentazione in base due in complemento a due su 5 bit; 3. Rappresentazione in base due in complemento a uno su 8 bit; 4. Rappresentazione in base due in complemento a due su 8 bit; 5. Rappresentazione in base due in valore assoluto e segno su 8 bit. Esercizio 3 (punti 2) Si vuole memorizzare su di una memoria flash di 128 MByte un certo numero di immagini della dimensione 1024 512 pixel in cui ogni pixel e rappresentato in RGB. Ognuno dei tre canali di colore è memorizzata su di un byte. 1

Esercizio 4 (punti 2) Si supponga di avere un elaboratore con 256 MByte di memoria principale. Si supponga inoltre che tale elaboratore memorizzi gli interi su 16 bit in complemento a due e che tali valori siano prelevati dalla memoria mediante un singolo ciclo di lettura. Indicare l ampiezza minima del registro di indirizzamento alla memoria (MAR) e del registro che memorizza i dati provenienti dalla memoria (MDR). Esercizio 5 (punti 2) Data la microistruzione MAL wideiload4 MAR = LV + H; rd; goto iload3 nella microarchitettura Mic-1, fornire la corrispondente configurazione dei bit del MIR, supponendo che iload3 si trovi all indirizzo 0x0F5, che i registri sul bus B sono codificati nel seguente modo: MDR (0), PC (1), MBR (2), MBRU (3), SP (4), LV (5), CPP (6), TOS (7), OPC (8) e che i segnali di controllo dell ALU sono dati dalla seguente tabella: F 0 F 1 ENA ENB INV A INC F unzione 0 1 1 0 0 0 A 0 1 0 1 0 0 B 0 1 1 0 1 0 A 1 0 1 1 0 0 B 1 1 1 1 0 0 A + B 1 1 1 1 0 1 A + B + 1 1 1 1 0 0 1 A + 1 1 1 0 1 0 1 B + 1 1 1 1 1 1 1 B A 1 1 0 1 1 0 B 1 1 1 1 0 1 1 A 0 0 1 1 0 0 A AND B 0 1 1 1 0 0 A OR B 0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 Esercizio 6 (punti 2) Le seguenti microistruzioni realizzano l istruzione IJVM GOTO offset che fornisce il branch non condizionato. Completare le parti mancanti. = PC - 1 PC = PC + 1; H = MBR << 8 H = MBRU OR = OPC + H; fetch goto Main1 Esercizio 7 (punti 3) Data un informazione memorizzata su n + r bits (n bits per i dati e r per il controllo: (a) con r = 1 e tecnica del bit di parità, solo 2 n configurazioni sono valide; (b) con il bit di parità si rilevano tutti gli errori di un bit; (c) con il bit di parità si rilevano tutti gli errori che sono in numero dispari; (d) se l errore è di un solo bit, con il bit di parità posso correggerlo; (e) in un codice con n = 12, in cui le sole 4 configurazioni che rappresentano codici validi sono 0x000, Ox03F, OxF C0, 0xF F F, se arriva la parola 0x00F e si sono verificati al più errori doppi, la parola inviata era 0x03F. 2

Esercizio 8 (punti 3) In un bus con arbitraggio centralizzato a un livelli, con 6 dispositivi numerati da 1 a 6 per distanza crescente dall arbitro (a) se tutti i dispositivi richiedono costantemente il bus, tutti lo avranno in un ordine casuale; (b) se tutti i dispositivi richiedono costantemente il bus, tutti lo avranno nell ordine da 1 a 6; (c) lo avrà sempre il dispositivo 1; (d) è l arbitro che, in base a proprie politiche, decide a chi va il bus; (e) l arbitraggio prevede che i dispositivi siano collegati a festone (daisy chaining) (f) necessita di un gestore delle interruzioni; (g) l arbitraggio centralizzato necessita di un arbitro; Esercizio 9 (punti 3) Cosa differenzia un bus sincrono da un bus asincrono: breve descrizione di ognuno e vantaggi/svantaggi dell uno e dell altro. Esercizio 10 (punti 3) In un architettura a pipeline a 5 stadi, assumendo che ogni stadio impieghi 2 unità di tempo e che la pipeline possa essere caricata con un istruzione ogni 2 unità di tempo, partendo dal tempo T = 0: (a) la prima istruzione termina l esecuzione al tempo 2; (b) la prima istruzione termina l esecuzione al tempo 10; (c) ogni 2 unità di tempo termina sempre 1 istruzione; (d) dal tempo 10 in poi, in ogni istante di tempo ci sono esattamente 5 istruzioni in esecuzione, se il programma è sequenziale; (e) rispetto ad una CPU senza pipeline con un ciclo di 10 unità di tempo, il numero di istruzioni completate nell unità di tempo è sino a 5 volte maggiore nella cpu con pipeline; Esercizio 11 (punti 3) Considerando una rappresentazione in virgola mobile mantissa (frazione) ed esponente n = f 10 exp, con 0 f < 1 usando la rappresenzatione modulo e segno in base 10 per f e exp, e assegnando 2 cifre più segno sia per f che per exp, fare un esempio di (a) numero rappresentabile; (b) underflow positivo; (c) overflow positivo; (d) underflow negativo; (e) overflow negativo; 3

Esercizio 12 (punti 3) Si consideri l architettura denominata Mic-2. (a) Il control store contiene un numero di microistruzioni superiore rispetto all architettura Mic-1 ma inferiore in termini di lunghezza della singola microistruzione. (b) Dispone di una unità per l esecuzione in parallelo del caricamento delle istruzioni (prefetch). (c) L operando di sinistra dell ALU (bus A) è implicito, in quanto fornito sempre dal registro H. (d) L ALU effettua l incremento del registro PC per reperire l istruzione successiva. (e) In generale, i tempi di preparazione dei segnali di controllo ( w), di caricamento del contenuto di un registro sul bus B ( x), di funzionamento della ALU e dello shifter ( y), di propagazione dei risultati ai registri ( z) e la larghezza dell impulso di clock sono assunti più brevi rispetto a quelli dell architettura Mic-1. Esercizio 13 (punti 3) Scrivere una sequenza di istruzioni in MAL per il Mic-1 che realizzi l istruzione IJVM ILOAD 2 formata da un solo byte che carica sul top dello stack la variabile locale di offset 2. Ci si ispiri al codice che microinterpreta l istruzione ILOAD: H = LV MAR = MBRU + H; rd MAR = SP = SP + 1 PC = PC + 1; fetch; wr TOS = MDR; goto Main1 Punti totali: 33/30. 4

Scritto di Architetture degli Elaboratori del 10/7/2006 MODULO RISPOSTE Cognome: Nome: Matricola: Corso: A B 1. (Punti 2) (a) A = (b) B = (c) A + B = (d) A - B = (e) A and B = (f) A or B = 2. (Punti 2) (1) Base 2, compl. 1, 5 bit: (2) Base 2, compl. 2, 5 bit: (3) Base 2, compl. 1, 8 bit: (4) Base 2, compl. 2, 8 bit: (5) Base 2, modulo e segno, 8 bit: 3. (Punti 2) Numero immagini: 4. (Punti 2) Dimensione MDR: Dimensione MAR: 5. (Punti 2) NEXT ADDRESS (in binario, 9 bit): JMPC, JAMN, JAMZ: SLL8, SRA1: F 0, F 1, ENA, ENB, INVA, INC: H, OPC, TOS, CPP, LV, SP, PC, MDR, MAR: WRITE, READ, FETCH: Bus B: 5

6. (Punti 2) 7. (Punti 3) = PC - 1 PC = PC + 1; H = MBR << 8 H = MBRU OR = OPC + H; fetch goto Main1 8. (Punti 3) (f) V F (g) V F 9. (Punti 3) 10. (Punti 3) 11. (Punti 4, -1) (a) (b) (c) 6

(d) (e) 12. (Punti 3) 13. (Punti 3) 7

Scritto di Architetture degli Elaboratori del 10/7/2006 SOLUZIONI Cognome: Matricola: Nome: Corso: 1. (Punti 2) (a) A = 11011111 (b) B = 10011110 (c) A + B = overflow (d) A - B = 01000001 (e) A and B = 10011110 (f) A or B = 11011111 2. (Punti 2) (1) Base 2, compl. 1, 5 bit: NO NO (2) Base 2, compl. 2, 5 bit: 10000 NO (3) Base 2, compl. 1, 8 bit: 11101111 00010000 (4) Base 2, compl. 2, 8 bit: 11110000 00010000 (5) Base 2, modulo e segno, 8 bit: 10010000 00010000 3. (Punti 2) Numero immagini: 85 4. (Punti 2) Dimensione MDR: 16 bit Dimensione MAR: 27 bit 5. (Punti 2) 6. (Punti 2) NEXT ADDRESS (in binario, 9 bit): 011110101 JMPC, JAMN, JAMZ: 000 SLL8, SRA1: 00 F 0, F 1, ENA, ENB, INVA, INC: 111100 H, OPC, TOS, CPP, LV, SP, PC, MDR, MAR: 000000001 WRITE, READ, FETCH: 010 Bus B: 0101 OPC = PC - 1 PC = PC + 1; fetch H = MBR << 8 8

7. (Punti 3) H = MBRU OR H PC = OPC + H; fetch goto Main1 8. (Punti 3) (f) V F (g) V F 9. (Punti 3)... 10. (Punti 3) 11. (Punti 4, -1) (a) (b) (c) (d) (e) 12. (Punti 3) 13. (Punti 3) MAR = LV + 1 MAR = MAR + 1; rd MAR = SP = SP +1 TOS = MDR; wr; goto Main1 9