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

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

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

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

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

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

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

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 21 luglio 2005

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 24 luglio 2009

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 20 giugno 2005

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

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

Soluzione Esercizio 1

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

Architettura del Calcolatore

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica

Corso di Laurea in Informatica Architetture degli Elaboratori

Soluzione Esercizio 1

Architetture degli Elaboratori I II Compito di Esonero (A) - 16/1/1997

Architettura hardware

Corso di Laurea in Informatica

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

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

CALCOLATORI ELETTRONICI 9 gennaio 2013

Tavola di verita. Tavola di verita f = (A+not(B)) x (not(a)+c) x not(a) A+ not(a) Tavole di verita. Dal problema alla rete combinatoria.

ARCHITETTUREDIELABORAZIONE,a.a Esercizi d esame NUMERI BINARI

SECONDA PROVA INTERMEDIA DEL MODULO DI C A L C O L A T O R I E L E T T R O N I C I 5 Giugno 2012

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

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

ARCHITETTURE DI ELABORAZIONE. Correzione esercizi di esame

Architettura dei computer

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

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

Architettura del calcolatore (Seconda parte)

CALCOLATORI ELETTRONICI 30 agosto 2010

SECONDA 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 NUOVO ORDINAMENTO DIDATTICO 14 Gennaio 2011

Corso di Laurea in Informatica Architetture degli Elaboratori

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

SECONDA 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 NUOVO ORDINAMENTO DIDATTICO 14 Gennaio 2010

CALCOLATORI ELETTRONICI 25 giugno 2018

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

Architettura dei computer

Fondamenti di Informatica A. A / 1 9

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

Corso di Laurea in Informatica Architetture degli Elaboratori

SECONDA PROVA INTERMEDIA DEL MODULO DI

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

Architettura hardware

Linguaggio macchina e register file

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

Componenti di un processore

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. 13 giugno 2017 NOME: COGNOME: MATRICOLA:

CALCOLATORI ELETTRONICI 15 giugno 2015

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

CALCOLATORI ELETTRONICI 14 giugno 2010

SECONDA PROVA INTERMEDIA DEL MODULO DI

Il processore. Istituzionii di Informatica -- Rossano Gaeta

CALCOLATORI ELETTRONICI 27 marzo 2018

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

Istruzioni e linguaggio macchina

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI

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

Cognome:, Nome: Matricola:

SECONDA PROVA INTERMEDIA DEL MODULO INTEGRATO DI NOME: COGNOME: MATRICOLA:

Scopo: fornire a liv 2 e livelli superiori memoria piu' strutturata sicura e grande... di quella fisica

* Y+2 se X e' minore o uguale a Y * X-Y-1 se X e' maggiore di Y. Esercizio 4 (6 punti) Quale delle seguenti equivalenze è corretta?

CALCOLATORI ELETTRONICI 29 giugno 2015

SECONDA PROVA INTERMEDIA DEL MODULO DI. 20 maggio 2016 NOME: COGNOME: MATRICOLA:

Corso di Laurea in Informatica

Esercizio 1. Sintesi ottima SP e NAND

Corso di Laurea in Informatica

Corso di Introduzione alla Programmazione. Compito 9 novembre 2012

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. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 17 Febbraio 2006

PROVA SCRITTA DEL MODULO DI. 16 gennaio 2017

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

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

Cognome:, Nome: Matricola:

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI NOME: COGNOME: MATRICOLA: CFU:

CALCOLATORI ELETTRONICI 9 settembre 2011

Hazard sul controllo. Sommario

Il processore - CPU (CENTRAL PROCESSING UNIT)

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina

Come realizzate un AND a tre ingressi utilizzando solo porte NAND? Disegnate lo schema circuitale.

