Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Registri Interni

Home » Programma il Computer » Tutorial Assembly

Tutorial Assembly - Registri

  Messa a Punto - SERIALE

RICONOSCIMENTO INTERRUPT 2/4 [15 di 46] 

               

***** 03FAH / 02FAH / 03EAH / 02EAH - IN - Registro di Riconoscimento Interruzioni [2 di 4]

               

bulletCome anticipato sono 2 le zone significative della tabella; quella comune a tutti le versioni di UART (i 3 bit meno significativi, l'unica presente nelle prime versioni 8250/16450) aiuta a documentare la presenza di potenziali richieste di interruzione.
bulletPoichè gli eventi che le possono generare sono 4 e poichè la richiesta può pervenire contemporaneamente anche da più di una, è prevista una codifica che associa loro una priorità, cioè un numero che stabilisce quale di esse sarà servita per prima.
bullet Interrupt Pending: se il bit0 è 0 significa che un'interruzione è pendente, cioè uno o più eventi hanno indotto l'UART ha generare una richiesta che non è stata ancora stata servita (o servita del tutto) dal processore (per sapere quale evento è attualmente sottoposto all'attenzione della CPU basta interpretare i 2 bit successivi); questo bit può essere interrogato (polling) da software per scoprire se tutte le potenziali richieste sono state soddisfatte
bullet Interrupt ID: il compito di stabilire quale dei possibili 4 eventi è in attesa di essere servito è affidato ai bit2/bit1: è prevista una codifica per ciascuno di essi che consente anche di dirimere l'ordine con cui dovranno essere serviti, nel caso di 2 o più richieste contemporanee: la coppia di bit presente di volta in volta nel registro è quella dell'evento a più alta priorità e, dopo il suo completo servizio, sarà sostituita (dall'UART) con quella dell'evento con la successiva più alta prioritaria. Ecco le codifiche, in dettaglio:
bullet bit2/bit1 = 11: durante la ricezione di dati è stata rilevata la presenza di errori (di sovrapposizionedi parità o di composizione) o la presenza di un segnale di break; l'UART ha generato una richiesta di Receiver Line Status Interrupt, di priorità massima (prima), ed è in attesa di essere servito; la lettura del Registro di Stato della Linea [port_D] resetta questa segnalazione
bullet bit2/bit1 = 10: il numero di bytes ricevuti ha superato quello massimo (trigger  level) previsto per il FIFO in Ricezione oppure il FIFO contiene bytes in misura inferiore al massimo ma il tempo concesso a nuovi arrivi è terminato (timeout) oppure nel Receive Buffer Register è pronto un singolo dato; l'UART ha generato una richiesta di Received Data Available Interrupt, di seconda priorità, ed è in attesa di essere servito; la lettura del Registro di Ricezione Dati [port_8] resetta questa segnalazione
bullet bit2/bit1 = 01: il Transmit Holding Register è vuoto (con UART 8250/16450 o con UART 16550A, se il FIFO in Trasmissione è disabilitato) oppure il FIFO ha posti liberi per uno o più bytes; l'UART ha generato una richiesta di Transmit Holding Register Empty Interrupt, di terza priorità, ed è in attesa di essere servito; la scrittura del Registro di Trasmissione Dati [port_8] resetta questa segnalazione
bullet bit2/bit1 = 00: durante la comunicazione con il Modem è stata rilevata la variazione dei segnali in arrivo, direzione DCE>DTE, come Data Carrier Detect (CD, rilevato modem remoto/possibile comunicare), Ring Indicator (RI, ricevuto segnale acustico sul canale), Data Set Ready (DSR, DCE connesso e pronto a comunicare) e Clear To Send (CTS, DCE Pronto a ricevere); l'UART ha generato una richiesta di Modem Status Interrupt, di priorità più bassa (quarta), ed è in attesa di essere servito; la lettura del il Registro di Stato del Modem [port_E] resetta questa segnalazione

    

Pagina Precedente Registri Pagina Successiva RICONOSCIMENTO INTERRUPT 2/4   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
15 di 46
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

    

Registri Interni » Porta Seriale | Porta Parallela | Stampanti
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati