Corso di studi in Ingegneria Elettronica A.A. 2003/2004
Calcolatori Elettronici
Esercitazione n 2
Ing Giovanni Costa
2
Sommario:
Codici a correzione di erroriDispositivi per:
MemorizzazioneOutputInputInterfacciamento
3
Codici a correzione di errore
Recupero degli errori hardware tramite codifiche ridondantiCodifiche con n = m + r bit (parola di codice)
n bit complessivi codificam bit datir 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+1Per correggere errori su d bit occorre h = 2d+1
4
Rilevazione di errore singolo
Nel caso più semplice si vogliono solo rilevare errori singoliBasta 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 sempliciLe memorie segnalano parity error quando un errore simanifesta
5
Correzione di errore singolo
m data bit, r check bit, n bit totalicodifiche valide
n codifiche errate a distanza 1 da ciascunadelle valide
Ogni codifica valida ne richiede in tutto n+1:
cioè
m2
nmn 22)1( ≤+ rrm 2)1( ≤++
6
Correzione di errore singolo
m r n=m+r r/m
Al crescere di m l’overhead scende
7
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 sinistraI bit la cui posizione è una potenza di due sono bit di controllo (parità)
Il bit bi è controllato dai check bit la cui somma è pari a i
8
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,21il bit 2 controlla i bit 2,3,6,7,10,11,14,15,18,19il bit 4 controlla i bit 4,5,6,7,12,13,14,15,20,21il bit 8 controlla i bit 8,9,10,11,12,13,14,15il bit 16 controlla i bit 16,17,18,19,20,21
Si ottiene la parola di codice001011100000101101110
L’inversione del bit 5 genera la parola di codice001001100000101101110i bit di parità 1 e 4 sono errati => errore nel bit 1+4=5
9
Gerarchie di Memorie
Capacity (byte) Access time (sec)
Scendendo nella gerarchia:Cresce il tempo di accessoAumenta la capacitàDiminuisce il costo per bit
Solo il livello più alto della gerarchia è a contatto con la CPU
Migrazione dei dati fra livelli della gerarchia
42
302
192
402
9105 −⋅
402>
91020 −⋅91080 −⋅
31010 −⋅310150 −⋅
10
Cache
La memoria è sempre più lenta della CPU e tende a rallentarlaMemorie veloci sono disponibili ma solo per piccole dimensioniLa cache (da cacher) quindi nasconde la “lentezza” della memoriaContiene le ultime porzioni di memoria acceduta: se la CPU vuole leggere una di esse evita un accesso a memoriaFunziona bene grazie al principio di località degli accessi
11
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 memoriac: tempo di accesso della cache
A = c + (1 – H)mLa memoria è organizzata in blocchiPer ogni cache miss un intero blocco èspostato in cache
12
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”
13
Dischi magnetici
Registrazione seriale su tracce concentriche800-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/secBurst rate e sustained rate
14
Dischi magnetici (2)
15
Dischi magnetici (3)
Cilindro: insieme di tracce sulla stessa verticaleTempo 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
16
Floppy Disk
Dispositivi rimuovibiliLe testine toccano i dischettiNon in rotazione continuaRitardo nei tempi di accesso
17
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
18
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
19
Dischi RAID Level 0 e 1
20
Dischi RAID Level 2
21
Dischi RAID Level 3
RAID 2 e 3 offrono un data rate eccellente mapermettono di gestire solo un’ operazione sudisco per volta perché ciascuna operazionecoinvolge tutti i dischi
22
Dischi RAID Level 4 e 5
Striping a livello di blocco: drive non sincronizzatiRAID 4: la strip nell’ultimo disco contiene i bit di paritàdell’insieme di bit omologhi di tutte le altre stripResiste a guasti singoli (vedi RAID 3)Se una sola strip è scritta occorre leggere tutte le altreper calcolare la paritàIl disco di parità è il collo di bottigliaRAID 5 distribuisce le strip di parità
23
Dischi ottici: CD ROM
24
CD ROM: Organizzazione dei Dati
25
CD ROM: Scrivibili e Riscrivibili
26
DVD: Digital Versatile Disk
27
Struttura fisica del PC
28
Monitor CRT
29
Display Flat Panel
30
Terminali a mappa di caratteri
31
Terminali a mappa di bit
32
Interfaccia RS-232-C
33
Tastiere e Mouse
34
Stampanti InkJet
35
Stampanti Laser
36
Stampanti a colori
37
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)
38
Modem (2)
39
Linee ISDN
40
Linee ADSL
41
Codici per i caratteri: ASCII e UNICODE