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

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

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

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

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

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

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

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 13 giugno 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) Prova scritta finale 19 settembre 2008

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

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

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

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

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

Corso di Laurea in Informatica

Corso di Laurea in Informatica

Architettura del Calcolatore

Soluzione Esercizio 1

Corso di Laurea in Informatica Architetture degli Elaboratori

ALU e Control Unit. ALU e Control Unit

Corso di Laurea in Informatica Architetture degli Elaboratori

Calcolatore: sottosistemi

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

Corso di Laurea in Informatica Architetture degli Elaboratori

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

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

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

Fondamenti di Informatica A. A / 1 9

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori

Il processore. Istituzionii di Informatica -- Rossano Gaeta

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

Corso di Laurea in Informatica

Componenti di un processore

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

Architettura hardware

Corso di Laurea in Informatica

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

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Soluzione Esercizio 1

Architettura dei computer

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

Corso di Laurea in Informatica Architetture degli Elaboratori

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

Architettura di un elaboratore. Il modello di von Neumann

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

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

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

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

Architettura del Calcolatore

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 giugno Attenzione:

Sintesi Calcolatori Elettronici

Architettura dei computer

Il Processore: l unità di controllo

SECONDA PROVA INTERMEDIA DEL CORSO DI. NUOVO ORDINAMENTO DIDATTICO 9 Giugno 2006

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

Architettura degli elaboratori CPU a ciclo singolo

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

Architettura del calcolatore (Seconda parte)

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

1) Un calcolatore con processore R3000 avente frequenza di clock pari a 2GHz esegue il seguente programma:

Architettura di una CPU

Esercitazione 06 Progettazione di una CPU RISC-V

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

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

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

Architettura dell elaboratore

Architettura dell elaboratore

Esercizi vari Salvatore Orlando

Architettura hardware

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

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

L unità di controllo di CPU a singolo ciclo

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

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Architettura di Von Neumann

Elementi di informatica

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

Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un Sistema Informatico

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

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

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

Il Processore. Informatica di Base -- R.Gaeta 27

Fondamenti di Informatica B

Architettura dei calcolatori

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

Macchine Astratte. Luca Abeni. February 22, 2017

La pipeline. Sommario

Transcript:

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 19 gennaio 2006 aa 2004/2005 1 (punti 4) Considerare il seguente circuito sequenziale: D CK U0 1 T Q D Q U1 Completare la seguente tabella supponendo che non ci siano ritardi di propagazione dei segnali Assumere che inizialmente U0 e U1 assumano il valore 0 Cicli clock D U0 U1 1 0 2 1 3 1 4 0 5 1 6 1 7 0 8 0 2 (punti 3) Considerare un codice di lunghezza fissa 8 in cui ogni configurazione è valida (a) Qual è il numero massimo di errori che si possono avere trasmettendo una configurazione di tale codice? (b) Quante sono le configurazioni di tale codice che hanno distanza di Hamming 1 dalla configurazione 10101010? (c) Qual è la distanza di Hamming tra le due seguenti configurazioni? 00101101 10100100 (d) Qual è il numero minimo di bit di parità che bisogna aggiungere per poter rilevare un errore (e) Qual è il numero minimo di bit di parità che bisogna aggiungere per poter correggere un errore 1

