Sezione |
Indirizzi Base
Registri Interni
|
Indirizzi Base |
Dentro il Sistema |
PORTA SERIALE [6 di 8] |
Di solito sulla scheda madre sono presenti 2 porte seriali, ma con poca spesa è possibile acquistare delle schede di espansione da inserire sugli slot liberi del computer. |
Il Sistema Operativo e i nostri programmi sono sempre in grado di conoscere il numero di porta seriali presenti nel sistema, consultando le variabili di sistema caricate dal BIOS nelle fasi preliminari che seguono l'accensione del computer. |
Non appena il nostro
computer viene acceso il
processore è obbligato a saltare
alla locazione FFFF0H
posto nella memoria BIOS
ospitata dalla scheda madre; da questo indirizzo mette in esecuzione
la
procedura di POST (Power-On-Self-Test).
Il compito di questa procedura è quello di verificare lo stato del
computer, ispezionando con meticolosità ogni dispositivo disponibile (tra
cui le eventuali porte seriali) e annotando tutto in una zona
RAM riservata di grande importanza, detta
Area di Comunicazione BIOS,
di solito allocata nelle prime 260 (circa) locazioni della Ram
convenzionale, certamente a
partire dall'indirizzo 00400H . Tra l'altro la procedura POST provvede a scrivere il valore 1234H nella locazione 00472H (detta Reset State Flag) per evitare di ripetere l'indagine in caso di ripartenza a caldo (warm boot), cioè dopo un reset software prodotto dalla pressione simultanea dei tasti Ctrl-Alt-Del |
Naturalmente non c'è niente di magico: la procedura POST riconosce la presenza dei circuiti di una porta seriale semplicemente cercando di scrivere nei suoi Registri; è quindi necessario conoscere l'indirizzo di I/O di ciascuna di esse. |
Il Sistema riserva, per le porte seriali,
4 intervalli di 8 indirizzi
di I/O ciascuno:
|
|
La procedura POST verifica la presenza delle porte seriali applicando in stretta sequenza i 4 intervalli di indirizzi di I/O della tabella; al primo gruppo trovato viene associato il numero 0, al secondo il numero 1, e così via. | |
La prova consiste nello scrivere il byte 0AAH nel primo indirizzo di ciascuna serie, leggendolo di ritorno dal medesimo indirizzo; naturalmente solo se il dato ricevuto è ancora 0AAH la porta è presente nel sistema. | |
Da notare che la particolare scelta rende minime le probabilità d'errore: 0AAH è infatti 10101010 in binario, una alternanza di bit altamente improbabile. |
|
In seguito il DOS riconosce la porta 0 come COM1, la 1 come COM2, e così via... |
Oggi la porta seriale è, di norma, integrata nella scheda madre; poiché di solito sono ne presenti almeno 2, l'indagine sul primo gruppo di indirizzi (03F8H ÷ 03FFH) darà certamente esito positivo e sarà associato alla porta 0 (per il BIOS) o COM1 (per il DOS). |
|
In conclusione possiamo ritenere che l'indirizzo Base (il primo della serie) sia 03F8H per la porta0 (COM1), 02F8H per la porta1 (COM2), 03E8H per la porta2 (COM3) e 02E8H per la porta3 (COM4). |
|
Per un dettaglio maggiore puoi cliccare sul link dei Registri Interni della Porta Seriale. |
|
Indirizzi Base | PORTA SERIALE | |||||||
6 di 8 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|