Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 24 luglio 2009

Documenti analoghi
Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 18 settembre 2009

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 14 gennaio 2010

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 5 giugno 2009, fila 1

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 19 gennaio 2006

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 7 febbraio 2008

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 7 gennaio 2008

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 19 settembre 2008

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 29 gennaio 2007

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 6 luglio 2007

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 3 giugno 2008

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 25 luglio 2008

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 20 giugno 2005

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 13 giugno 2006

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 11 settembre 2006

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 13 luglio 2006

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 21 luglio 2005

Corso di Architettura dei Calcolatori (I anno) Soluzioni prova scritta finale 7 gennaio 2008

Corso di Architettura dei Calcolatori (I anno) Soluzioni prova scritta finale 29 gennaio 2007

CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI 25 giugno 2018

Architettura hardware

Architettura del Calcolatore

Corso di Laurea in Informatica

Architettura del calcolatore (Seconda parte)

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

Architettura dei computer

Calcolatore: sottosistemi

Valutazione delle prestazioni

Architettura degli Elaboratori

Corso di Laurea in Informatica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Architettura hardware

Corso di Laurea in Informatica Architetture degli Elaboratori

PRIMA PROVA INTERMEDIA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I 27 Aprile 2012

CALCOLATORI ELETTRONICI 14 giugno 2010

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2)

SIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Componenti di un processore

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Valutazione delle prestazioni

Soluzione Esercizio 1

Architettura dei computer

Corso di Laurea in Informatica Architetture degli Elaboratori

Fondamenti di Informatica A. A / 1 9

Il Processore: l unità di controllo

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione:

CALCOLATORI ELETTRONICI 9 gennaio 2013

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o

Il modello di von Neumann

PRIMA PROVA INTERMEDIA DEL MODULO DI. 22 aprile 2016

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 giugno 2015 NOME: COGNOME: MATRICOLA:

Elementi di informatica

Corso di Laurea in Informatica

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

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

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

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

CALCOLATORI ELETTRONICI 27 marzo 2018

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. 27 Febbraio 2001

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 7 Febbraio 2002

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

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

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

Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche

Fondamenti di Informatica B

Corso di Laurea in Informatica Architetture degli Elaboratori

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 2004

Calcolatore = esecutore di algoritmi FONDAMENTI DI INFORMATICA 1. Una semplice architettura. Istruzioni e programma ARCHITETTURA DEI CALCOLATORI ALU

Corso di Laurea in Informatica Architetture degli Elaboratori

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

PROVA SCRITTA DEL CORSO DI. Corso di Laurea in Ingegneria Biomedica, Ingegneria Elettrica ed Elettronica 17 Luglio 2014

Architettura di Von Neumann

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

PROVA SCRITTA DEL MODULO DI. CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA 14 febbraio 2017

Corso di Laurea in Informatica Architetture degli Elaboratori

CALCOLATORI ELETTRONICI 9 settembre 2011

ESERCITAZIONE SULLA VALUTAZIONE DELLE PRESTAZIONI (5 giugno 2006) Esercizio 1 (Tratto dai lucidi sulla Valutazione delle prestazioni)

Esercizi vari Salvatore Orlando

Calcolatori Elettronici

Valutazione delle prestazioni dei. Calcolatori Elettronici. Calcolatori Elettronici

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello dell 11 Settembre Attenzione:

CALCOLATORI ELETTRONICI 15 luglio 2014

Valutazione delle prestazioni dei Calcolatori Elettronici

ALU e Control Unit. ALU e Control Unit

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Architettura di un elaboratore. Il modello di von Neumann

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

ESERCIZIO 1 (12 punti) 1. (2 punti) Scrivere la sequenza di istruzioni MIPS che implementino lo pseudocodice:

