1 / 59

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. 4 Prestazioni e generalità prestazioni. Le prestazioni dell’I/O si misurano con:

terah
Download Presentation

4 La gestione dell’I/O

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Architettura degli elaboratori 1 - A. Memo

  2. 4 Prestazioni e generalitàprestazioni 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 Architettura degli elaboratori 1 - A. Memo

  3. 4 Prestazioni e 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 Architettura degli elaboratori 1 - A. Memo

  4. 4.1 Modelli di funzionamentomodello 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à. coda produttore consumatore Architettura degli elaboratori 1 - A. Memo

  5. 4.1 Modelli di funzionamento modello 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] 300 200 100 0 0 50 100 banda passante [%] Architettura degli elaboratori 1 - A. Memo

  6. 4.1 Modelli di funzionamento modello di coda 3 Mentre il tempo di risposta non è facilmente migliorabile, la banda passante può essere aumentata duplicando i dispositivi consumatore produttore consumatore Architettura degli elaboratori 1 - A. Memo

  7. 4.2 Dischi magneticidischi magnetici 1 • memoria secondaria o di livello inferiore • adibiti alla memorizzazione permanente • grande capacità e relativa lentezza • floppy disk • facilmente traportabili e di costo contenuto • hard disk • più capienti, più veloci, più piatti in parallelo Architettura degli elaboratori 1 - A. Memo

  8. traccia settore gap cilindro piatto testina numero settore dati CRC 4.2 Dischi magnetici dischi magnetici 2 diametro dei piatti: da 1”1/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 Architettura degli elaboratori 1 - A. Memo

  9. 4.2 Dischi magnetici dischi magnetici 3 TA = tempo medio di risposta (access time) TA = TS + TL TS = tempo di spostamento delle testine sopra la traccia desiderata (seek time) 5-20 ms, difficilmente riducibile TL = arrivo del settore sotto la testina (latency time) dipende dalla velocità di rotazione, esempio: RPM=3600 Þ RPS=60 Þ 1 rot. »16ms Þ TL=8ms Architettura degli elaboratori 1 - A. Memo

  10. 4.2 Dischi magnetici dischi magnetici 4 • La banda passante dipende da: • dimensione dell’unità minima trasferita (settore o cluster) • velocità di rotazione dei piatti • densità di memorizzazione • dispositivi di cache integrati • tipicamente va da 2 a 15-40 MByte/sec. Architettura degli elaboratori 1 - A. Memo

  11. 4.2 Dischi magnetici nastri magnetici • 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) Architettura degli elaboratori 1 - A. Memo

  12. 4.2 Dischi magnetici dischi ottici 1 • rimovibili, eco-nomici e veloci se a sola lettura • preferiti dai pro-duttori perché la riproduzione è ancora costosa CDROM nastro dim. 5”1/4 8mm capacità 0,6 GB 5 GB £ supp. 3 K 50 K £ drive 200 K 400 K accesso R R/W Architettura degli elaboratori 1 - A. Memo

  13. 4.2 Dischi magnetici dischi ottici 2 • 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 Architettura degli elaboratori 1 - A. Memo

  14. 4.3 Video e audio risoluzioni tubo a raggi catodici risoluzione = M pixel_per_lineax N linee_di_scansione (640 x 480), (800 x 600), (1280 x 1024) mappa video di un’immagine (frame) testo: 80 colx 25 rigx 2 attrib. [byte] B/N: 1 bit x pixel 256 col: 8 bit x pixel 16M col: 24 bit x pixel [R + G + B] alcuni sistemi adottano la trasparenza come quarto colore (alpha): A = 0 nessuna immag. A = 1 immagine opaca 0<A<1 Þvari livelli di trasparenza Architettura degli elaboratori 1 - A. Memo

  15. 4.3 Video e audio raster L’immagine 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. N linee M pixel Architettura degli elaboratori 1 - A. Memo

  16. 4.3 Video e audio palette o color map • il frame buffer in grafica a 16M colori vale: M pixel_per_lineax N lineex C bit_colore 800 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 disponibili frame buffer = 800 x 600 x 8 = 0,48 MByte (XVGA frame buffer=1,28 Mbyte) palette = 256 x 24 = 768 Byte Architettura degli elaboratori 1 - A. Memo

  17. 4.3 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 ! Architettura degli elaboratori 1 - A. Memo

  18. 4.3 Video e audio VRAM 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) Architettura degli elaboratori 1 - A. Memo

  19. 4.3 Video e audio VRAM 3 bandwidth normale <10 MBps 62 MBps palette VRAM accesso seriale accesso normale Data Bus monitor XVGA 1280 x 1024 16M di colori Architettura degli elaboratori 1 - A. Memo

  20. 4.3 Video e audio doppio 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. Architettura degli elaboratori 1 - A. Memo

  21. 4.3 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. Architettura degli elaboratori 1 - A. Memo

  22. 4.3 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 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... raster sorgente BIT BLT raster risultato raster destinazione Architettura degli elaboratori 1 - A. Memo

  23. 4.3 Video e audiofrequenza 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 bit per campione 8 buon audio ma suono di qualità scarsa 12 suono discreto 16 suono di qualità CD frequenza di campionamento 8 KHz segnale telefonico 16 KHz segnale radio AM 32 KHz segnale radio FM 44.1 KHz audio di livello CD Architettura degli elaboratori 1 - A. Memo

  24. 4.3 Video e audiofrequenza 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) Architettura degli elaboratori 1 - A. Memo

  25. 4.4 Dispositivi d’ingresso tastiera • il layout dei tasti deve essere programmabile per supportare diversi linguaggi e simboli • l’attribuzione del codice al tasto avviene in due fasi ( tastoÞscan_codeÞASCII_code) • il numero di tasti cresce in base all’uso (tastie-rino numerico, tasti funzioni, tasti cursore, tasti speciali), sviluppo di tastiere ergonomiche • utilizzano un controllore dedicato e un collegamento seriale a 5 poli 5 1 1 clock 3 data 2 ground 4 Vcc 5 reset 2 4 3 Architettura degli elaboratori 1 - A. Memo

  26. 4.4 Dispositivi d’ingresso mouse • 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 Architettura degli elaboratori 1 - A. Memo

  27. Y X 4.4 Dispositivi d’ingresso mouse meccanico 1 • il movimento del palmo della mano causa la rotazione della pallina posizionata sul fondo • la rotazione della pallina determina la rotazione di due ruote forate che codi- ficano gli spostamenti xy • la risoluzione va da 200 a 600 dpi, statica o dina- mica Architettura degli elaboratori 1 - A. Memo

  28. 4.4 Dispositivi d’ingresso mouse meccanico 2 • 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 Architettura degli elaboratori 1 - A. Memo

  29. 4.4 Dispositivi d’ingresso mouse ottico • 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 e sicuramente più affidabile nel tempo Architettura degli elaboratori 1 - A. Memo

  30. 4.4 Dispositivi d’ingresso evoluzioni • numero di pulsanti variabile da 1 a 3 • possibilità di più operazioni a livello soft-ware (click, doppio click, drug and drop) ed a livello hardware (IntelliMouse della MicroSoft) • il problema dei mancini • il trackball e il touchpad Architettura degli elaboratori 1 - A. Memo

  31. 4.5 Gestione softwareclassificazione 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 Architettura degli elaboratori 1 - A. Memo

  32. 4.5 Gestione softwareperiferiche 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 Architettura degli elaboratori 1 - A. Memo

  33. 4.5 Gestione softwareperiferiche veloci • 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 l’evento di I/O dalla gestione • possono essere adottate sia la tecnica del polling che quella dell’interrupt, con prestazioni confrontabili Architettura degli elaboratori 1 - A. Memo

  34. 4.5 Gestione softwareperiferiche molto veloci • richiedono bufferizzazione e trasferimento diretto tra periferica e memoria • gestione dell’I/O via DMA • il controllo del bus non è demandato unicamente alla CPU • necessità di bus molto veloci Architettura degli elaboratori 1 - A. Memo

  35. 4.5 Gestione softwaregestione polling • 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 Architettura degli elaboratori 1 - A. Memo

  36. 4.5 Gestione softwareoverhead 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 = 25.000 • hard disk = 4 MB/sec e bus a 32 bit = 1.000.000 • PO = percentuale di overhead = NL x NP / F [%] • mouse = 0,003 % FD = 2,5 % HD = 100 % Architettura degli elaboratori 1 - A. Memo

  37. 4.5 Gestione softwaregestione interrupt 1 • la CPU e l’I/O operano indipendentemente, e quando dovono comunicare l’I/O richiama l’attenzione della CPU emettendo un interrupt • solo l’I/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 dell’interrupt e della loro priorità (PIC controller) Architettura degli elaboratori 1 - A. Memo

  38. 4.5 Gestione softwaregestione interrupt 2 • 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 Architettura degli elaboratori 1 - A. Memo

  39. 4.5 Gestione softwareoverhead 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 ¸ 1 cluster = 8.000 • PO = percentuale di overhead = NL x NP / F [%] • mouse = 0,004 % FD = 0,1 % HD = 9 % Architettura degli elaboratori 1 - A. Memo

  40. 4.5 Gestione softwaregestione DMA 1 • la memoria e l’I/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 Architettura degli elaboratori 1 - A. Memo

  41. 4.5 Gestione softwaregestione DMA 2 • 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 Architettura degli elaboratori 1 - A. Memo

  42. 4.5 Gestione softwareoverhead 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 ¸ 4 cluster = 1.000 • PO = percentuale di overhead = NL x NP / F [%] • FloppyDisk = 0,09 % HardDisk = 0,9 % Architettura degli elaboratori 1 - A. Memo

  43. 4.6 Bus standardgeneralità • 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 Architettura degli elaboratori 1 - A. Memo

  44. 4.6 Bus standardcomposizione 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, ... Architettura degli elaboratori 1 - A. Memo

  45. 4.6 Bus standardmodalità 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) Architettura degli elaboratori 1 - A. Memo

  46. throughput bus asincroni + bus sincroni - I/O diversi - + 4.6 Bus standardmodalità 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 unico clock impedisce upgrade Architettura degli elaboratori 1 - A. Memo

  47. 4.6 Bus standardlarghezza 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 Architettura degli elaboratori 1 - A. Memo

  48. 4.6 Bus standardtipi 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 Architettura degli elaboratori 1 - A. Memo

  49. 4.6 Bus standardtipi 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 Architettura degli elaboratori 1 - A. Memo

  50. CPU memory bus I/O bus memoria bus adapter I/O I/O es. PCI bus+ EISA bus CPU es. SCSI contr. memoria bus adapter B.A. B.A. I/O I/O I/O I/O 4.6 Bus standardarchitetture a più bus Architettura degli elaboratori 1 - A. Memo

More Related