Corso di studi in Ingegneria Elettronica A.A. 2003/2004 Calcolatori Elettronici Esercitazione n 2 Ing Giovanni Costa
Sommario: Codici a correzione di errori Dispositivi per: Memorizzazione Output Input Interfacciamento 2
Codici a correzione di errore Recupero degli errori hardware tramite codifiche ridondanti Codifiche con n = m + r bit (parola di codice) n bit complessivi codifica m bit dati r check bit (ridondanti) Si utilizza solo un sottoinsieme delle codifiche (codifiche valide) Distanza di Hamming h = numero minimo di bit diversi tra due codifiche valide Per rilevare errori su d bit occorre h = d+1 Per correggere errori su d bit occorre h = 2d+1 3
Rilevazione di errore singolo Nel caso più semplice si vogliono solo rilevare errori singoli Basta aggiungere un solo check bit r=1, n=m+1 Bit di parità: scelto in modo che il numero complessivo di 1 nella codifica sia sempre pari (o dispari) Questo codice ha distanza h=2 Errore rilevato da circuiti molto semplici Le memorie segnalano parity error quando un errore si manifesta 4
Correzione di errore singolo m data bit, r check bit, n bit totali 2 m codifiche valide n codifiche errate a distanza 1 da ciascuna delle valide Ogni codifica valida ne richiede in tutto n+1: ( m n n + 1)2 2 cioè ( m + r + 1) 2 r 5
Correzione di errore singolo m r n=m+r r/m Al crescere di m l overhead scende 6
Correzione di errore singolo Codice di Hamming per m = 16; r=5 => n=21; I 21 bit sono ordinati a partire da 1 con il bit 1 primo bit a sinistra I bit la cui posizione è una potenza di due sono bit di controllo (parità) Il bit b i è controllato dai check bit la cui somma è pari a i 7
Correzione di errore singolo Costruzione del codice di Hamming per la parola 1111000010101110 il bit 1 controlla i bit 1,3,5,7,9,11,13,15,17,19,21 il bit 2 controlla i bit 2,3,6,7,10,11,14,15,18,19 il bit 4 controlla i bit 4,5,6,7,12,13,14,15,20,21 il bit 8 controlla i bit 8,9,10,11,12,13,14,15 il bit 16 controlla i bit 16,17,18,19,20,21 Si ottiene la parola di codice 001011100000101101110 L inversione del bit 5 genera la parola di codice 001001100000101101110 i bit di parità 1 e 4 sono errati => errore nel bit 1+4=5 8
Gerarchie di Memorie > 40 2 Capacity (byte) Access time (sec) Scendendo nella gerarchia: Cresce il tempo di accesso Aumenta la capacità Diminuisce il costo per bit Solo il livello più alto della gerarchia è a contatto con la CPU 40 2 30 2 19 2 2 4 5 10 20 9 9 10 80 10 Migrazione dei dati fra livelli della gerarchia 9 3 10 10 150 10 3 9
Cache La memoria è sempre più lenta della CPU e tende a rallentarla Memorie veloci sono disponibili ma solo per piccole dimensioni La cache (da cacher) quindi nasconde la lentezza della memoria Contiene le ultime porzioni di memoria acceduta: se la CPU vuole leggere una di esse evita un accesso a memoria Funziona bene grazie al principio di località degli accessi 10
Cache: Cache Hit Ratio Se una parola viene letta k volte di seguito, k 1 volte sarà trovata in cache Cache hit ratio: H = (k 1) / k Tempo medio di accesso a memoria: m: tempo di accesso della memoria c: tempo di accesso della cache A = c + (1 H)m La memoria è organizzata in blocchi Per ogni cache miss un intero blocco è spostato in cache 11
Packaging per le memorie SIMM (Single Inline Memory Module): 30 connettori: fornivano 8 bit per volta 72 connettori: fornivano 32 bit per volta DIMM(Dual Inline Memory Module): 168 connettori: forniscono 64 bit per volta 12
Dischi magnetici Registrazione seriale su tracce concentriche 800-2000 tracce/cm (larghe ~10µ) Tracce divise in settori contenenti i dati, un preambolo e un ECC (Error-Correcting Code) (la capacità formattata scende del 15%) Velocità di rotazione costante (7200 RPM) Densità di registrazione variabile con il raggio della traccia (~ 105 bit/cm) Velocità di trasferimento di 5-20 MB/sec Burst rate e sustained rate 13
Dischi magnetici (2) 14
Dischi magnetici (3) Cilindro: insieme di tracce sulla stessa verticale Tempo di seek tseek: spostamento delle testine sul cilindro desiderato, dipende in parte dalla distanza (~ 5-10ms) Tempo di latency tlat: spostamento sul settore desiderato (~ 10ms) Tempo di accesso: tacc= tseek+ tlat 15
Floppy Disk Dispositivi rimuovibili Le testine toccano i dischetti Non in rotazione continua Ritardo nei tempi di accesso 16
Dischi IDE, EIDE, SCSI IDE: Standard nato con il PC XT IBM Limite di 16 testine, 63 settori e 1024 cilindri: in tutto 528 MB EIDE: estende lo standard a 224 settori, controllori fino a 4 dischi e transfer rate più alto ~30MB/sec SCSI (Small Computer System Interface): standard ANSI Controller più intelligente, inizialmente migliori prestazioni Connessione daisy chain Adatto a server. Usato nelle Ws Unix 17
Dischi RAID Problema: miglioramento lento delle prestazioni dei dischi (1970: tseek=50ms; 1999 tseek=10ms) Soluzione: RAID (Redundant Array of Inexpensive Disks) Dividere i dati su più dischi Parallelizzare l accesso Aumentare il data rate Introdurre una resistenza ai guasti Contrapposti a SLED (Single Large Expensive Disk) Data Striping: dati consecutivi nello stesso file vengono affettati e disposti su dischi diversi, dai quali possono essere letti (e scritti) in parallelo 18
Dischi RAID Level 0 e 1 19
Dischi RAID Level 2 20
Dischi RAID Level 3 RAID 2 e 3 offrono un data rate eccellente ma permettono di gestire solo un operazione su disco per volta perché ciascuna operazione coinvolge tutti i dischi 21
Dischi RAID Level 4 e 5 Striping a livello di blocco: drive non sincronizzati RAID 4: la strip nell ultimo disco contiene i bit di parità dell insieme di bit omologhi di tutte le altre strip Resiste a guasti singoli (vedi RAID 3) Se una sola strip è scritta occorre leggere tutte le altre per calcolare la parità Il disco di parità è il collo di bottiglia RAID 5 distribuisce le strip di parità 22
Dischi ottici: CD ROM 23
CD ROM: Organizzazione dei Dati 24
CD ROM: Scrivibili e Riscrivibili 25
DVD: Digital Versatile Disk 26
Struttura fisica del PC 27
Monitor CRT 28
Display Flat Panel 29
Terminali a mappa di caratteri 30
Terminali a mappa di bit 31
Interfaccia RS-232-C 32
Tastiere e Mouse 33
Stampanti InkJet 34
Stampanti Laser 35
Stampanti a colori 36
Modem Informazione binaria trasmessa su linee analogiche modulando una portante Modulazione di ampiezza, frequenza e fase Bit rate: frequenza di invio dei bit Baud rate: frequenza con cui varia il segnale Bit rate tipici: 14.000~57.600 bits/sec Protocolli V.21, V.32, V.34, V90 (56Kbps) 37
Modem (2) 38
Linee ISDN 39
Linee ADSL 40
Codici per i caratteri: ASCII e UNICODE 41