Transcript:

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 24 luglio 2009 a.a. 2008/2009 COGNOME:... NOME:... 1. (punti 3) Supponiamo di voler rappresentare le vocali dell alfabeto italiano usando una codifica binaria di Huffman determinata da questa distribuzione: O 0.5 U 0.15 A 0.15 E 0.1 I 0.1 (a) Con quanti bit viene codificata la vocale A? (b) Con quanti bit viene codificata la vocale E? (c) Con quanti bit viene codificata la vocale I? (d) Con quanti bit viene codificata la vocale O? (e) Con quanti bit viene codificata la vocale U? (f) Data una successione s di vocali, il rapporto di compressione per s è dato da N/H, dove N è il numero di bit necessario per codificare s usando un codice minimale a lunghezza fissa ed H è il numero di bit utilizzati per s dalla codifica di Huffman in questione. Per particolari sequenze di vocali il rapporto di compressione risulta essere il migliore (ossia il più alto); quanto vale tale rapporto? 2. (punti 2) Consideriamo il seguente codice di Hamming dove ogni configurazione è della forma d 3 d 2 p 3 d 1 p 2 p 1, il bit di parità di posizione p 1 controlla i bit di dato di posizione d 1 e d 2, il bit di parità di posizione p 2 controlla i bit di dato di posizione d 1 e d 3 e il bit di parità di posizione p 3 controlla i bit di dato di posizione d 2 e d 3. (a) Se viene letta la configurazione 001011, qual è il minimo numero di errori che sono stati commessi durante la lettura? (b) Qual è la ridondanza del codice? (c) Qual è la distanza minima di Hamming tra due configurazioni valide distinte? (d) Il codice permette la correzione di al più k errori. Qual è il valore massimo di k per cui la frase precedente è corretta? 3. (punti 4) Considerare la seguente tavola di verità: i 3 i 2 i 1 i 0 u 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 i 3 i 2 i 1 i 0 u 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 (a) Compilare la mappa di Karnaugh corrispondente alla tavola di verità. (b) Calcolare la formula corrispondente alla tavola, in forma normale disgiuntiva minimale. (c) Calcolare la formula corrispondente alla tavola, in forma normale congiuntiva minimale. 1

4. (punti 4) Considerare il seguente circuito sequenziale costituito da due registri di tipo D, un comparatore C, quattro or, otto and e un not. I3 I2 I1 I0 CK D1 B3 B2 B1 B0 A3 A2 A1 A0 C U3 U2 D2 U1 U0 L uscita del comparatore C assume il valore 1 se il numero naturale codificato da A3 A2 A1 A0 è maggiore di quello codificato da B3 B2 B1 B0, 0 altrimenti. (a) I valori assunti dall ingresso CK al variare del tempo sono specificati dal seguente diagramma Τ0 Τ1 Τ2 Τ3 Τ4 Τ5 CK mentre i valori assunti dagli ingressi I3 I2 I1 I0 ai tempi T1 T2 T3 T4 sono indicati nella seguente tabella. tempo I3 I2 I1 I0 T1 0 0 1 1 T2 0 1 0 1 T3 0 1 0 0 T4 0 1 1 0 Sapendo che al tempo T0 la configurazione memorizzata in D1 è 0100, mentre quella memorizzata in D2 è 0000 e supponendo che il periodo di stabilizzazione dei segnali sia inferiore a 1 2 del periodo del clock, completare la tabella nel foglio delle risposte con i bit memorizzati nel registro D2 ai tempi T1 T2 T3 T4 T5. (b) Sapendo che il ritardo del not è non superiore a 0.5 ns, quello degli and e degli or è non superiore a 1 ns, quello del comparatore C è non superiore a 3.5 ns, e che quello dei registri D1 e D2 è non superiore a 4 ns, calcolare la frequenza massima del clock che assicuri il funzionamento corretto del circuito. 5. (punti 4) Considerare la seguente funzione ricorsiva scritta in C: int fun(int x,int y){ if(x>0 && y>0) return x+y-1+fun(x-1,y-1); return 0; } 2