ALU e Control Unit. ALU e Control Unit

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Transcript:

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 6 luglio 2007 aa 2006/2007 COGNOME: NOME: 1 (punti 2) Considerare la seguente configurazione su 16 bit: c =0000 0000 0111 1111 (a) Calcolare la configurazione a 16 bit che corrisponde al cambiamento di segno di c in eccesso 2 15 (b) Calcolare la configurazione a 16 bit che corrisponde al cambiamento di segno di c in complemento a 2 (c) Calcolare la configurazione a 16 bit che corrisponde al cambiamento di segno di c in complemento a 1 (d) Calcolare la seguente addizione in complemento a 2 su 16 bit: 0000 0000 0111 1111 + 0111 1111 1111 1111 2 (punti 2) Considerare il codice con cifra di espansione per rappresentare i numeri naturali da 1 a 14 mediante i seguenti formati, aventi rispettivamente lunghezza di 2, 4 e 5 bit: 0x 10xx 11xxx (a) Quanti numeri vengono rappresentati con il formato a 2 bit? (b) Quanti numeri vengono rappresentati con il formato a 4 bit? (c) Quanti numeri vengono rappresentati con il formato a 5 bit? (d) In totale, quanti bit sono necessari per rappresentare tutti e 14 i numeri? 3 (punti 2) Considerare un codice di 7 bit per la rilevazione degli errori, usato per codificare 8 elementi, che segue il seguente formato: p 3 p 2 p 1 p 0 d 2 d 1 d 0 I 3 bit d 2 d 1 d 0 rappresentano il dato, mentre p 3 p 2 p 1 p 0 sono 4 bit di parità determinati nel modo seguente: p 0 è determinato da d 0 ; p 1 è determinato da d 1 ; p 2 è determinato da d 2 ; p 3 è determinato da d 0, d 1 e d 2 (a) Qual è la ridondanza del codice? (b) Se il dato è rappresentato da 100, qual è la configurazione corretta completata con i bit di parità? (c) Assumendo che sia stato commesso un solo errore, correggere la seguente configurazione: 1000000 (d) Qual è la distanza di Hamming minima tra due configurazioni valide distinte? 4 (punti 3) Considerare il codice in virgola mobile che usa il seguente formato su 16 bit: S E M dove S è il bit di segno, E rappresenta i 6 bit dell esponente ed M i 9 bit della mantissa L esponente viene codificato in eccesso 32, tutte le configurazioni sono valide, a parte 000000 che è riservata per la codifica del numero zero La mantissa m è normalizzata in modo che 1 m < 2; quindi il bit più significativo di M corrisponde alla potenza 2 1 (a) Qual è la codifica binaria del minimo numero positivo (quindi diverso da zero) rappresentabile in modo esatto? (b) Qual è la codifica binaria del massimo numero positivo rappresentabile in modo esatto? 1

