Torna alla pagina di Sistemi Operativi
:: Appunti caotici ::
Lezione 4
Connessione delle periferiche
Pag 1
Sommario
...
Pag 2
Canale di comunicazione
Sistema di elaborazione e periferiche sono collegate da un canale di comunicazione, composto dal mezzo trasmissivo (cavo fisico, etere, ...) e dai due gestori delegati alla comunicazione, uno per dispositivo.
La CPU comunica con la periferica tramite un'interfaccia interna alla macchina, composta da due parti:
- una per la comunicazione con il processore (ordini e/o dati)
- una per la gestione della comunicazione con la periferica
Con l'utilizzo dell'interfaccia diventa possibile astrarre la gestione indipendentemente dalle periferiche utilizzate e dai loro standard e tecnologie (in continua evoluzione).
Il secondo gestore che compone il canale di comunicazione si trova sulla periferica, che difatti è composta da:
- una parte per la gestione fisica delle attività interne alla periferica
- una per la comunicazione con il processore
Interfaccia nell'unità centrale
In tale interfaccia sono utilizzati tre registri, gestiti da un'elettronica che riceve ed esegue i comandi inviati dal processore.
Come prima cosa il processore verifica in quale stato si trova la periferica, se occupata, se pronta ad eseguire comandi, se li ha svolti con successo, con errori, se non funziona, ... tutte informazioni rappresentate con valori definiti dagli standard di comunicazione e riportati nel registro di stato. Se questo valore rappresenta per lui una risposta sensata, provvede ad inviare un comando all'elettronica che gestisce i registri della periferica.
I nomi dati al registro comandi e al registro dati possono trarre in inganno: nel registro comandi non vanno i comandi diretti alla periferica (es. stampa, connettiti, vibra, ..), ma quelli diretti all'elettronica che gestisce i registri dell'interfaccia! I comandi veri e propri per la periferica sono passati nel registro dati.
Quindi nel registro dati vengono scritti sia gli ordini per la periferica, sia eventuali dati provenienti o diretti ad essa; mentre è col registro comandi che rendo possibile le esecuzioni e gli scambi.
Pag 3
Controllo dell'interfaccia nell'unità centrale (1)
Può avvenire per attesa attiva, ovvero il processore legge il registro di stato con un ciclo continuo, finché il valore in esso contenuto non segnala il completamento dell'operazione richiesta (o qualsiasi altro evento il processore stava aspettando).
Durante lo stato d'attesa, il processore non fa nulla.
Controllo dell'interfaccia nell'unità centrale (2)
Se avviene invece attraverso l'utilizzo di interruzioni, il processore una volta dato l'ordine alla periferica (tramite interfaccia) torna a farsi i cazzacci suoi. Completata l'operazione, l'elettronica di gestione della periferica cambierà opportunamente il valore nel registro di stato ed invierà un interrupt alla CPU.
Il processore sa associare ad ogni interrupt l'interfaccia della periferica che gliel'ha mandata, così da poter gestire la comunicazione col dispositivo corretto.
Pag 4
Trasferimento dati
Quando la mole di dati da trasferire dalla periferica alla CPU (e viceversa) è consistente, spostarla per parole di memoria può essere lento e svantaggioso; molto meglio trasferire per blocchi, ovvero sequenze più o meno estese di parole. Tale operazione è resa possibile da dispositivi DMA (Direct Memory Access) che, una volta dato il comando dal processore, non hanno più bisogno del suo intervento per scambiare dati con la periferica.
Periferica mappata in memoria
Altro sistema per consentire la trasmissione di un flusso più o meno continuo di dati è associare l'indirizzo della periferica ad alcuni indirizzi della memoria centrale. La comunicazione avviene così in modo più rapido e semplice, dal momento che il processore tratterà l'operazione come un comune accesso alla memoria.
Questa strategia viene ad esempio utilizzata con le periferiche video.
Pag 5
Gestione del canale di comunicazione
Cose già dette.
Il canale di trasmissione funge solo da trasportatore. Il controllo avviene a bordo della periferica.
"Benvenuti a bordo della periferica, qui è il comandante che vi parla. Prego, inserire floppino"
Gestione della periferica
Il controllo del dispositivo fisico dipende ovviamente dalla periferica. Può essere quindi composto da pochi circuiti o da strutture incredibilmente complesse (basti pensare che alcune stampanti montano processori estremamente raffinati, se non addirittura uno per colore).
Se dal canale di trasmissione giungono comandi leciti allora la periferica li esegue, altrimenti restituisce un errore.
Torna alla pagina di Sistemi Operativi