3 (punti 2) Considerare la rappresentazione dei numeri interi in complemento a 2 su 8 bit Siano n ed m rispettivamente le decodifiche di 00111111 e 11000010 (a) Qual è il numero intero massimo rappresentabile (espresso in base 10)? (b) Qual è il numero intero minimo rappresentabile (espresso in base 10)? (c) Come viene rappresentato n + m in complemento a 2 su 8 bit? (d) Come viene rappresentato n m in complemento a 2 su 8 bit? (e) Come viene rappresentato m in complemento a 2 su 9 bit? 4 (punti 2) Considerare il codice a espansione con configurazione di espansione che usa i seguenti 2 formati: formato a 3 bit formato a 5 bit (individuato dalla configurazione 111) (a) Quante sono le configurazioni di 3 bit valide? (b) Quante sono le configurazioni di 5 bit valide? (c) Qual è il numero massimo di elementi rappresentabili con tale codice? (d) Quante sono le configurazioni presenti nella seguente sequenza di bit? 1110111011111110000 5 (punti 2) Considerare il codice in virgola mobile che usa il seguente formato su 8 bit: S E M dove S è il bit di segno, E sono i 4 bit dell esponente rappresentato in complemento a 2 ed M sono i 3 bit della mantissa m, con 1 2 m < 1 (quindi la cifra più a sinistra in M corrisponde alla potenza 2 2 ) Siano n ed m rispettivamente le decodifiche di 00100110 e 10100010 (a) Qual è la codifica nello stesso codice di n + m? (b) Qual è la codifica nello stesso codice di n m? (c) Qual è la codifica nello stesso codice di 4 (n + m)? (d) Quanto vale n? 6 (punti 4) Considerare la seguente funzione ricorsiva scritta in C: int funz(int n,int m){ if(n==m) return n; if(n>m) return funz(n-m,m); else return funz(n,m-n); } Tradurre funz in assembler VM-2 seguendo le seguenti convenzioni: il passaggio dei parametri avviene tramite lo stack usando le due celle subito sotto alla base dello stack (indirizzo FP+2 per n e FP+1 per m); il risultato viene depositato nel registro ACC Il programma non deve contenere più di 24 istruzioni 7 (punti 3) Considerare un bus di tipo sincrono per il collegamento tra CPU e RAM al quale possono essere connessi altri dispositivi master Il bus ha una frequenza di clock di 500 MHz (un ciclo di clock in 2 ns) mentre la CPU ha una frequenza di clock di 2 GHz Il protocollo del bus prevede un ciclo di clock per l arbitrazione daisy chain, seguito da uno 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 secondo ciclo deve arrivare prima che si concluda il primo) Il tempo massimo di propagazione dei segnali tra le due estremità del bus è di 05 ns, mentre il tempo di accesso del modulo RAM dinamico è non superiore a 2 ns Il ritardo di ogni stadio della daisy chain è non superiore a 05 ns Supporre che, oltre alla CPU, siano connessi due altri dispositivi master M 1 ed M 2, e che la CPU abbia la priorità più alta ed M 2 quella più bassa Sapendo che nello stesso istante la CPU ed M 2 richiedono un operazione di lettura ed M 1 una di scrittura, calcolare: 2

(a) Quanti cicli di clock della CPU intercorrono tra la richiesta e il completamento dell operazione di lettura della CPU (b) Quanti cicli di clock della CPU intercorrono tra la richiesta e il completamento dell operazione di scrittura di M 1 (c) Quanti cicli di clock della CPU intercorrono tra la richiesta e il completamento dell operazione di lettura di M 2 (d) Qual è il tempo totale necessario per soddisfare tutte e tre le richieste 8 (punti 2) Supporre di estendere la macchina VM-2 con un sistema di traduzione da indirizzamento virtuale a indirizzamento fisico realizzato mediante la tecnica di segmentazione e paginazione, mantenendo la struttura della RAM invariata Ogni indirizzo logico può far riferimento a un massimo di 8 segmenti con il metodo della segmentazione esplicita Ciascun segmento può essere costituito da un massimo di 128 pagine, e ciascuna pagina è costituita da 64B Considerare le seguenti tabelle dei segmenti e delle pagine (dove i dati sono espressi in base 16): n segm accessi pagine tab pag 0 - - X 10 tp0 1 R W - 37 tp1 6 R W - 21 tp6 7 R - - 48 tp7 tp1 n pag log n pag fis 0 0B 1 11 35 0F 36 0D tp0 n pag log n pag fis 0 7F 1 1A tp6 n pag log n pag fis 0 01 1 79 8 73 9 70 19 5A 20 5B tp7 n pag log n pag fis 0 23 1 09 46 3C 47 37 (a) Negli indirizzi virtuali quanti bit sono riservati per il numero di segmento, il numero di pagina e l offset? (b) Negli indirizzi fisici quanti bit sono riservati per il numero di pagina e l offset? (c) In quale indirizzo fisico (in base 16) si traduce l indirizzo virtuale 75FF? (d) In quale indirizzo fisico (in base 16) si traduce l indirizzo virtuale 6023? 9 (punti 2) Supporre di connettere alla RAM della VM-2 una memoria cache di 256B con livello di associatività 4, organizzata in linee da 32 bit (a) Quante linee contiene la cache? (b) Da quanti bit è formato il campo tag della cache? (c) Calcolare il campo tag (espresso in base 2) dell indirizzo 101010011010 (d) Dire quali tra i seguenti indirizzi possono corrispondere a una stessa linea della cache: ind1=110101000001 ind2=100100010100 ind3=001110011111 ind4=000100000000 ind5=111100010001 10 (punti 4) Supporre di modificare la macchina VM-1 sostituendo l istruzione JNEG yyy con la nuova BOH? yyy e riutilizzando lo stesso codice operativo 0001 per specificare una serie di azioni diverse Le nuove microistruzioni che realizzano BOH? sono memorizzate nelle celle del control store di indirizzi 34, 35, 83, 84, 85, 86 e sostituiscono quelle usate per la realizzazione di JNEG, oltre a occupare altre celle libere, come mostrato di seguito (il campo Int è stato omesso in quanto inutilizzato): 3