(c) Qual è la codifica binaria del minimo numero naturale positivo (quindi diverso da zero) rappresentabile in modo esatto? (d) Qual è la codifica binaria del massimo numero naturale rappresentabile in modo esatto? 5 (punti 4) Considerare un circuito combinatorio che, preso in ingresso un numero intero i codificato in complemento a 2 su 4 bit i 3 i 2 i 1 i 0, restituisce la codifica u 3 u 2 u 1 u 0 di i in complemento a 2, sempre su 4 bit (a) Compilare la tavola di verità della funzione realizzata dal circuito (b) Compilare la mappe di Karnaugh corrispondente all uscita u 1 (c) Qual è la formula in forma normale disgiuntiva minimale corrispondenti all uscita u 1? (d) Supponendo di avere a disposizione, oltre al not, le porte logiche elementari and, or, nand, nor, xor e xnor, tutte a 2 ingressi, qual è il numero minimo di porte logiche elementari necessarie per la realizzazione dell uscita u 1? 6 (punti 4) Considerare la seguente funzione ricorsiva scritta in C: int fun(int n,int m) { int res=0; int j; for (j=0;j<n;j++){ res += m+fun(j,m); m++; } return res; } Tradurre fun in assembler VM-2 rispettando le seguenti convenzioni: il passaggio dei parametri avviene tramite lo stack e il risultato viene depositato nel registro ACC Il programma non deve contenere più di 25 istruzioni 7 (punti 3) Considerare un di tipo sincrono per il collegamento tra CPU e RAM al quale possono essere connessi altri dispositivi master La CPU ha una frequenza di clock di 2 GHz (un ciclo di clock in 05 ns) Il protocollo del prevede un ciclo di clock per l arbitraggio daisy chain, seguito da tre o più cicli di clock per il completamento di un operazione di lettura o scrittura Il protocollo prevede la possibilità per lo slave di chiedere proroghe di uno o più cicli completi, purché la richiesta arrivi al master in tempo (ovvero la richiesta del quarto ciclo deve arrivare prima che si concluda il terzo) Il tempo massimo di propagazione dei segnali tra le due estremità del è di 05 ns Supporre che, oltre alla CPU, sia connesso un altro dispositivo master M di priorità più bassa e che il ritardo di ogni stadio della daisy chain sia non superiore a 05 ns (a) Se il ritardo della RAM è non superiore a 7 ns, qual è la frequenza massima del clock del affinché possano essere portate a termine operazioni di lettura senza proroghe? (b) Se il ritardo della RAM è non superiore a 75 ns, qual è la frequenza massima del clock del affinché possano essere portate a termine operazioni di scrittura senza proroghe? (c) Se la CPU porta a termine un operazione di lettura in 20 cicli di clock di CPU a partire dalla sua richiesta, supponendo che la RAM sia inizialmente idle, qual è la frequenza minima del clock del? (d) Qual è il numero massimo di dispositivi master tollerato dal protocollo se la frequenza del clock del è 1 GHz? 8 (punti 4) Supporre di modificare la macchina VM-1 sostituendo l istruzione JPOS yyy con la nuova BOH? yyy e riutilizzando lo stesso codice operativo 0000 per specificare una serie di azioni diverse Le nuove microistruzioni che realizzano BOH? sono memorizzate nelle celle di indirizzi 32 e 33 (che quindi sostituiscono quelle usate per la realizzazione di JPOS) e nelle celle libere 83, 84 e 85, 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 32 xxx 1 1 1 0 xx 11 xx xx 0 xx 0 xx 000 xxxxxxx 33 xxx 0 1 0 1 xx xx xx xx 0 xx 0 xx 001 1010011 83 000 0 x 0 0 10 xx xx xx 0 10 1 xx 000 xxxxxxx 84 110 0 0 0 1 10 xx 10 xx 0 11 1 xx 000 xxxxxxx 85 110 0 0 0 1 10 xx 11 xx 0 01 1 xx 001 0000001 CA CA en CD CD en D m cond Addr 2

Se dopo aver completato il fetch e la decodifica dell istruzione BOH? i seguenti registri e celle contengono le configurazioni iniziali indicate in base 2 (l indirizzo della cella è in base 16): IR = 0000 0000 0000 1100 ACC = 0001 0000 0000 0000 M[00C] = 0001 0000 0111 1110 quali sono le configurazioni (in base 2) contenute nei seguenti registri e celle alla fine dell esecuzione della microistruzione all indirizzo 85? (a) ACC (b) B (c) C (d) MBR 9 (punti 2) Considerare un sistema di traduzione da indirizzamento virtuale a indirizzamento fisico realizzato mediante la tecnica di segmentazione e paginazione, per una RAM da 2 GB con parole da 32 b 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 2 MB e ciascuna pagina è costituita da 16 KB Considerare le seguenti tabelle dei segmenti e delle pagine (dove tutti i dati sono espressi in base 16): n segm accessi pagine tab pag 0 - - X A tp0 1 R W - 58 tp1 2 R W - 15 tp2 3 R - - 30 tp3 tp2 n pag log n pag fis 0 101 1 79 13 BB5A 14 5B5 tp0 n pag log n pag fis 0 37F 1 FF1A 8 D73 9 1270 tp3 n pag log n pag fis 0 2323 1 1D09 2E 2F 3C C37 (a) Negli indirizzi virtuali quanti bit sono riservati per il numero di segmento? (b) Negli indirizzi virtuali quanti bit sono riservati per il numero di pagina? (c) Negli indirizzi virtuali quanti bit sono riservati per l offset? (d) Negli indirizzi fisici quanti bit sono riservati per il numero di pagina? (e) Quanti bit contiene un indirizzo fisico? tp1 n pag log n pag fis 0 0B 1 DE11 56 0F 57 FD1 (f) Assumendo che il formato per gli indirizzi virtuali preveda che, a partire dai bit più significativi, venga codificato prima il numero di segmento, poi il numero di pagina e, infine, l offset, tradurre il seguente indirizzo virtuale in indirizzo fisico esprimendo il risultato in base 16: D7D00 10 (punti 2) Considerare una memoria cache di 8 MB associativa di livello 4, organizzata in linee da 256 b e collegata a una RAM da 1 GB con parole da 32 b (a) Quante linee contiene la cache? (b) Da quanti bit è formato il campo tag della cache? (c) Calcolare (esprimendolo in base 2) il tag associato all indirizzo 00E0000 11 (punti 4) Considerare una realizzazione pipeline della macchina VM-R organizzata su 3 stadi (fetch, decode, exec) e con salti (sia condizionali che non) ritardati di un delay slot Per le istruzioni di salto non condizionale considerare come conclusione dell esecuzione la fase decode (visto che è in questa fase che viene modificato il program counter), mentre per le istruzioni di salto condizionale viene adottata una tecnica di predizione statica, dove F e T indicano che la condizione di salto sarà rispettivamente falsa o vera Nel caso in cui la predizione sia esatta l istruzione di salto condizionale viene eseguita senza perdita di cicli di clock, mentre in caso contrario gli stadi decode e exec vengono mandati in stallo di un ciclo di clock Considerare come conclusione dell esecuzione di un istruzione di salto condizionale la fase exec, indipendentemente dal fatto che la predizione sia esatta o no 3

