Per quanto riguarda le porte di I/O o I/O addresses, esse sono delle locazioni di memoria univoche riservate alla comunicazione tra la CPU e lo specifico dispositivo hardware. Esso sono associate ad un dispositivo, e non sono normalmente condivise con altri dispositivi. 

In un sistema GNU/Linux le porte di I/O possono essere quelle presenti nella seguente tabella.

Dispositivo Linux Nome porta IRQ I/O Addresses
/dev/ttyS0 COM1 4 0x03f8
/dev/ttyS1 COM2 3 0x02f8
/dev/ttyS2 COM3 4 0x03e8
/dev/ttyS3 COM4 3 0x2e8
/dev/lp0 LPT1 7 0x0378-0x037f
/dev/lp1 LPT2 5 0x0278-0x027f
/dev/fd0 A: 6 0x03f0-0x03f7
/dev/fd1 B: 6 0x0370-0x0377
TABELLA D.
(Porte di I/O di un sistema GNU/Linux).

E come per gli IRQ, ora vi proponiamo un esempio di lettura del file ioports di un sistema recente.

Lettura del file ioports
Figura 2.
(Visualizzazione del file ioports).

Leggendo la figura due si osserva che alla keyboard sono assegnate le locazioni di memoria 0060 e 0064, mentre per la scheda video le locazioni di memoria assegnate sono le seguenti: dall'I/O Addresses 03c0 al I/O Addresses 03df.

L'ultimo concetto chiave è il DMA Address che consiste in un metodo alternativo di comunicazione con le porte I/O. Qualche volta invece di occupare la CPU durante il trasferimento dati da un dispositivo alla memoria, si utilizza il metodo DMA (Direct Memory Addressing) che consente di trasferire dei dati direttamente senza l'attenzione della CPU. 

Il DMA ha quindi il compito di gestire i dati passanti nel bus senza coinvolgere la CPU; In modo tale la CPU rimane "scarica"  e continua a elaborare i propri dati. In pratica, un processore dedicato all'I/O gestisce il controllo dell'operazione di I/O. Quando il trasferimento dati è finito il controllore del dispositivo I/O effettua un interrupt verso la CPU forzandola a spospendere il programma in corso e iniziare una procedura speciale chiamata interrupt handler. 

Le architettura x86 supportano il DMA implementando dei canali DMA che vengono utilizzati ciascuno da un particolare dispositivo. 

Come per gli altri concetti già descritti utilizziamo la seguente figura come esempio di lettura del file dma contenuto sempre all'interno della directory proc. 

visualizzazione comando cat dma
Figura 3.
(Visualizzazione comando cat dma).

Il risultato del comando cat dma visualizzato nella precedente immagine indica che i canali 2 e 4  sono in uso. Come per gli IRQ e per le I/O ports i canali DMA non sono generalmente condivisi.

CONCLUSIONI.

Bene, la prima parte dell'articolo la certificazione GNU/Linux LPIC-1 è terminata. Abbiamo visto com'è organizzata la certificazione e introdotto la prima parte del primo obiettivo del primo TOPIC dell'esame 101. Nella prossima parte proseguiremo con un approffondimento dell'Universal Serial Bus (USB) e su come ottenere ulteriori informazioni sul proprio sistema hardware. Inoltre, sempre nel forum nella sezione download troverete la versione in pdf di questo articolo. Per integrazioni o correzzioni inviare un e-mail a webmaster@megaoverclock.it.


Menu Sezione/Pagina Precedente/Torna alla Homepage


Sito:www.megaoverclock.it