indir in CS A L U C S R n W M A R M B R D mpx A bus B bus CA bus CA en CD bus CD en D bus m cond 34 000 0 x 0 0 11 xx xx xx 0 10 1 xx 000 0000000 35 000 0 x 0 0 00 11 xx xx 0 xx 0 xx 001 1010011 83 xxx 0 x 0 0 xx xx xx xx 0 xx 0 xx 011 1010110 84 110 0 x 0 0 01 xx 10 xx 0 10 1 01 000 xxxxxxx 85 101 0 x 0 0 00 11 xx 11 1 xx 0 xx 001 1010011 86 000 0 x 0 0 01 xx xx xx 0 01 1 10 001 0000001 Se dopo aver completato il fetch e la decodifica dell istruzione BOH? i seguenti registri e celle di memoria assumono i valori iniziali indicati (in base 10): PC = 20 SP = 4093 FP = 4090 ADR = 2 ACC = 7 B = 3 C = 4 qual è il valore (in base 10) assunto dai seguenti registri al termine dell esecuzione del microcodice dell istruzione: (a) PC (b) SP (c) FP (d) ADR (e) ACC (f) B (g) C (h) IR 11 (punti 4) Considerare il seguente programma in assembler VM-R: 32768 LOAD R02, R03, R00 32769 CJMP EQ, 11 32770 ADD1 R03, 1 32771 LOAD R01, R03, R00 32772 CJMP EQ, 8 32773 ADD1 R03,1 32774 SCMP R02, R01 32775 CJMP GE, 3 32776 PUSH R01, R03, 2 32777 ADD1 R03, 2 32778 JUMP -8 32779 MOV2 R02, R01 32780 JUMP -10 32781 RETN 32782 LDIW FP 32783 65535 32784 MOVR SP,FP,FP 32785 LDIW R01 32786 32768 32787 LDIW R03 32788 32791 32789 CALL R01 32790 HALT 32791 2 32792 1 32793 4 32794 3 32795 0 Addr 4

Supponendo che il programma venga eseguito a partire dall istruzione di indirizzo 32782, quale valore in base 10 è contenuto alla fine dell esecuzione in: (a) R01 (b) R02 (c) R03 (d) R07 (e) M[32791] (f) M[32792] (g) M[32793] (h) M[32794] 12 (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 calcolando sia la condizione di Bernstein, sia 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 un sommatore e una ALU, quest ultima in grado di svolgere tutte le operazioni aritmetico-logiche richieste dall insieme di istruzioni VM-R, con la possibilità di operare in parallelo in un singolo ciclo di clock Infine, le istruzioni di puro spostamento di valore da un registro all altro richiedono solo l uso di bus e non necessitano della disponibilità del sommatore e dell ALU (anche se richiedono anch esse un ciclo di clock in fase di esecuzione) Dato il seguente fragmento di programma VM-R eseguito a partire dall istruzione di indirizzo 32768, stabilire dopo quanti cicli di clock viene completata l esecuzione di ciascuna istruzione (a partire dal fetch delle prime due, con pipeline vuota) 32768 ADD3 R1, R8, R9 32769 AND3 R2, R8, R9 32770 SUB3 R0, R1, R2 32771 MOV2 R9, R0 32772 ADD1 R2, 4 32773 ADD3 R1, R2, R3 32774 ADD3 R9, R3, R9 32775 ADD3 R8, R3, R8 32776 LOR3 R8, R1, R2 32777 ROTA R3, R9, -2 32778 NAND R9, R1, R2 32779 MOVR R8, R3, R2 5

6

Corso di Architettura dei Calcolatori (I anno) Risposte prova scritta finale 19 gennaio 2006 COGNOME: NOME: 1 (punti 4) 2 (punti 3) (a) (b) (c) (d) (e) 3 (punti 2) (a) (b) (c) (d) (e) 4 (punti 2) (a) (b) (c) (d) Cicli clock D U1 U2 1 0 2 1 3 1 4 0 5 1 6 1 7 0 8 0 7

5 (punti 2) (a) (b) (c) (d) 6 (punti 4) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 7 (punti 3) (a) (b) (c) (d) 8

8 (punti 2) (a) segmento= pagina= offset= (b) pagina= offset= (c) (d) 9 (punti 2) (a) (b) (c) (d) 10 (punti 4) (a) (b) (c) (d) (e) (f) (g) (h) 11 (punti 4) (a) (b) (c) (d) (e) (f) (g) (h) 9

12 (punti 4) istruzione ciclo di clock 32768 ADD3 R1, R8, R9 32769 AND3 R2, R8, R9 32770 SUB3 R0, R1, R2 32771 MOV2 R9, R0 32772 ADD1 R2, 4 32773 ADD3 R1, R2, R3 32774 ADD3 R9, R3, R9 32775 ADD3 R8, R3, R8 32776 LOR3 R8, R1, R2 32777 ROTA R3, R9, -2 32778 NAND R9, R1, R2 32779 MOVR R8, R3, R2 10