Tastiera
Porta Seriale Porta Parallela Stampanti Timer di Sistema
 Home

  Tecniche di Interruzione

Vai al menu - Tecniche d'Interruzione

  Stampanti

TECNICHE D'INTERRUZIONE [9 di 9] 

 

bulletL'ultimo aspetto della programmazione di una stampante è estremamente raro: la sua gestione su richiesta di interruzione.
bulletDi solito il processore gestisce la stampante in polling (cioè la interroga un suo segnale per sapere qual è il momento di fornirle dati); per queste operazioni la stampante spedisce al processore il segnale di busy (occupata) quando "ha fatto il pieno" di dati.
bulletIl veloce processore impiega meno di un millisecondo a fornire i dati (anche decine di migliaia) alla stampante; quando questa non ne può più... (busy) il povero processore è costretto ad aspettare anche qualche secondo prima che la lenta stampante si renda di nuovo disponibile a ricevere dati.
bulletQuesto è il difetto della tecnica dell'interrogazione (polling): il processore è obbligato a numerosi tempi morti, molto maggiori degli effettivi brevi istanti dedicati al trasferimento dei dati.

 

bulletLa stampante è autorizzata ad interrompere il processore solo se il bit4 (Enable INT) del Registro di Controllo (037AH/027AH) è stato programmato a 1; altrimenti le richieste di interruzione da parte della stampante sono disabilitate.
bulletIl sistema riserva alle stampanti 2 livelli di interruzione; di solito alla stampante principale (quella con indirizzi base 0378H/03BCH) è riservata la IRQ7 mentre per la eventuale stampante secondaria  (con indirizzi base 0278H) è riservata la IRQ5.
bulletSe l'interruzione è abilitata e la richiesta è arrivata da IRQ7 la CPU fa partire la procedura di servizio INT 0FH; da notare che normalmente il vettore di questa procedura punta una locazione contenente un IRET; cioè non è prevista una procedura di default per il servizio delle interruzioni . 
bulletSe l'interruzione è abilitata e la richiesta è arrivata da IRQ5 la CPU fa partire la procedura di servizio INT 0DH.
bulletNonostante la soluzione offerta da questa tecnica sembri l'uovo di Colombo, in nessun caso si è mai visto un software di gestione (driver) per stampante basato su tecniche di interruzione; la ragione legata alla intrinseca lentezza delle stampanti, per cui la logica è quella di lasciare queste preziose risorse per eventi più importanti, data la atavica penuria di linee di interrupt e la loro grande richiesta.

 

bulletLa linea che arriva al pin 10 del connettore viene fisicamente collegata internamente alla linea solo se la possibilità di interrompere è autorizzata; nella logica del connettore Centronics si tratta del segnale Acknowledge., di solito posto brevemente a  0 dalla stampante non appena ha provveduto all'acquisizione di un carattere.
bulletIl segnale Acknowledge viene dunque internamente copiato su IRQ7; non appena torna a 1 (cioè sul fronte di salita) il controllore delle interruzioni 8259 attiva il servizio dell'interruzione; dettagli maggiori possono essere assunti qui.

 

bulletNella gestione in polling questa linea può essere monitorizzata interrogando il bit6 del Registro di Stato (0379H/LPT1, 0279H/LPT2): in qualunque momento diverso dal breve istante a 0 il computer può provvedere alla trasmissione del carattere successivo.

    

Pagina Precedente Tecniche INT Pagina Successiva TECNICHE D'INTERRUZIONE   Torna alla Home della Sezione Vai al menu - Tecniche d'Interruzione Torna al Menu di "Dentro al Computer"
9 di 9
1 2 3 4 5 6 7 8 9

    

Tecniche di Interruzione » Tastiera | Porta Seriale | Porta Parallela | Stampanti
Timer di Sistema | Home
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