La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo La gestione dellI/O 4Prestazioni e generalità 4.1Modelli di funzionamento 4.2Dischi magnetici 4.3Video e audio 4.4Dispositivi di ingresso 4.5Gestione software 4.6Bus standard
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Prestazioni e generalità prestazioni Le prestazioni dellI/O si misurano con: l tempo di risposta (o di latenza), che rappresenta lintervallo di tempo tra quando una richiesta di I/O è stata inoltrata al momemento in cui è stata soddisfatta l banda passante (o throughput), che rappresenta il numero medio di operazioni di I/O soddisfabili nellunità di tempo
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Prestazioni e generalità generalità l le prestazioni delle CPU raddoppiano ogni 1-2 anni l le capacità delle DRAM raddoppiano ogni 2-3 anni l le capacità degli hard disk raddoppiano ogni 3 anni l le prestazioni dellI/O sono legate a problemi meccanici e migliorano del 10% annuo l le prestazioni generali dei calcolatori aumentano poco per il collo di bottiglia dellI/O
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Modelli di funzionamento modello 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 Modelli di funzionamento modello di coda 2 l per avere un basso tempo di risposta la coda deve essere vuota ed il consumatore deve essere libero l 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 [%]
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Modelli di funzionamento modello di coda 3 Mentre il tempo di risposta non è facilmente migliorabile, la banda passante può essere aumentata duplicando i dispositivi produttore consumatore
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dischi magnetici dischi magnetici 1 l memoria secondaria o di livello inferiore l adibiti alla memorizzazione permanente l grande capacità e relativa lentezza l floppy disk –facilmente traportabili e di costo contenuto l hard disk –più capienti, più veloci, più piatti in parallelo
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dischi magnetici dischi magnetici 2 diametro dei piatti: da 11/4 a 14 capacità: da 1 a 5 GB piatti: da 1 a 8 num. tracce: da 500 a 5000 num. settori: da 17 a 200 capacità settore: tip. 512 byte RPM: da 3600 (tip.) a 7200 tip. velocità angolare costante numero settoredatiCRC gap traccia settore cilindro piatto testina
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dischi magnetici dischi magnetici 3 T A = tempo medio di risposta (access time) T A = T S + T L T S = tempo di spostamento delle testine sopra la traccia desiderata (seek time) 5-20 ms, difficilmente riducibile T L = arrivo del settore sotto la testina (latency time) dipende dalla velocità di rotazione, esempio: RPM=3600 RPS=60 1 rot. 16ms T L =8ms
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dischi magnetici dischi magnetici 4 La banda passante dipende da: l dimensione dellunità minima trasferita (settore o cluster) l velocità di rotazione dei piatti l densità di memorizzazione l dispositivi di cache integrati tipicamente va da 2 a MByte/sec.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dischi magnetici nastri magnetici l usano la stessa tecnologia di memorizzazione l sono di natura sequenziale l lunghezza illimitata e minor throughput l rimovibile l adatta al backup di archivi e/o interi sistemi l tecnologia emergente: Rotating head Digital Audio Tape (R-DAT)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dischi magnetici dischi ottici 1 l rimovibili, eco- nomici e veloci se a sola lettura l preferiti dai pro- duttori perché la riproduzione è ancora costosa CDROMnastro dim.51/48mm capacità0,6 GB5 GB £ supp.3 K50 K £ drive200 K400 K accessoRR/W
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dischi magnetici dischi ottici 2 l si basano su di ununica spirale (dal centro) l la rotazione avviene a velocità angolare costante (nei più recenti ad accelerazione angolare costante) l ogni frame può avere il proprio CRC l possono essere riprodotti dai costruttori, e quindi la produzione di massa è molto economica
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio risoluzioni mappa video di unimmagine (frame) testo: 80 col x 25 rig x 2 attrib. [byte] B/N: 1 bit x pixel 256 col: 8 bit x pixel 16M col: 24 bit x pixel [R + G + B] tubo a raggi catodici risoluzione = M pixel_per_linea x N linee_di_scansione (640 x 480), (800 x 600), (1280 x 1024) alcuni sistemi adottano la trasparenza come quarto colore ( alpha ): A = 0 nessuna immag. A = 1 immagine opaca 0<A<1 vari livelli di trasparenza
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio raster N linee M pixel Limmagine viene riprodotta mediante scansione per righe orizzontali e successiva ritraccia veloce. La scansione televisiva [TV] scompone il frame in due semiquadri interlacciati composti rispettivamente dalle righe dispari e pari. La frequenza dei semi- quadri è di 50 Hz. Per evitare semiquadri diversi conviene partire da immagini distinte per ciascun semiquadro.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio palette o color map l il frame buffer in grafica a 16M colori vale: M pixel_per_linea x N linee x C bit_colore 800 x 600 x 24 = 1,44 MByte (SVGA) 1280 x 1024 x 24 = 3,84 MByte (XVGA) l per ridurlo si ricorre ad una palette di colori palette da 256 colori tra i 16M disponibili frame buffer = 800 x 600 x 8 = 0,48 MByte (XVGA frame buffer=1,28 Mbyte) palette = 256 x 24 = 768 Byte
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio VRAM 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 Video e audio VRAM 2 VRAM (Video RAM) l la colonna della RAM è costituita da M bit l ha due porte di acceso: –laccesso del monitor avviene tramite uno shift register che manipola unintera colonna per volta (alto throughput) –laccesso del calcolatore avviene tradizional- mente (throughput normale)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio VRAM 3 VRAM palette accesso seriale accesso normale Data Bus bandwidth normale <10 MBps monitor XVGA 1280 x M di colori 62 MBps
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio doppio buffer Anche adottando VRAM, laccesso normale della CPU deve essere contenuto, altrimenti loperazione 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 laccesso 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 Video e audio piani 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 Video e audio accelerazione BITBLT La CPU non è in grado di aggiornare un frame intero in 1/50 sec, anche con operazioni elementari. Si può attribuire direttamente allintegrato di visualizzazione una modesta capacità elaborativa e imponendo che il nuovo frame venga ottenuto dal precedente. Loperazione booleana svolta dal BITBLT può essere AND, OR, XOR... BIT BLT raster sorgente raster destinazione raster risultato
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio frequenza di campionamento 1 l è basato su conversioni A/D e D/A l per il teorema di Shannon per riprodurre un segnale di banda B è necessaria una frequenza di campionamento (sample rate) almeno doppia frequenza di campionamento 8 KHz segnale telefonico 16 KHz segnale radio AM 32 KHz segnale radio FM 44.1 KHz audio di livello CD bit per campione 8 buon audio ma suono di qualità scarsa 12 suono discreto 16 suono di qualità CD
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Video e audio frequenza di campionamento 2 Calcoliamo loccupazione di suono di buon livello: l frequenza di campionamento = 44,1 KHz l bit per campione = 16 bit l 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 Dispositivi dingresso tastiera l il layout dei tasti deve essere programmabile per supportare diversi linguaggi e simboli lattribuzione del codice al tasto avviene in due fasi ( tasto scan_code ASCII_code) l il numero di tasti cresce in base alluso (tastie- rino numerico, tasti funzioni, tasti cursore, tasti speciali), sviluppo di tastiere ergonomiche l utilizzano un controllore dedicato e un collegamento seriale a 5 poli 1 clock 3 data 2 ground 4 Vcc 5 reset
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dispositivi dingresso mouse l il mouse è stato inventato come sistema di puntamento più di 30 anni fa, ma si è diffuso solo con lavvento dei sistemi operativi a finestre e delle icone l 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 Dispositivi dingresso mouse meccanico 1 l il movimento del palmo della mano causa la rotazione della pallina posizionata sul fondo l la rotazione della pallina determina la rotazione di due ruote forate che codi- ficano gli spostamenti xy l la risoluzione va da 200 a 600 dpi, statica o dina- mica X Y
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dispositivi dingresso mouse meccanico 2 l 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 l queste quantità rappresentano lo spostamento relativo del puntatore e vengono acquisite periodicamente dalla CPU, che modifica di conseguenza la posizione dellicona sullo schermo l 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 Dispositivi dingresso mouse ottico l dotato di un emettitore-rivelatore ottico e di una superficie di appoggio con griglia di riferimento, sfrutta la riflessione del dispositivo sulla superficie l più costoso di quello mec- canico, ma più accurato e sicuramente più affidabile nel tempo
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Dispositivi dingresso evoluzioni l numero di pulsanti variabile da 1 a 3 l possibilità di più operazioni a livello soft- ware (click, doppio click, drug and drop) ed a livello hardware (IntelliMouse della MicroSoft) l il problema dei mancini l il trackball e il touchpad
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software classificazione Il metodo di gestione dellI/O dipende dal tempo di risposta del dispositivo l I/O lenti rispetto alla CPU l I/O della stessa velocità della CPU l I/O più veloci della CPU l I/O con velocità variabile
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software periferiche molto lente l necessità di bufferizzazione e di rendere asincroni il processo di I/O dalla sua gestione –dimensionamento dei buffer –gestione dellI/O via polling, per dare la precedenza al software –gestione dellI/O via interrupt, per dare la precedenza allevento di I/O
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software periferiche veloci l non richiedono particolari accorgimenti in quanto i tempi di risposta sono confrontabili a quelli della CPU –richiedono un buffer minimo, di qualche transizione, solo per svincolare levento di I/O dalla gestione –possono essere adottate sia la tecnica del polling che quella dellinterrupt, con prestazioni confrontabili
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software periferiche molto veloci l richiedono bufferizzazione e trasferimento diretto tra periferica e memoria –gestione dellI/O via DMA –il controllo del bus non è demandato unicamente alla CPU –necessità di bus molto veloci
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software gestione polling l la CPU ciclicamente interroga la periferica (funzionamento asincrono con registri intermedi di stato e di dati) –la CPU ha il controllo totale dellI/O –la CPU dedica gran parte del suo tempo per il controllo dellI/O, spesso inutile se la periferica è molto più lenta
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software overhead polling F = clock della CPU = 200 MHz NP = numero cicli macchina per un polling = 200 NL = numero letture al secondo = –mouse = 30 –floppy = 50 KB/sec e bus a 16 bit = –hard disk = 4 MB/sec e bus a 32 bit = PO = percentuale di overhead = NL x NP / F [%] mouse = 0,003 % FD = 2,5 % HD = 100 %
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software gestione interrupt 1 l la CPU e lI/O operano indipendentemente, e quando dovono comunicare lI/O richiama lattenzione della CPU emettendo un interrupt –solo lI/O emette interrupt, sia in input che in output –tutte le periferiche fanno capo ad una sola linea, e quindi si creano problemi di riconoscimento dellinterrupt e della loro priorità (PIC controller)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software gestione interrupt 2 –la CPU termina listruzione in corso –la CPU avvia un ciclo di riconoscimento dellinterrupt –la CPU salva nello stack il contesto minimo –la CPU passa il controllo alla routine di interrupt l la routine di interrupt salva il contesto proprio nello stack l svolge loperazione di I/O l 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 Gestione software overhead interrupt F = clock della CPU = 200 MHz NP = numero cicli macchina per un interrupt = 300 = per trasferire un cluster da 512 Byte = 2860 NL = numero interrupt al secondo = –mouse = 30 –floppy = 50 KB/sec 1 cluster = 100 –hard disk = 4 MB/sec cluster = 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 Gestione software gestione DMA 1 l la memoria e lI/O vengono messi in contatto diretto, ed i dati passano senza transitare per la CPU, per mezzo di un bus controller dedicato –solo per periferiche molto veloci e in grado di trasferire blocchi consistenti di dati
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software gestione DMA 2 l la CPU inizializza il DMA fornendo il numero di dati da trasferire, lindirizzo della prima cella di memoria interesssata, lindirizzo della periferica interessata l 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 l la CPU riprende le normali operazioni
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Gestione software overhead DMA F = clock della CPU = 200 MHz NP = cicli macchina per inizializzare il DMA = 800 per trasferire un cluster da 512 Byte = 1024 NL = numero transfer DMA al secondo = –floppy = 50 KB/sec 1 cluster = 100 –hard disk = 4 MB/sec cluster = 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 Bus standard generalità l linee condivise che permettono lo scambio parallelo di informazioni tra dispositivi diversi l ad un costo contenuto assicurano una facile espandibilità e intercambiabilità tra sistemi analoghi l 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 Bus standard composizione Il bus è generalmente composto da l linee per il trasferimento delle informazioni Õ dati, indirizzi, comandi codificati l linee per il controllo del trasferimento dei dati Õ di handshake, di direzione, di lunghezza,di tipo,... l linee di utilità di sistema Õ clock, power down, reset, interrupt, bus request,...
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard modalità di trasferimento 1 Il trasferimento dati richiede due fasi l invio dellindirizzo (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 l modalità sincrona (tutti alla stessa velocità) l modalità asincrona (velocità diversificate)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard modalità di trasferimento 2 l bus asincroni –più flessibile ed in grado di soddisfare dispo- sitivi con throughput molto diversi –si adegua alle evoluzioni tecnologiche dellI/O –i protocolli di gestione sono più complessi, introducono più overhead, e sono più lenti l bus sincroni –la rigidità di un unico clock impedisce upgrade throughput I/O diversi bus asincroni bus sincroni
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard larghezza di banda La larghezza di banda di un bus dipende da: l la dimensione della parola trasferita in un unico ciclo l ladozione di tecniche di multiplazione tra dati e/o indirizzi per ridurre il numero totale di linee fisiche l la capacità di trasferire blocchi di dati caratte- rizzati dallindirizzo iniziale e dalla lunghezza
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard tipi di bus 1 In unarchitettura tipica troviamo tre tipi di bus: l 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 l bus esterno per linterfacciamento 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 Bus standard tipi di bus 2 l 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 Bus standard architetture a più bus CPU memoria bus adapter I/O memory bus I/O bus es. PCI bus+ EISA bus CPU memoria bus adapter B.A. I/O es. SCSI contr.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard soluzione tipica CPU cachememoria bus adapter I/O bus di memoria sincrono bus di I/O asincrono
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard modalità di accesso l lo scambio avviene sempre in modalità master-slave l larchitettura più semplice prevede un solo master, la CPU l 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 Bus standard PCI l bus di tipo backplane basato su connessioni a scheda l ampiezza di parola: 32 (64 nella versione 2) l indirizzi e dati vengono multiplati l più master ad arbitraggio centralizzato l trasferimenti sincroni a 33 MHz (o 66MHz) l larghezza di banda teorica: 111 MB/sec l lunghezza massima 0,5 m l al massimo 32 dispositivi l numero linee: 124 (o 188)
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard SCSI l bus di tipo I/O basato su connessioni a cavo l ampiezza di parola: (wide SCSI) l indirizzi e dati vengono multiplati l più master ad arbitraggio distribuito l trasferimenti sincroni a 5 MHz (o asincroni fino a 10MHz in fast SCSI) l larghezza di banda teorica: MB/sec l lunghezza massima 25 m l numero linee: 50
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard VME l bus di tipo backplane su connessioni a scheda l ampiezza di parola: l indirizzi e dati vengono multiplati l più master ad arbitraggio daisy chain l trasferimenti asincroni l larghezza di banda teorica: MB/sec l lunghezza massima 0,5 m l numero massimo di dispositivi: 21 l numero linee: 128
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard IDE l bus di tipo I/O su connessioni a scheda l ampiezza di parola: 16 l indirizzi e dati non multiplati l master singolo l trasferimenti asincroni l larghezza di banda teorica: MB/sec l lunghezza massima 18 (circa 0,5 m) l numero massimo di dispositivi: 2 l numero linee: 40
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard ISA-16 l bus di tipo I/O su connessioni a scheda l ampiezza di parola: 16 l indirizzi e dati non multiplati l master singolo l trasferimenti sincroni a 8,33 MHz l larghezza di banda teorica: 20 MB/sec l lunghezza massima 18 (circa 0,5 m) l numero linee: 98
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard EISA l bus di tipo I/O su connessioni a scheda l ampiezza di parola: l indirizzi e dati non multiplati l master singolo l trasferimenti sincroni a 8,33 MHz l larghezza di banda teorica: 33 MB/sec l lunghezza massima 18 (circa 0,5 m) l numero linee: 98 / 100
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo Bus standard VESA l bus di tipo I/O su connessioni a scheda l ampiezza di parola: 32 l indirizzi e dati non multiplati l più master ad arbitraggio centralizzato l trasferimenti asincroni l larghezza di banda teorica: 25 MB/sec l lunghezza massima 18 (circa 0,5 m) l numero linee: 116