Possibile soluzioni

Download Report

Transcript Possibile soluzioni

Prova parziale 24 aprile 2014
Possibili soluzioni
Esercizio 1
Si consideri una notazione binaria in virgola mobile a 8 bit di cui
(nell’ordine da sinistra a destra) si usa 1 bit per il segno
(0=positivo), k bit per l’esponente, che è rappresentato in
eccesso a 2k−1, ed i rimanenti bit per la parte frazionaria della
mantissa, di cui si rappresenta solo la parte frazionaria. Sia X il
numero meno significativo non nullo del vostro numero di
matricola.
A. Individuare il valore di k che consente di rappresentare tutti i
numeri compresi tra -100 e 100 (espressi in notazione decimale)
con la massima precisione possibile e indicare, per la notazione
individuata, l’intervallo di rappresentazione tenendo conto del
fatto che le configurazioni dell’esponente composte da tutti 0 e da
tutti 1 sono riservate;
B. Rappresentare, nella notazione definita al punto A, i numeri
decimali 0, -65 e 7,5 indicando gli eventuali errori di
rappresentazione commessi;
C. Indicare quale numeri decimali rappresentano, nella notazione
definita al punto A, le stringhe esadecimali CX e 4X;
D. Individuare il numero e di bit dell’esponente e il numero m di bit
della mantissa di una notazione in virgola mobile a 16 bit che sia
in grado di rappresentare tutti i numeri rappresentabili nella
definita al punto A e che abbia l’intervallo di rappresentazione più
grande possibile
Possibile soluzione Esercizio 1
Sistema in v.m. = SEGNO:1, ESP:K (ecc. 2k−1), MANT:8-K-1
A. Individuare il valore di k che consente di rappresentare tutti i
numeri compresi tra -100 e 100 (espressi in notazione
decimale) con la massima precisione possibile e indicare, per la
notazione individuata, l’intervallo di rappresentazione tenendo
conto del fatto che le configurazioni dell’esponente composte da
tutti 0 e da tutti 1 sono riservate;
26<100<27 quindi devo rappresentare 7 in ESP  k=5
MAX =  11110 11=2141,75
MIN =  00001 00=2-15
B. Rappresentare, nella notazione definita al punto A, i numeri
decimali 0, -65 e 7,5 indicando gli eventuali errori di
rappresentazione commessi;
(i) 0 = 0 00000 00 (Errore=0)
(ii) -65=-(26+20)=-26(20+2-6) 
1 10110 00 (Errore=262-6=1)
(iii) +7,5=+(22+21+20+2-1)=+22(20+2-1+2-2+2-3) 
0 10010 11 (Errore=222-3=0,5)
Possibile soluzione Esercizio 1
Sistema in v.m. = SEGNO:1, ESP:4 (ecc. 16), MANT:2
C. Indicare quale numeri decimali rappresentano, nella
notazione definita al punto A, le stringhe esadecimali
CX e 4X; (pongo X=9)
C9 = 1 10010 01 = -22(1.01) = -(101) = -5
49 = 0 10010 01 = +22(1.01) = +(101) = +5
D. Individuare il numero e di bit dell’esponente e il
numero m di bit della mantissa di una notazione in
virgola mobile a 16 bit che sia in grado di
rappresentare tutti i numeri rappresentabili nella
definita al punto A e che abbia l’intervallo di
rappresentazione più grande possibile.
SEGNO:1, ESP:13 (ecc. 212), MANT:2
Altra possibile soluzione Eserc. 1 (più precisa)
Sistema in v.m. = SEGNO:1, ESP:K (ecc. 2k−1), MANT:8-K-1
A. Individuare il valore di k che consente di rappresentare tutti i
numeri compresi tra -100 e 100 (espressi in notazione
decimale) con la massima precisione possibile e indicare, per la
notazione individuata, l’intervallo di rappresentazione tenendo
conto del fatto che le configurazioni dell’esponente composte da
tutti 0 e da tutti 1 sono riservate;
B. Numero 100 in binario = 01100100 = 26(01.100100) quindi
basta rappresentare in ESP il numero 6  k=4
MAX =  1110 111=261,875=108
MIN =  0001 000=2-7
B. Rappresentare, nella notazione definita al punto A, i numeri
decimali 0, -65 e 7,5 indicando gli eventuali errori di
rappresentazione commessi;
(i) 0 = 0 0000 000 (Errore=0)
(ii) -65=-(26+20)=-26(20+2-6) 
1 1110 000 (Errore=262-6=1)
(iii) +7,5=+(22+21+20+2-1)=+22(20+2-1+2-2+2-3) 
0 1010 111 (Errore=0)
Altra possibile soluzione Eserc. 1 (più precisa)
Sistema in v.m. = SEGNO:1, ESP:4 (ecc. 8), MANT:3
C. Indicare quale numeri decimali rappresentano, nella
notazione definita al punto A, le stringhe esadecimali
CX e 4X; (pongo X=9)
C9 = 1 1001 001 = -21(1.001) = -(10.01) = -2,25
49 = 0 1001 001 = +21(1.001) = +(10.01) = +2,25
D. Individuare il numero e di bit dell’esponente e il
numero m di bit della mantissa di una notazione in
virgola mobile a 16 bit che sia in grado di
rappresentare tutti i numeri rappresentabili nella
definita al punto A e che abbia l’intervallo di
rappresentazione più grande possibile.
SEGNO:1, ESP:12 (ecc. 211), MANT:3
Esercizio 2
Fornire lo schema di un circuito sequenziale che realizza un
cronometro a 4 bit utilizzando full-adder e flip-flop.
Tale circuito ha 1 segnale di controllo in ingresso (S) e 4
uscite (X3X2X1X0). Quando S=0 il contenuto del registro viene
resettato a 0. Quando S=1 l’uscita viene incrementata ogni
secondo di 1 sfruttando un segnale di clock a 1Hz in ingresso.
Illustrare concisamente il funzionamento del circuito e
specificare il valore di uscita di ciascuna componente quando
S=1 e il contatore si trova a 0111.
soluzione circuitale
Possible soluzione base Esercizio 2
Esercizio 3
Si consideri un semplice programma che calcola la somma degli
elementi di un array A composto da 10 elementi di 1 byte
memorizzati in locazioni contigue della memoria principale.
Il programma viene eseguito su un microprocessore a 32 bit che
dispone di una cache con tempo di accesso di 2 nsec e una
memoria con tempo di accesso di 15 nsec.
Si assuma che i trasferimenti tra memoria e cache avvengano per
blocchi di 16B e che la somma di due elementi sia eseguita dal
microprocessore in 1 nsec.
A. Indicare il cache hit ratio (percentuale di successo di ricerca in
cache) e il tempo medio di accesso al 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 1 volta con dato in
memoria e quindi fallimento di ricerca nella cache.
Cache hit ratio=0/1=0%
Tempo medio di accesso 1° elemento=2+15×1=17 nsec
A. Il programma effettua complessivamente 10 accessi. Al primo
accesso tutto l’array viene caricato in memoria (16B>10B).
Successivamente, i dati si trovano nella cache.
Cache hit ratio complessivo=9/10=90%
Tempo medio di accesso mem.=(2+15×1/10)=3,5 nsec
A. Per eseguire il programma sono necessari: 10 letture. Solo la
prima lettura richiede l’accesso a memoria principale. Inoltre,
il calcolo richiede 9 somme.
Tempo compl.=1×15nsec+10×2nsec+9×1nsec=44 nsec
Esercizio 4
Con riferimento ai codici a rilevazione e correzione di errore,
indicare se le seguenti affermazioni sono vere o false.
Due codifiche che hanno una distanza di Hamming pari a 2 hanno
2 bit uguali e tutti gli altri diversi. FALSO
L'inserimento del bit di parità in un codice aumenta la distanza di
Hamming del codice. VERO
Per poter correggere 9 errori di 1 bit in una codice occorre una
distanza di Hamming pari a 19. VERO
Un errore su 1 bit per un codice con distanza di Hamming pari a 3
può essere corretto. VERO
Per essere in grado di rilevare 4 errori di 1 bit in un codice
occorre una distanza di Hamming pari a 3. FALSO
Il numero di bit di controllo in un codice a correzione di errore
singolo non cambia al variare della lunghezza complessiva della
codifica. FALSO
In un codice con distanza di Hamming pari a 4 non è possibile
rilevare 2 errori di 1 bit. FALSO
In un codice con bit di parità non si possono rilevare errori
commessi sul bit di parità. FALSO
Esercizio 5
Si consideri un bus sincrono che lavora a 40 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 50nsec dal momento in cui gli
indirizzi sono stabili. Supponendo di lavorare in condizioni ideali indicare
se le seguenti affermazioni sono vere o false.
Per garantire una lettura in memoria, il segnale di WAIT deve rimanere
asserito per 1 periodo di clock. VERO
I dati saranno disponibili presso il master dopo 60nsec. FALSO
Complessivamente, una transazione di lettura dura 75nsec. VERO
Se si usa una memoria con un tempo di risposta di 30nsec, non è
necessario asserire WAIT. VERO
Se si dimezza la frequenza, i dati saranno disponibili presso il master
dopo 75nsec. VERO
Se si dimezza la frequenza, non è necessario asserire WAIT. VERO
Se si raddoppia la frequenza, è necessario asserire WAIT per 3 periodi di
clock. VERO
Il bus PCI Express è sincrono. FALSO
Esercizio 6
Si consideri un microprocessore con architettura RISC, 12 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 mezzo
nanosecondo. VERO
Il tempo di esecuzione di una istruzione è di 12 nsec. FALSO
Se la frequenza di clock scende a 1 Ghz il tempo di esecuzione di una
istruzione si dimezza. FALSO
Se nella pipeline si eliminano quattro stadi l'ampiezza di banda della CPU
è di 2000 MIPS. VERO
Un programma di 5 istruzioni richiede 8 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 6 nsec. VERO
L'ampiezza di banda della CPU è di 2000 MIPS. VERO
Esercizio 7
Si consideri un'unità disco RAID di 1TB (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 500GB.
FALSO
In un RAID di livello 1, ho bisogno di una capacità di memoria
totale di 2TB. VERO
In un RAID di livello 1 con 10 dischi, ogni disco è da 100GB.
FALSO
In un RAID di livello 4 con 5 dischi, ogni disco è da 256GB. VERO
In un RAID di livello 2, se si rompe un disco con i bit di controllo
è possibile recuperare i dati. VERO
In un RAID di livello 5 con 9 dischi, ogni disco è da 128GB. VERO
Se ho dischi da 512GB, ho bisogno di 3 dischi per realizzare un
RAID di livello 5. VERO
Il RAID di livello 0 se si rompe un disco perdo i dati. VERO