La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo 196 4 La gestione dellI/O...

59
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

Transcript of La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo 196 4 La gestione dellI/O...

Page 1: 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.

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

Page 2: 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.

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

Page 3: 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.

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

Page 4: 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.

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

Page 5: 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.

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

Page 6: 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.

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

Page 7: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

7

4.2 Dischi magnetici4.2 Dischi magneticidischi magnetici 1dischi 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

Page 8: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

8

4.2 Dischi magnetici 4.2 Dischi magnetici dischi magnetici 2dischi magnetici 2

diametro dei piatti: da 1”1/4 a 14”capacità: da 1 a 5 GBpiatti: da 1 a 8

num. tracce: da 500 a 5000num. settori: da 17 a 200capacità settore: tip. 512 byteRPM: da 3600 (tip.) a 7200tip. velocità angolare costante

numero settore dati CRC

gap

traccia

settore

cilindro

piattotestina

Page 9: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

9

4.2 Dischi magnetici 4.2 Dischi magnetici dischi magnetici 3dischi 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

Page 10: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

10

4.2 Dischi magnetici 4.2 Dischi magnetici dischi magnetici 4dischi 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 integratitipicamente va da 2 a 15-40 MByte/sec.

Page 11: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

11

4.2 Dischi magnetici 4.2 Dischi magnetici nastri magneticinastri 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)

Page 12: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

12

4.2 Dischi magnetici 4.2 Dischi magnetici dischi ottici 1dischi 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

Page 13: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

13

4.2 Dischi magnetici 4.2 Dischi magnetici dischi ottici 2dischi 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

Page 14: 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.

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

Page 15: 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.

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.

Page 16: 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.

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

(XVGA frame buffer=1,28 Mbyte)palette = 256 x 24 = 768 Byte

Page 17: 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.

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 !

Page 18: 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.

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)

Page 19: 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.

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

Page 20: 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.

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.

Page 21: 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.

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.

Page 22: 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.

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

Page 23: 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.

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

Page 24: 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.

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)

Page 25: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

25

4.4 Dispositivi d’ingresso 4.4 Dispositivi d’ingresso tastieratastiera

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 controllorededicato e un collegamentoseriale a 5 poli

1 clock 3 data2 ground 4 Vcc5 reset

1

2

34

5

Page 26: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

26

4.4 Dispositivi d’ingresso 4.4 Dispositivi d’ingresso mouse 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

Page 27: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

27

4.4 Dispositivi d’ingresso 4.4 Dispositivi d’ingresso mouse meccanico 1mouse meccanico 1

il movimento del palmo della mano causa la rotazione della pallina posizionata sul fondo

la rotazione della pallinadetermina la rotazione didue ruote forate che codi-ficano gli spostamenti xy

la risoluzione va da 200a 600 dpi, statica o dina-mica

X

Y

Page 28: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

28

4.4 Dispositivi d’ingresso 4.4 Dispositivi d’ingresso mouse meccanico 2mouse 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

Page 29: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

29

4.4 Dispositivi d’ingresso 4.4 Dispositivi d’ingresso mouse otticomouse 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 esicuramente più affidabilenel tempo

Page 30: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

30

4.4 Dispositivi d’ingresso 4.4 Dispositivi d’ingresso evoluzionievoluzioni

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

Page 31: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

31

4.5 Gestione software4.5 Gestione softwareclassificazioneclassificazione

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

Page 32: 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.

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

Page 33: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

33

4.5 Gestione software4.5 Gestione softwareperiferiche velociperiferiche 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

Page 34: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

34

4.5 Gestione software4.5 Gestione softwareperiferiche molto velociperiferiche 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

Page 35: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

35

4.5 Gestione software4.5 Gestione softwaregestione pollinggestione 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

Page 36: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

36

4.5 Gestione software4.5 Gestione softwareoverhead pollingoverhead polling

F = clock della CPU = 200 MHzNP = numero cicli macchina per un polling = 200NL = 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 %

Page 37: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

37

4.5 Gestione software4.5 Gestione softwaregestione interrupt 1gestione 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)

Page 38: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

38

4.5 Gestione software4.5 Gestione softwaregestione interrupt 2gestione 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

Page 39: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

39

4.5 Gestione software4.5 Gestione softwareoverhead interruptoverhead interrupt

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 %

Page 40: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

40

4.5 Gestione software4.5 Gestione softwaregestione DMA 1gestione 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

Page 41: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

41

4.5 Gestione software4.5 Gestione softwaregestione DMA 2gestione 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

Page 42: 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.

La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo

42

4.5 Gestione software4.5 Gestione softwareoverhead DMAoverhead DMA

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 %

Page 43: 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.

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

Page 44: 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.

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, ...

Page 45: 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.

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)

Page 46: 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.

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

Page 47: 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.

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

Page 48: 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.

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

Page 49: 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.

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

Page 50: 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.

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.

Page 51: 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.

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

Page 52: 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.

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

Page 53: 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.

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)

Page 54: 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.

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

Page 55: 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.

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

Page 56: 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.

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

Page 57: 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.

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

Page 58: 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.

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

Page 59: 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.

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