Traccia
Transcript
Traccia
Architettura (29/9/2003) Pag. 1/6 Cognome e Nome (in stampatello): ________________________________________________________________ Matricola: _______________ Esame di Architettura (matr.0-1) del 29/9/2003 • • Per Fondamenti di Architettura NON rispondere alle domande • 16,17,18 (totale dei punti=54) e barrare con una crocetta la seguente casella: Per le domande 4 e 5 scrivere (oltre alla risposta) anche i calcoli • o quanto serve (indicando su quale foglio sono scritti). 1 2 3 4 5 6 7 2 2 2 2 2 2 2 Per le domande a risposta multipla cerchiare la risposta scelta. Non scrivere nelle caselle accanto alle domande. Le domande da 1 a 18 valgono punti: 2 (risposta corretta), 0 (risposta non data), -1 (risposta scorretta). Le domande da 19 a 22 valgono fino a 6 punti ciascuna. Riservato alla Commissione per la Correzione 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 TOTALE 2 2 2 2 2 2 2 2 2 2 2 6 6 6 6 60 1) Due calcolatori che siano compatibili: a) b) c) d) hanno la stessa architettura ma possono avere una diversa organizzazione hanno la stessa organizzazione ma possono avere una diversa architettura devono avere stessa organizzazione e stessa architettura nessuna delle precedenti 2) La base di una rappresentazione posizionale pesata: a) b) c) d) indica il minimo numero di valori rappresentabili da una cifra rappresenta la posizione di una cifra indica la massima dimensione della stringa nessuna delle precedenti 3) Nella rappresentazione in complemento a due, si verifica un overflow in una addizione: a) b) c) d) /2 /2 5 31 63 nessuna delle precedenti 7) Nella logica booleana, un insieme di operatori funzionalmente completi è a) b) c) d) /2 1 10000011 11111001010000000000000 1 10000011 11110010100000000000000 0 01111101 11111010000000000000000 1 10000011 10101110000000000000000 6) Nella rappresentazione polarizzata degli interi su 6 bit, la costante di polarizzazione vale, di solito: a) b) c) d) /2 294F0 295E0 A5780 nessuna delle precedenti 5) La rappresentazione di -15,578125 nello standard IEEE 754 per i numeri in virgola mobile in singola precisione è (INDICARE I CALCOLI SUL RETRO DEL FOGLIO): a) b) c) d) /2 Se addizionando due numeri con lo stesso segno, il risultato è negativo Se addizionando due numeri con lo stesso segno, il risultato ha segno opposto Se addizionando due numeri con lo stesso segno, il risultato è positivo nessuna delle precedenti 4) Se un numero è espresso in base 8 come 512740 allora il suo valore in esadecimale è (INDICARE I CALCOLI SUL RETRO DEL FOGLIO): a) b) c) d) /2 AND, OR e NOT AND e NOT OR e NOT tutti i precedenti /2 8) La istruzione ADDI ha formato: a) b) c) d) formato I formato R formato J Nessuna delle precedenti /2 Architettura (29/9/2003) Cognome e Nome (in stampatello): ________________________________________________________________ Pag. 2/6 Matricola: _______________ 9) La istruzione MIPS BEQ $8, $9, Loop può essere simulata da : a) SLT $1, $8, $9 BNE $1, $0, Loop b) BNE $8, $9, Cont J Loop Cont: … c) BNE $9, $8, Loop d) Nessuna delle precedenti 10) Se la istruzione 2848764812 (in binario 10101001110011001011001110001100) contiene una istruzione J che ha nel campo indirizzo di 26 bit 01001100101011011101101101 allora la prossima istruzione eseguita si troverà alla locazione: a) b) c) d) 00000001001100101011011101101101 00000100110010101101110110110100 10100100110010101101110110110100 nessuna delle precedenti 11) Durante la esecuzione della istruzione LW $8, 1000($9) il registro ALUOUT conterrà: a) b) c) d) PC+sign-extend(IR[15-0]<<2), A + sign-extend(IR[15-0]) PC+4, PC+sign-extend(IR[15-0]<<2), A + sign-extend(IR[15-0]) PC+4, PC+sign-extend(IR[15-0]), A + sign-extend(IR[15-0]<<2) Nessuna delle precedenti 12) Per il segnale di Zero nella ALU a 32 bit: a) b) c) d) /2 /2 /2 la ALU effettua una sottrazione e tutti i bit vengono portati in una porta AND il cui output è Zero la ALU effettua un confronto e tutti i bit vengono portati in una porta NOR (OR seguito da NOT) il cui output è Zero la ALU effettua una sottrazione tutti i bit vengono portati in una porta NOR (OR seguito da NOT) il cui output è Zero nessuna delle precedenti 13) Nel secondo passo della esecuzione di una istruzione ADD nella unità di elaborazione multi-ciclo, a) si legge nel registro A il valore del registro indicato dai bit 25-21 della istruzione (in IR) b) si legge nel registro B il valore del registro indicato dai bit 20-16 della istruzione (in IR) c) si calcola l’indirizzo di salto in ALUOUT pari al PC + la estensione in segno dei bit 15-0 di IR di cui viene fatto lo shift a sinistra di 2 posizioni d) tutte le precedenti 14) A cosa serve il segnale IorD: a) b) c) d) /2 /2 /2 specifica se l’indirizzo per la memoria proviene da PC oppure da ALUOUT seleziona quale tra ALUOUT e MDR va scritto in un registro permette di selezionare il valore da scrivere nel Program Counter nessuna delle precedenti 15) In una istruzione BEQ (unità di elaborazione multi-ciclo), il salto viene effettuato: a) b) c) d) con il segnale PCWriteCond messo a 1 e solo se anche la linea Zero della ALU è messa a 0 con il segnale PCWriteCond messo a 1 e solo se anche la linea Zero della ALU è messa a 1 con il segnale PCWriteCond messo a 0 e solo se anche la linea Zero della ALU è messa a 0 nessuna delle precedenti /2 16) Il campo Memory delle microistruzioni può assumere i seguenti valori: a) b) c) d) Read PC, Write PC, Write ALU Read PC, Read ALU, Write ALU Read PC, Write ALU Nessuna delle precedenti 17) Per eliminare dalle seguenti istruzioni la criticità sui dati (se presente): lw $8, 1000($9) sw $10, 2000($9) lw $11, 2000 ($12) a) basta scambiare la prima istruzione con la seconda b) basta scambiare la seconda istruzione con la terza c) basta introdurre una istruzione di salto dopo la seconda istruzione d) le istruzioni non presentano criticità sui dati /2 /2 Architettura (29/9/2003) Cognome e Nome (in stampatello): ________________________________________________________________ Pag. 3/6 Matricola: _______________ 18) Nella unità di elaborazione con pipeline i registri di pipeline introdotti (rispetto alla unità a ciclo singolo) sono: a) b) c) d) 2 3 5 nessuna delle precedenti 19) Dato un vettore A di 100 interi memorizzati a partire dalla locazione 2000, scrivere un programma in assembler MIPS che scriva nella locazione 4000 il valore 1 se tutti gli interi nel vettore A sono uguali e scrive nella locazione 4000 il valore 0 altrimenti (cioè se non sono tutti uguali). Si richiede (1) la descrizione dell’algoritmo usato (in pseudocodice), (2) la descrizione dell’uso dei registri e (3) il programma in assembler commentato linea per linea. Non si può assumere la inizializzazione di nessun registro. /2 /6 Architettura (29/9/2003) Cognome e Nome (in stampatello): ________________________________________________________________ Pag. 4/6 Matricola: _______________ 20) Disegnare un circuito combinatoriale che, dato in input un intero positivo (con la rappresentazione di interi senza segno) su 4 bit, restituisce 1 se l’intero è maggiore o uguale a 13 /4 Architettura (29/9/2003) Cognome e Nome (in stampatello): ________________________________________________________________ Pag. 5/6 Matricola: _______________ 21) Disegnare la unità di elaborazione multiciclo commentando separatamente il significato e l’uso dei segnali di controllo che pilotano l’aggiornamento del Program Counter ed il suo utilizzo. /6 Architettura (29/9/2003) Cognome e Nome (in stampatello): ________________________________________________________________ Pag. 6/6 Matricola: _______________ 22) Per tutte le istruzioni MIPS conosciute, indicare il formato, con la suddivisione in campi e l’uso che ne viene fatto per ogni istruzione. /6