Esercizio 1 Si consideri una notazione binaria in virgola mobile a 16 bit, detta ALFA, di cui (nell ordine da sinistra a destra) si usa 1 bit per il segno (0=positivo), 6 bit per l esponente, che è rappresentato in eccesso a 32, ed i rimanenti 9 bit per la parte frazionaria della mantissa di cui si rappresenta solo la parte frazionaria. A. Indicare, per la notazione ALFA, l intervallo di rappresentazione dei numeri normalizzati e quello dei numeri denormalizzati, tenendo conto che le configurazioni dell esponente composte da tutti 0 e da tutti 1 sono riservate; B. Rappresentare nella notazione ALFA i seguenti numeri decimali: (i) +2048, (ii) -105, (iii) +15,25, indicando in ciascun caso l eventuale errore assoluto che si commette; C. Dato il numero n rappresentato nella notazione ALFA dalla stringa esadecimale DA7X (dove X è l ultima cifra del proprio numero di matricola) rappresentarlo nella notazione in eccesso a 2048 su 12 bit; D. Individuare la notazione in virgola mobile BETA che consente di rappresentare senza errori il suddetto numero n con il numero minimo possibile di bit e mostrare la rappresentazione di n in questa notazione.
Soluzione Esercizio 1 Sistema in v.m. = SEGNO:1, ESP:6 (ecc. 32), MANT:9 A. Indicare, per la notazione ALFA, l intervallo di rappresentazione dei numeri normalizzati e quello dei numeri denormalizzati, tenendo conto che le configurazioni dell esponente composte da tutti 0 e da tutti 1 sono riservate; MAX NORM. = 111110 111111111 2 30 2=2 31 MIN NORM. = 000001 000000000=2-31 MAX DENORM. = 000000 111111111 2-31 1=2-31 MIN DENORM. = 000000 000000001=2-31 2-9 =2-40 B. Rappresentare nella notazione ALFA i seguenti numeri decimali: (i) +2048, (ii) -105, (iii) +15,25, indicando in ciascun caso l eventuale errore assoluto che si commette; (i) +2048=2 11 0 101011 000000000 (Errore=0) (ii) -105=-(2 6 +2 5 +2 3 +2 0 )=-2 6 (2 0 +2-1 +2-3 +2-6 ) 1 100110 101001000 (Errore=0) (iii) +15,25=+(2 3 +2 2 +2 1 +2 0 +2-2 )=-2 3 (2 0 +2-1 +2-2 +2-3 +2-5 ) 0 100011 111010000 (Errore=0)
Soluzione Esercizio 1 Sistema in v.m. = SEGNO:1, ESP:6 (ecc. 32), MANT:9 C. Dato il numero n rappresentato nella notazione ALFA dalla stringa esadecimale DA7X (dove X è l ultima cifra del proprio numero di matricola) rappresentarlo nella notazione in eccesso a 2048 su 12 bit; Con X=3: n = 1101 1010 0111 0011 = 1 101101 001110011 = 2 13 (1,001110011). La notazione in eccesso a 2048 su 12 bit consente di rappresentare numeri relativi nell intervallo: [-2 11,2 11-1] n non è rappresentabile nella notazione data D. Individuare la notazione in virgola mobile BETA che consente di rappresentare senza errori il suddetto numero n con il numero minimo possibile di bit e mostrare la rappresentazione di n in questa notazione. SEGNO:1, ESP:5 (ecc. 16), MANT:9 n = 0 11101 001110011
Esercizio 2 Fornire lo schema di un circuito combinatorio che implementa un convertitore di formato di numeri in modulo e segno a 4 bit, utilizzando porte logiche e full-adder. Tale circuito ha 5 ingressi (X 3 X 2 X 1 X 0 e C) e 4 uscite (Y 3 Y 2 Y 1 Y 0 ) e si comporta come segue. Se sugli ingressi X si invia un numero relativo a 4 bit rappresentato nella notazione segno e modulo (X 3 è il segno, con 0=positivo, e i rimanenti bit il valore assoluto del numero, con X 0 bit meno significativo) nelle uscite è presente lo stesso numero rappresentato: (a) nel sistema in complemento a 2 se C=0 e (b) nel sistema in eccesso a 8 se C=1. Se per esempio in ingresso c è 0001, l uscita vale 0001 se C=0 e 1001 se C=1. Se invece in ingresso c è 1001, l uscita vale 1111 se C=0 e 0111 se C=1. Illustrare concisamente il funzionamento del circuito e specificare il valore di uscita di ciascuna componente quando il registro si trova a 0001 e C=1.
Possible soluzione circuitale Esercizio 2
Esercizio 3 Si consideri un semplice programma che opera su array A di 5 elementi memorizzato in locazioni contigue della memoria principale che calcola: (a) il più grande, (b) il più piccolo, (c) la somma e (d) il prodotto degli elementi di A. Per ciascuno dei quattro calcoli, vengono acceduti tutti gli elementi di A. Il programma viene eseguito su un microprocessore a 64 bit che dispone di una cache con tempo di accesso di 2 nsec e una memoria con tempo di accesso di 12 nsec. Si assuma che i trasferimenti tra memoria a cache avvengano per blocchi di 16B e che tutte le operazioni necessarie (confronto, somma e prodotto di due valori) vengano eseguite dal microprocessore in 1 nsec. A. Indicare il cache hit ratio (percentuale di successo di ricerca in cache) e il tempo medio di accesso del primo elemento dell array; B. Indicare il cache hit ratio complessivo (la percentuale globale di successo nell accesso alla cache) e il tempo medio di accesso alla memoria del programma; C. Indicare il tempo complessivo necessario all esecuzione del programma.
Soluzione esercizio 3 A. Il primo elemento dell array viene acceduto 4 volte. Solo la prima volta il dato si troverà in memoria. Successivamente, il dato è nella cache. Cache hit ratio = 3/4 = 75% Tempo medio di accesso = 2+12 1/4 = 5 nsec A. Il programma effettua complessivamente 20 accessi. Al primo accesso tutto l array viene caricato in memoria. Successivamente, i dati si trovano nella cache. Cache hit ratio complessivo = 19/20 = 95% Tempo medio di accesso progr. = (2+12 1/20) = 2,6 nsec A. Per eseguire il programma sono necessari: 20 letture. Solo la prima lettura richiede l accesso a memoria principale. Gli altri accessi sono alla cache. Inoltre, ogni calcolo richiede 4 operazioni (confronto, somma o prodotto). Tempo compl.=1 12nsec+20 2nsec+4 4 1nsec=68 nsec
Esercizio 4 Con riferimento all'organizzazione generale dei calcolatori, indicare se le seguenti affermazioni sono vere o false. In una unità disco un cilindro è l'insieme delle tracce alla stessa distanza dal centro. VERO Nelle stampanti laser un pennello laser produce l'immagine da stampare direttamente sulla carta. FALSO E necessaria una pressione sullo schermo per interagire con i touch screen resistivi. VERO Sui cavi SCSI i dati vengono trasmessi serialmente. FALSO E' possibile realizzare una unità RAID con un solo disco. FALSO I sistemi multicomputer adottano un modello di elaborazione di tipo MIMD. VERO I moderni microprocessori sono dotati di milioni di registri. FALSO Nelle unità a disco basate su tecnologia SATA i dati vengono trasmessi serialmente. VERO Le unità a stato solido hanno tempi di accesso superiori ai dispositivi a disco tradizionali. FALSO
Esercizio 5 Si consideri un bus sincrono che lavora a 20 Mhz con linee separate per dati e indirizzi dotato dei segnali di controllo MREQ, RD e WAIT e una memoria con un tempo di risposta di 60nsec dal momento in cui gli indirizzi sono stabili. Indicare se le seguenti affermazioni sono vere o false supponendo di lavorare in condizioni ideali. Per garantire una lettura in memoria, il segnale di WAIT deve rimanere asserito per 1 periodo di clock. FALSO I dati saranno disponibili presso il master dopo 75nsec. VERO Complessivamente, una transazione di lettura dura 100nsec. VERO Se si usa una memoria con un tempo di risposta di 70nsec, non è necessario asserire WAIT. VERO Se la frequenza si dimezza, una transazione in lettura richiede il doppio del tempo. VERO Se la frequenza si raddoppia, i dati saranno disponibili presso il master dopo 75nsec. VERO Una transizione di lettura da una memoria con un tempo di risposta di 100nsec dura 150nsec. VERO Se linee dei dati e degli indirizzi sono condivise le transazioni in lettura richiedono più tempo. VERO
Esercizio 6 Si consideri un microprocessore con architettura RISC, 8 stati di pipeline e un clock di 2 Ghz e si supponga di lavorare in condizioni ideali. Indicare se le seguenti affermazioni sono vere o false. In condizioni ideali si completa a regime una istruzione ogni nanosecondo. FALSO Il tempo di esecuzione di una istruzione è di 8 nsec. FALSO Se la frequenza di clock scende a 1 Ghz il tempo di esecuzione di una istruzione rimane inalterato. FALSO Se nella pipeline si eliminano due stadi l'ampiezza di banda della CPU è di 2000 MIPS. VERO Un programma di 5 istruzioni richiede 6 nsec per essere eseguito. VERO Se nella pipeline si eliminano quattro stadi il tempo di esecuzione di un'istruzione si riduce di 2 nsec. VERO La latenza della CPU è di 5 nsec. FALSO L'ampiezza di banda della CPU è di 2000 MIPS. VERO
Esercizio 7 Si consideri un'unità disco RAID di 400GB (spazio utilizzabile di memoria fisica) e con blocchi (strip) di 256 KB. Indicare se le seguenti affermazioni sono vere o false. In un RAID di livello 0 con 2 dischi, ogni disco è da 100GB. FALSO In un RAID di livello 1, ho bisogno di una capacità di memoria totale di 1TB. FALSO In un RAID di livello 1 con 4 dischi, ogni disco è da 200GB. VERO In un RAID di livello 4 con 5 dischi, ogni disco è da 128GB. FALSO In un RAID di livello 3, se si rompe il disco di parità non è possibile recuperare i dati. FALSO In un RAID di livello 5 con 5 dischi, ogni disco è da 128GB. FALSO In un RAID di livello 5 con dischi da 100GB, ho bisogno di una capacità di memoria totale di 1TB. FALSO Il RAID di livello 2 lavora su bit invece che su strip. VERO