Per semplicità di calcolo dei tempi di esecuzione ipotizzare che ogni accesso alla memoria sia pari a un ciclo di clock della CPU e che l esecuzione di ogni stadio duri sempre un ciclo di clock Partendo dalla situazione di pipeline vuota, simulare l esecuzione del seguente programma a partire dalla prima istruzione, indicando per ogni istruzione il numero di cicli di clock che devono trascorrere dall inizio del fetch della prima istruzione prima di poterne vedere il completamento per la prima volta LDIB R01, 1 LDIB R02, 2 SCMP R01, R02 CJMD LT, 4, T ADD3 R03, R01, R02 CJMD GE, 4, F ADD3 R01, R01, R01 JUMD -7 SHFT R01, R01, 1 12 (punti 4) Considerare il seguente programma in assembler VM-R: LDIB R01, 1 LDIB R02, 32767 LDIW R08 32784 LOAD R12, R08, R00 SCMP R12, R02 CJMP GE, 12 MOV2 R09, R08 LOAD R10, R09, R00 LOAD R11, R09, R01 SCMP R10, R11 CJMP GE, 2 STOR R10, R09, R01 STOR R11, R09, R00 LOAD R10, R09, R00 SCMP R10, R02 CJMP GE, -13 ADD3 R09, R09, R01 JUMP -11 HALT 32784: 1 2 3 4 5 32767 Supponendo che il programma venga eseguito a partire dalla prima istruzione, quale valore in base 10 è contenuto alla fine dell esecuzione nelle seguenti celle di memoria: (a) M[32784] (b) M[32785] (c) M[32786] (d) M[32787] (e) M[32788] (f) M[32789] 4

Corso di Architettura dei Calcolatori (I anno) Risposte prova scritta finale 6 luglio 2007 COGNOME: NOME: 1 (punti 2) (a) (b) (c) (d) 2 (punti 2) (a) (b) (c) (d) 3 (punti 2) (a) (b) (c) (d) 4 (punti 3) (a) (b) (c) (d) 5 (punti 4) (a) Tavola di verità (parte 1) i 3 i 2 i 1 i 0 u 3 u 2 u 1 u 0 0000 0001 0010 0011 0100 0101 0110 0111 (b) Mappa per u 1 i 3 i 2 \i 1 i 0 00 01 11 10 00 01 11 10 Tavola di verità (parte 2) i 3 i 2 i 1 i 0 u 3 u 2 u 1 u 0 1000 1001 1010 1011 1100 1101 1110 1111 (c) (d) 5

6 (punti 4) 7 (punti 3) (a) (b) (c) (d) 8 (punti 4) (a) (b) (c) (d) 9 (punti 2) (a) (b) (c) (d) (e) (f) 10 (punti 2) (a) (b) (c) 6

11 (punti 4) 12 (punti 4) istruzione LDIB R01, 1 LDIB R02, 2 SCMP R01, R02 CJMD LT, 4, T ADD3 R03, R01, R02 CJMD GE, 4, F ADD3 R01, R01, R01 JUMD -7 SHFT R01, R01, 1 ciclo di clock (a) (b) (c) (d) (e) (f) 7