Tradurre fun in assembly VM-2 rispettando le seguenti convenzioni: gli argomenti vengono passati tramite stack e il risultato della funzione viene depositato nel registro ACC. Il programma non deve contenere più di 25 istruzioni. 6. (punti 3) Considerare un di tipo sincrono per il collegamento tra CPU e RAM che permette il trasferimento simulataneo di dati da 64 bit e al quale possono essere connessi altri dispositivi master. La frequenza del clock del è di 250 MHz. Il protocollo del prevede un ciclo di clock per l arbitraggio daisy chain, seguito da un ciclo di clock per il completamento di un operazione di lettura o scrittura, senza possibilità di proroghe. Il tempo massimo di propagazione dei segnali tra le due estremità del è di 0.3 ns e il ritardo di ogni stadio della daisy chain è non superiore a 0.7 ns. (a) Qual è la latenza massima della RAM che permette un corretto interfacciamento con il? (b) Qual è il throughput massimo teorico del espresso in B/s, se il clock della CPU ha una frequenza di 1 GHz? (c) Qual è il throughput massimo teorico del espresso in B/s, se il clock della CPU ha una frequenza di 2 GHz? (d) Qual è il numero massimo di master (inclusa la CPU) tollerato dal protocollo? 7. (punti 4) Supporre di modificare la macchina VM-1 sostituendo l istruzione LDIX con la nuova NEW riutilizzando lo stesso codice operativo 1101 per specificare una serie di azioni diverse. Le nuove microistruzioni che realizzano NEW sono memorizzate nelle celle di indirizzi 58 e 59 (che quindi sostituiscono quelle usate per la realizzazione di LDIX) e nelle celle libere 83 e 84 come mostrato di seguito (il campo Int è stato omesso in quanto inutilizzato): indir. in CS A L U C S R n W M A R M B R D mpx A B 58 110 0 x 0 0 00 11 01 11 1 xx 0 xx 000 xxxxxxx 59 xxx 1 1 1 0 xx 11 xx xx 0 xx 0 xx 001 1010011...... 83 xxx 0 1 0 1 xx xx xx xx 0 xx 0 xx 000 xxxxxxx 84 000 0 x 0 0 10 xx xx xx 0 01 1 xx 001 0000001 CA CA en CD CD en D m cond Se dopo aver completato il fetch e la decodifica dell istruzione NEW i seguenti registri e celle di memoria contengono le seguenti configurazioni indicate in base 2: ADR = 0000 0000 0100 M[1111 0000 0100] = 1111 0000 0000 0000 ACC = 0000 1111 0000 0000 M[0000 0000 0001] = 0000 0000 0000 0000 quali sono le configurazioni (in base 2) contenute nei seguenti registri e celle di memoria immediatamente prima dell esecuzione della fase di fetch dell istruzione che segue NEW? (a) ADR (b) ACC (c) IR (d) M[1111 0000 0100] 8. (punti 2) Considerare un sistema di traduzione da indirizzamento virtuale a indirizzamento fisico realizzato mediante la tecnica di segmentazione e paginazione. Gli indirizzi virtuali sono composti da tre parti: quella più significativa individua il segmento, quella intermedia la pagina logica e quella meno significativa l offset all interno della pagina. Ogni indirizzo logico può far riferimento a un massimo di 512 segmenti con il metodo della segmentazione esplicita. Ciascun segmento può avere la dimensione massima di 64 MB, mentre ogni pagina contiene 4096 celle e ha una dimensione di 16 KB. (a) Negli indirizzi virtuali, quanti bit sono dedicati alla codifica del segmento? (b) Negli indirizzi virtuali, quanti bit sono dedicati alla codifica del numero di pagina logica? (c) Negli indirizzi virtuali, quanti bit sono dedicati all offset? (d) Se la RAM contiene 2 32 celle, qual è il numero totale di pagine fisiche? (e) Quali dei seguenti indirizzi virtuali (in base 16) fanno sicuramente riferimento a una stessa pagina fisica? 0F5A78333, 0A0A78E00, 1B7A780B0, 0F5A7833C, 179A78099. (f) Supporre che l MMU sia dotato di una memoria associativa in grado di memorizzare fino a un massimo di 4 associazioni. Se la memoria associativa è inizialmente vuota e un programma accede (in ordine temporale) ai seguenti indirizzi virtuali (in base 16), quali di essi verranno tradotti senza far uso delle tabelle dei segmenti e delle pagine memorizzate nella RAM? 0F5A78333, 0A0A78E00, 1B7A780B0, 0F5A7833C, 179A78099. Addr 3

