La gestione dell'I/O Architettura degli elabor atori 1 - A. Memo 1 4 La gestione dell’I/O 4 La gestione dell’I/O 4 Prestazioni e generalità 4.1 Modelli di funzionamento 4.2 Dischi magnetici 4.3 Video e audio 4.4 Dispositivi di ingresso 4.5 Gestione software 4.6 Bus standard
59
Embed
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo 196 4 La gestione dellI/O 4Prestazioni e generalità 4.1Modelli di funzionamento 4.2Dischi.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
1
4 La gestione dell’I/O4 La gestione dell’I/O
4 Prestazioni e generalità
4.1 Modelli di funzionamento
4.2 Dischi magnetici
4.3 Video e audio
4.4 Dispositivi di ingresso
4.5 Gestione software
4.6 Bus standard
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
2
4 Prestazioni e generalità4 Prestazioni e generalitàprestazioniprestazioni
Le prestazioni dell’I/O si misurano con: tempo di risposta (o di latenza), che
rappresenta l’intervallo di tempo tra quando una richiesta di I/O è stata inoltrata al momemento in cui è stata soddisfatta
banda passante (o throughput), che rappresenta il numero medio di operazioni di I/O soddisfabili nell’unità di tempo
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
3
4 Prestazioni e generalità 4 Prestazioni e generalità generalitàgeneralità
le prestazioni delle CPU raddoppiano ogni 1-2 anni le capacità delle DRAM raddoppiano ogni 2-3 anni le capacità degli hard disk raddoppiano ogni 3 anni le prestazioni dell’I/O sono legate a problemi
meccanici e migliorano del 10% annuo
le prestazioni generali dei calcolatori aumentano poco per il collo di bottiglia dell’I/O
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
4
4.1 Modelli di funzionamento4.1 Modelli di funzionamentomodello di coda 1modello di coda 1
Generalmente un sistema di I/O è rappresen-tabile con un modello produttore/consumatore caratterizzato da una coda di buffer per ammortizzare le diverse velocità.
produttore consumatore
coda
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
5
4.1 Modelli di funzionamento 4.1 Modelli di funzionamento modello di coda 2modello di coda 2
per avere un basso tempo di risposta la coda deve essere vuota ed il consumatore deve essere libero
per avere una banda passante elevata la coda non deve mai essere vuota ed il consumatore non deve mai essere inoperoso
tempo di risposta [ms]
banda passante [%]
0 1000
300
200
100
50
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
6
4.1 Modelli di funzionamento 4.1 Modelli di funzionamento modello di coda 3modello di coda 3
Mentre il tempo di risposta non è facilmente migliorabile, la banda passante può essere aumentata duplicando i dispositivi
produttore
consumatore
consumatore
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
usano la stessa tecnologia di memorizzazione sono di natura sequenziale lunghezza “illimitata” e minor throughput rimovibile adatta al backup di archivi e/o interi sistemi tecnologia emergente: Rotating head Digital
Audio Tape (R-DAT)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
si basano su di un’unica spirale (dal centro) la rotazione avviene a velocità angolare
costante (nei più recenti ad accelerazione angolare costante)
ogni frame può avere il proprio CRC possono essere riprodotti dai costruttori, e
quindi la produzione di massa è molto economica
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
14
4.3 Video e audio 4.3 Video e audio risoluzionirisoluzioni
mappa video di un’immagine (frame)testo: 80 col x 25 rig x 2 attrib. [byte]B/N: 1 bit x pixel256 col: 8 bit x pixel16M col: 24 bit x pixel [R + G + B]
tubo a raggi catodicirisoluzione = M pixel_per_linea x N linee_di_scansione
(640 x 480), (800 x 600), (1280 x 1024)
alcuni sistemi adottanola trasparenza comequarto colore (alpha):A = 0 nessuna immag.A = 1 immagine opaca0<A<1 vari livelli di trasparenza
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
15
4.3 Video e audio 4.3 Video e audio rasterraster
N linee
M pixel
L’immagine viene riprodotta mediante scansione perrighe orizzontali e successiva ritraccia veloce.La scansione televisiva [TV] scompone il frame in duesemiquadri interlacciati composti rispettivamente dallerighe dispari e pari.La frequenza dei semi-quadri è di 50 Hz.Per evitare semiquadridiversi conviene partireda immagini distinte perciascun semiquadro.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
16
4.3 Video e audio 4.3 Video e audio palette o color mappalette o color map
il frame buffer in grafica a 16M colori vale:
M pixel_per_linea x N linee x C bit_colore800 x 600 x 24 = 1,44 MByte (SVGA)
1280 x 1024 x 24 = 3,84 MByte (XVGA) per ridurlo si ricorre ad una palette di colori
palette da 256 colori tra i 16M disponibiliframe buffer = 800 x 600 x 8 = 0,48 MByte
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
17
4.3 Video e audio 4.3 Video e audio VRAM 1VRAM 1
Poiché lo schermo deve essere rinfrescato 50 (in USA 60) volte al secondo, il bandwidth B richiesto alla memoria (per un XVGA anche adottando una palette) vale
B = frame_buffer x numero_di_frame =
1,28 MB x 50 = 62 MB/sec
che richiede una memoria a 4 byte di parola e un tempo di trasferimento inferiore ai 10 ns !
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
18
4.3 Video e audio 4.3 Video e audio VRAM 2VRAM 2
VRAM (Video RAM) la colonna della RAM è costituita da M bit ha due porte di acceso:
– l’accesso del monitor avviene tramite uno shift register che manipola un’intera colonna per volta (alto throughput)
– l’accesso del calcolatore avviene tradizional-mente (throughput normale)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
19
4.3 Video e audio 4.3 Video e audio VRAM 3VRAM 3
VRAM palette
accessoseriale
accessonormale
DataBus
bandwidthnormale
<10 MBps
monitor XVGA1280 x 1024
16M di colori
62 MBps
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
20
4.3 Video e audio 4.3 Video e audio doppio bufferdoppio buffer
Anche adottando VRAM, l’accesso normale della CPU deve essere contenuto, altrimenti l’operazione viene interrotta per avviare il trasferimento seriale prioritario
Per evitare il fenomeno del flickering (refresh mentre la nuova immagine non è ancora completata) si utilizzano due frame buffer distinti, il front buffer per l’accesso verso il crt ed il back buffer per la scrittura della nuova immagine da parte della CPU, e poi swap dei due buffer ad ogni modifica.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
21
4.3 Video e audio 4.3 Video e audio piani sovrappostipiani sovrapposti
Per velocizzare la scrittura si possono adottare più piani di disegno (overlay plans) e poi fonderli assieme solo in ingresso al crt.
Questa tecnica è molto vantaggiosa se si ha uno sfondo sempre uguale su cui si muovono oggetti di dimensioni contenute, ma poco efficiente quando una modifica deve essere riportata su più piani.
Utilizzata in workstation grafiche associando al piano di sfondo un video.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
22
4.3 Video e audio 4.3 Video e audio accelerazione BITBLTaccelerazione BITBLT
La CPU non è in grado di aggiornare un frame intero in 1/50 sec, anche con operazioni elementari.
Si può attribuire direttamente all’integrato di visualizzazione una modesta capacità elaborativa e imponendo che il nuovo frame venga ottenuto dal precedente .
L’operazione booleana
svolta dal BITBLT può
essere AND, OR, XOR...
BIT BLT
rastersorgente
rasterdestinazione
rasterrisultato
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
23
4.3 Video e audio4.3 Video e audiofrequenza di campionamento 1frequenza di campionamento 1
è basato su conversioni A/D e D/A per il teorema di Shannon per riprodurre un
segnale di banda B è necessaria una frequenza di campionamento (sample rate) almeno doppia
frequenza di campionamento8 KHz segnale telefonico16 KHz segnale radio AM32 KHz segnale radio FM44.1 KHz audio di livello CD
bit per campione8 buon audio ma suono di qualità scarsa12 suono discreto16 suono di qualità CD
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
24
4.3 Video e audio4.3 Video e audiofrequenza di campionamento 2frequenza di campionamento 2
Calcoliamo l’occupazione di suono di buon livello: frequenza di campionamento = 44,1 KHz bit per campione = 16 bit due canali stereo
memoria/sec = 44,1 x 16 x 2 = 176,4 Kbyte/sec(coincide con il transfer rate di un CD X1)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
il mouse è stato inventato come sistema di puntamento più di 30 anni fa, ma si è diffuso solo con l’avvento dei sistemi operativi a finestre e delle icone
ci sono almeno tre tipi di mouse:– mouse meccanico– mouse ottico– mouse senza fili
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
la rotazione della pallina del mouse determina da parte dei due rivelatori la generazione di due quantità di impulsi proporzionali agli spostamenti lungo i due assi ortogonali
queste quantità rappresentano lo spostamento relativo del puntatore e vengono acquisite periodicamente dalla CPU, che modifica di conseguenza la posizione dell’icona sullo schermo
la pressione di uno o più pulsanti del mouse può essere utilizzata per discriminare il comportamento del software
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
dotato di un emettitore-rivelatore ottico e di una superficie di appoggio con griglia di riferimento, sfrutta la riflessione del dispositivo sulla superficie
più costoso di quello mec-canico, ma più accurato esicuramente più affidabilenel tempo
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
Il metodo di gestione dell’I/O dipende dal tempo di risposta del dispositivo
I/O lenti rispetto alla CPU I/O della stessa velocità della CPU I/O più veloci della CPU I/O con velocità variabile
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
32
4.5 Gestione software4.5 Gestione softwareperiferiche molto lenteperiferiche molto lente
necessità di bufferizzazione e di rendere asincroni il processo di I/O dalla sua gestione– dimensionamento dei buffer– gestione dell’I/O via polling, per dare la
precedenza al software– gestione dell’I/O via interrupt, per dare la
precedenza all’evento di I/O
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
la CPU ciclicamente interroga la periferica (funzionamento asincrono con registri intermedi di stato e di dati)– la CPU ha il controllo totale dell’I/O– la CPU dedica gran parte del suo tempo per il
controllo dell’I/O, spesso inutile se la periferica è molto più lenta
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
–la CPU termina l’istruzione in corso–la CPU avvia un ciclo di riconoscimento dell’interrupt–la CPU salva nello stack il contesto minimo–la CPU passa il controllo alla routine di interrupt
la routine di interrupt salva il contesto proprio nello stack svolge l’operazione di I/O la routine di interrupt ripristina il contesto proprio
–la CPU ripristina il contesto minimo–la CPU restituisce il controllo al programma originario
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
F = clock della CPU = 200 MHzNP = numero cicli macchina per un interrupt = 300 = per trasferire un cluster da 512 Byte = 2860NL = numero interrupt al secondo =
– mouse = 30– floppy = 50 KB/sec 1 cluster = 100– hard disk = 4 MB/sec cluster = 8.000
PO = percentuale di overhead = NL x NP / F [%]
mouse = 0,004 % FD = 0,1 % HD = 9 %
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
la CPU inizializza il DMA fornendo il numero di dati da trasferire, l’indirizzo della prima cella di memoria interesssata, l’indirizzo della periferica interessata
la CPU rilascia il bus– il DMA controller prende possesso del bus– il DMA gestisce il trasferimento tra memoria e I/O– il DMA passa il controllo del bus alla CPU
la CPU riprende le normali operazioni
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
F = clock della CPU = 200 MHzNP = cicli macchina per inizializzare il DMA = 800 per trasferire un cluster da 512 Byte = 1024NL = numero transfer DMA al secondo =
– floppy = 50 KB/sec 1 cluster = 100– hard disk = 4 MB/sec cluster = 1.000
PO = percentuale di overhead = NL x NP / F [%]
FloppyDisk = 0,09 % HardDisk = 0,9 %
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
43
4.6 Bus standard4.6 Bus standardgeneralitàgeneralità
linee condivise che permettono lo scambio parallelo di informazioni tra dispositivi diversi
ad un costo contenuto assicurano una facile espandibilità e intercambiabilità tra sistemi analoghi
possono rappresentare un collo di bottiglia e sono limitati nel throughput dal dispositivo più lento tra quelli connessi
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
44
4.6 Bus standard4.6 Bus standardcomposizionecomposizione
Il bus è generalmente composto da linee per il trasferimento delle informazioni
dati, indirizzi, comandi codificati
linee per il controllo del trasferimento dei dati di handshake, di direzione, di lunghezza,di tipo, ...
linee di utilità di sistema clock, power down, reset, interrupt, bus request, ...
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
45
4.6 Bus standard4.6 Bus standardmodalità di trasferimento 1modalità di trasferimento 1
Il trasferimento dati richiede due fasi invio dell’indirizzo (il master), e poi (scrittura) emissione contemporanea del dato o (lettura) acquisizione ritardata del dato
da parte dello slave attivato
Il trasferimento dati può avvenire in modalità sincrona (tutti alla stessa velocità) modalità asincrona (velocità diversificate)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
46
4.6 Bus standard4.6 Bus standardmodalità di trasferimento 2modalità di trasferimento 2
bus asincroni– più flessibile ed in grado di soddisfare dispo-
sitivi con throughput molto diversi– si adegua alle evoluzioni tecnologiche dell’I/O– i protocolli di gestione sono più complessi,
introducono più overhead, e sono più lenti bus sincroni
– la rigidità di un unicoclock impedisce upgrade
throughput+
-- + I/O diversi
bus asincroni
bus sincroni
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
47
4.6 Bus standard4.6 Bus standardlarghezza di bandalarghezza di banda
La larghezza di banda di un bus dipende da: la dimensione della parola trasferita in un
unico ciclo l’adozione di tecniche di multiplazione tra dati
e/o indirizzi per ridurre il numero totale di linee fisiche
la capacità di trasferire blocchi di dati caratte-rizzati dall’indirizzo iniziale e dalla lunghezza
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
48
4.6 Bus standard4.6 Bus standardtipi di bus 1tipi di bus 1
In un’architettura tipica troviamo tre tipi di bus: bus interno per il trasferimento dati tra
memoria e CPU– deve essere veloce, ottimizzare il throughput tra
memoria e CPU, è di estensione limitata e spesso proprietario o non standard
bus esterno per l’interfacciamento di I/O– è regolato da standard commerciali, generalmente
più lento e previsto per maggiori lunghezze, il throughput di lavoro non è noto a priori
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
49
4.6 Bus standard4.6 Bus standardtipi di bus 2tipi di bus 2
bus unico di trasferimento tra CPU, memoria ed I/O– assicura una maggiore standardizzazione, è una
soluzione economica ma generalmente più lenta– non permette parallelismo operativo– applicata nei PC
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
50
4.6 Bus standard4.6 Bus standardarchitetture a più busarchitetture a più bus
CPU memoria busadapter I/O I/O
memory busI/O bus
es. PCI bus+ EISA bus
CPU memoria busadapter B.A. B.A.
I/O I/O I/O I/O
es.SCSIcontr.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
51
4.6 Bus standard4.6 Bus standardsoluzione tipicasoluzione tipica
CPU
cache memoriabus
adapterI/O I/O
bus di memoria sincrono
bus di I/O asincrono
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
52
4.6 Bus standard4.6 Bus standardmodalità di accessomodalità di accesso
lo scambio avviene sempre in modalità master-slave
l’architettura più semplice prevede un solo master, la CPU
quando più dispositivi possono fungere da master, si adottano tecniche di arbitraggio– arbitraggio centralizzato– arbitraggio daisy chain– arbitraggio distribuito
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
53
4.6 Bus standard4.6 Bus standardPCIPCI
bus di tipo backplane basato su connessioni a scheda ampiezza di parola: 32 (64 nella versione 2) indirizzi e dati vengono multiplati più master ad arbitraggio centralizzato trasferimenti sincroni a 33 MHz (o 66MHz) larghezza di banda teorica: 111 MB/sec lunghezza massima 0,5 m al massimo 32 dispositivi numero linee: 124 (o 188)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
54
4.6 Bus standard4.6 Bus standardSCSISCSI
bus di tipo I/O basato su connessioni a cavo ampiezza di parola: 8 - 16- 32 (wide SCSI) indirizzi e dati vengono multiplati più master ad arbitraggio distribuito trasferimenti sincroni a 5 MHz
(o asincroni fino a 10MHz in fast SCSI) larghezza di banda teorica: 5 - 40 MB/sec lunghezza massima 25 m numero linee: 50
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
55
4.6 Bus standard4.6 Bus standardVMEVME
bus di tipo backplane su connessioni a scheda ampiezza di parola: 16 - 32 - 64 indirizzi e dati vengono multiplati più master ad arbitraggio daisy chain trasferimenti asincroni larghezza di banda teorica: 13 - 25 MB/sec lunghezza massima 0,5 m numero massimo di dispositivi: 21 numero linee: 128
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
56
4.6 Bus standard4.6 Bus standardIDEIDE
bus di tipo I/O su connessioni a scheda ampiezza di parola: 16 indirizzi e dati non multiplati master singolo trasferimenti asincroni larghezza di banda teorica: MB/sec lunghezza massima 18 “ (circa 0,5 m) numero massimo di dispositivi: 2 numero linee: 40
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
57
4.6 Bus standard4.6 Bus standardISA-16ISA-16
bus di tipo I/O su connessioni a scheda ampiezza di parola: 16 indirizzi e dati non multiplati master singolo trasferimenti sincroni a 8,33 MHz larghezza di banda teorica: 20 MB/sec lunghezza massima 18 “ (circa 0,5 m) numero linee: 98
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
58
4.6 Bus standard4.6 Bus standardEISAEISA
bus di tipo I/O su connessioni a scheda ampiezza di parola: 16 - 32 indirizzi e dati non multiplati master singolo trasferimenti sincroni a 8,33 MHz larghezza di banda teorica: 33 MB/sec lunghezza massima 18 “ (circa 0,5 m) numero linee: 98 / 100
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo
59
4.6 Bus standard4.6 Bus standardVESAVESA
bus di tipo I/O su connessioni a scheda ampiezza di parola: 32 indirizzi e dati non multiplati più master ad arbitraggio centralizzato trasferimenti asincroni larghezza di banda teorica: 25 MB/sec lunghezza massima 18 “ (circa 0,5 m) numero linee: 116