Esercizi sulle architetture
Unità di misura b Bit B Byte = 8 bit k (kilo) 1024 (210, circa 103) M (mega) 220 (circa 106) G (giga) 230 (circa 109) MIPS Milioni di istruzioni per secondo bps Bit per secondo (b/s) Bps Byte per secondo (B/s)
(il minimo è log2(capacità)) Memoria centrale Caratteristica Memorie RAM Memorie ROM Capacità 8-256 MB 32 kB -1 MB Bus indirizzi 24-32 bit (il minimo è log2(capacità)) Ampiezza celle (bus dati) 8-32 bit 8-16 bit Tempo di accesso 5-50 ns 150-300 ns
Memoria di massa Caratteristica Floppy disk Hard disk CD-ROM Capacità 1,44 MB 100 MB - 50 GB 600 MB Tempo d’accesso 200-300 ms 50 ms 100 ms Velocità di trasferimento 0,1 MB/s 10 MB/s – 40 MB/s 0,5-5 MB/s Numero facce 2 4-16 1 Numero tracce 80 100-2000
Relazioni fondamentali Numero di bit = log2(valori possibili) Memoria video = pixel X * pixel Y * (# bit per pixel) Numero colori = 2 # bit per pixel Tempo di lettura/scrittura = tempo di accesso + dimensione file / velocità di trasferimento MIPS = MHz (clock) / cicli di clock per istruzione = f / (106 * C)
Esercizio 0 Quanta memoria video occorre per visualizzare la seguente immagine: 640 pixel su x 480 pixel su y pixel con 256 colori
Soluzione #pixel = 640 * 480 = 307.200 pixel #byte per pixel = (log2 256) = 8 bit/pixel = 1 byte/pixel memoria totale = 307.200 * 1 = 307.200 byte ≈ 300 Kbyte
Esercizio 1 Sia dato un video caratterizzato dai seguenti parametri: pixel asse Y =1024 16 colori contemporanei memoria video = 2 Mbit. Si indichi quanti sono i pixel sull'asse X.
Soluzione Per codificare 16 colori occorrono log216 bit = 4 bit Ovvero ogni pixel è codificato su 4 bit; il numero di pixel totali è dato da: #pixel = 2 Mbit / 4 = 2 * 220 / 22 = 219 pixel Quindi: #pixel su asse X = 219 / 210 = 29 = 512
Esercizio 2 Un personal computer è dotato di una scheda grafica in grado di visualizzare immagini della risoluzione di 2048x1536 pixel con 16384 colori contemporanei. Si valuti la quantità di memoria necessaria a codificare l’immagine ed il tempo necessario a scrivere su un hard disk tale immagine.
Soluzione Per codificare 16384 colori occorrono log2 16384 bit = 14 Ogni pixel è codificato su 14 bit #pixel = 2048 * 1536 = 211 * 1.5 * 210 = 1.5 * 221 pixel Memoria Video = 1.5 * 221 * 14 = 21 * 221 bit = 42 * 220 bit = 42 Mbit = 5.25 MByte Tcopia = tacc(HD) + dimensione / vtrasf(HD) = 50 ms + 5.25 MB / (10MB/s)) = 0.050+0.525 s = 0.575 s
Esercizio 3 Si consideri una CPU che impieghi 4 cicli macchina per eseguire ogni istruzione ed una frequenza di clock di 400 MHz. La CPU esegue un programma che deve compiere un accesso in memoria ogni 5 istruzioni. Ipotizzando un tempo di accesso alla memoria di 60 ns, quante istruzioni verranno eseguite in 1 secondo?
Soluzione Ogni gruppo di 5 istruzioni comprende un accesso alla memoria. Il tempo necessario ad eseguire 5 istruzioni, seguite da un accesso in memoria è pari a: T5i+m = 5 Ti + Tm dove: Ti = tempo necessario ad eseguire un’istruzione = 4 / (400 * 106) = 0.01 s = 10 ns Tm = tempo necessario a compiere un accesso in memoria = 60 ns
Soluzione (cont.) Il tempo necessario a eseguire un gruppo di 5 istruzioni è pari a: T5i+m = 5 10 ns + 60 ns = 110 ns. In ogni secondo, vengono eseguite un numero di gruppi di 5 istruzioni pari a: 1 s / 110 ns ≈ 1/100 * 109 = 107 ( = 9.090.909) Il numero di istruzioni eseguite è pari a: 5 107 = 50 * 106 istruzioni = 50 MIPS.
Esercizio 4 Sia dato un hard disk della capacità di 1 GB, avente tempo d’accesso di 50 ms e velocità di trasferimento di 20 MB/sec. Si vuole ricopiare l’intero contenuto di tale disco su un secondo disco identico, montato sullo stesso calcolatore. Sapendo che il trasferimento avviene a blocchi di 512 kB, quanto tempo è necessario a completare la copia?
Soluzione Occorre calcolare il tempo per trasferire 1 settore: Tsettore = tacc(HD1) + dim_settore/vtrasf(HD1) + tacc(HD2) + dim_settore/vtrasf(HD2) = 2 * (50 ms + 512 KB / (20MB/s)) = 2*(0.050+0.025) s = 0.15 s Il disco comprende: 1 GB / 512 kB = 230 / (29 * 210) = 211 = 2048 settori. Tempo di copia = Nsettori * Tsettori = 2048 * 0.15 = 307 s
Pacchetti di rete Byte 6 6 variabile 4 Indirizzo Mittente Indirizzo DATI Indirizzo Destinatario Byte 6 6 variabile 4 Indirizzo Destinatario Indirizzo Mittente DATI Con- trollo
Trasmissione via modem idle { bit di stop { bit di start 1 1 1 0 0 1 0 1
Collegamenti di rete Caratteristica Modem Ethernet Fast Ethernet Velocità di trasferimento 19,2kb/s 33,6 kb/s 64kb/s 10 Mb/s 100 Mb/s Dati aggiuntivi 2-3 bit ogni 8 10-30 byte ogni 500-2000 Ritrasmissione 0-30% 5-10% 2-5%
Errori e ritrasmissioni Nei collegamenti di rete, spesso i dati non giungono correttamente a destinazione. Le cause possono essere: Disturbi sulle linee, che corrompono alcuni bit Collisioni dovute a più comunicazioni contemporanee. In tali casi, occorre ri-trasmettere i dati.
Esercizio 5 Due calcolatori sono collegati mediante una rete di tipo Ethernet a 10 Mbit/s. Si calcoli il tempo necessario a copiare il contenuto di un file di 2 MB dall’hard disk del primo calcolatore a quello del secondo calcolatore.
Soluzione T2 T3 T1 T = T1 + T2 + T3 Rete Ethernet HD HD Lettura da HD Scrittura su HD Trasf. di rete
Soluzione T1 = tacc HD + dim_file / vtrasf HD T3 = T1 T2 = dati_trasferiti / vtrasf RETE Dati_trasferiti = N_pacchetti * dim_pacchetto N_pacchetti = dim_file / dim_area_dati * (1 + %ritrasmissione)
Soluzione T1 = 50 * 10–3 s + 2MB / 20 MB/s = 15 * 10–2 s N pacchetti = 2 * 220 / 1000 * (1 + 10/100) ≈ 221 / 210 * 1.1 = 1.1 * 211 Dati trasferiti = 1.1 * 211 * (1000 + 20) ≈ 1.1 * 211 * 210 = 1.1 * 221 Byte T2 = 1.1 * 221 B / (10 * 220 b/s) = 8.8 * 221 / (10 * 220) = 0.88 * 2 s = 1.76 s T = 0.15 + 1.76 + 0.15 = 2.06 s