9. (punti 4) Considerare una realizzazione di tipo superscalare di livello 2 per la macchina convenzionale VM-R, a partire da una pipeline a 3 stadi e senza permutazione dinamica delle istruzioni. Il processore permette il fetch simultaneo delle due istruzioni di indirizzo (2k) e (2k + 1) nel primo stadio di pipeline. Il secondo stadio effettua la decodifica simultanea delle due istruzioni, controlla che la condizione di Bernstein sia verificata per i registri e le celle di memoria, ma non per il valore di condizione vcond, e determina la disponibilità delle unità di esecuzione. Il terzo stadio manda in stallo per un ciclo di clock i primi due stadi di pipeline se le istruzioni decodificate non sono eseguibili simultaneamente, e in tal caso le esegue nella corretta sequenza. Lo stadio di esecuzione è composto da 1 ALU e 1 addizionatore che permettono di calcolare operazioni in parallelo in un singolo ciclo di clock. Mentre la ALU è in grado di svolgere tutte le operazioni aritmetico-logiche richieste dall insieme di istruzioni VM-R, l addizionatore permette solamente il calcolo dell addizione in complemento a 2. Infine, le istruzioni di puro spostamento di valore da un registro all altro richiedono solo l uso di e non necessitano della disponibilità dell ALU o dell addizionatore (anche se richiedono anch esse un ciclo di clock in fase di esecuzione). Dato il seguente frammento di programma VM-R, stabilire dopo quanti cicli di clock viene completata l esecuzione di ciascuna istruzione (a partire dal fetch delle prime quattro, con pipeline vuota). LOR3 R03, R02, R01 ADD3 R08, R01, R08 AND3 R09, R01, R09 NAND R10, R02, R10 ADD3 R10, R08, R01 LOAD R09, R08, R01 MOVR R11, R08, R01 SUB3 R02, R00, R02 ADD3 R01, R01, R09 ADD1 R01, 1 ADD3 R02, R03, R03 ADD1 R03, 1 10. (punti 2) Considerare una memoria cache a 8 livelli di associatività, con 2048 linee, ognuna contenente 8 celle, e collegata a una RAM da 2 28 celle. (a) Quanti bit dell indirizzo fisico determinano l offset all interno di una linea? (b) Quanti bit dell indirizzo fisico determinano le 8 linee della cache dove ricercare il dato? (c) Quanti bit dell indirizzo fisico determinano il campo tag? 11. (punti 4) Considerare il seguente programma in assembly VM-R: entry: LDIW R03 fun: LDIB R01,1 b: RETN fun LDIB R02,6 9 LDIW R08 LDIB R09,1 8 b SCMP R09,R02 7 CALL R03 CJMP GT,14 6 HALT MOV2 R11,R09 5 SCMP R11,R01 4 CJMP LE,9 SHFT R10,R11,-1 LOAD R12,R08,R10 LOAD R13,R08,R11 SCMP R12,R13 CJMP LE,6 STOR R12,R08,R11 STOR R13,R08,R10 MOV2 R11,R10 JUMP -11 ADD1 R09,1 JUMP -16 Supponendo che il programma venga eseguito a partire dall indirizzo entry, quale valore in base 10 è contenuto nelle seguenti celle di memoria subito dopo l esecuzione dell istruzione RETN? (a) M[b+1] (b) M[b+2] (c) M[b+3] (d) M[b+4] (e) M[b+5] (f) M[b+6] 4

Corso di Architettura dei Calcolatori (I anno) Risposte prova scritta finale 24 luglio 2009 COGNOME:... NOME:... 1. (punti 3) (e)... (f)... 2. (punti 2) 3. (punti 4) (a) Mappa di Karnaugh i 3 i 2 \i 1 i 0 00 01 11 10 00 01 11 10 4. (punti 4) Indichiamo con B3 B2 B1 B0 la configurazione memorizzata nel registro D2. (a) tempo B3 B2 B1 B0 T1 T2 T3 T4 T5 5

5. (punti 4) 6. (punti 3) 7. (punti 4) 8. (punti 2) (e)... (f)... 6

9. (punti 4) 10. (punti 2) istruzione LOR3 R03, R02, R01 ADD3 R08, R01, R08 AND3 R09, R01, R09 NAND R10, R02, R10 ADD3 R10, R08, R01 LOAD R09, R08, R01 MOVR R11, R08, R01 SUB3 R02, R00, R02 ADD3 R01, R01, R09 ADD1 R01, 1 ADD3 R02, R03, R03 ADD1 R03, 1 ciclo di clock 11. (punti 4) (e)... (f)... 7