Come Funziona Indirizzi Base Area Comunicaz. Bios
Registri Livello Hardware Livello BIOS Livello DOS
Tecniche d'Interruzione Connettori Cavi Interfaccia
Applicazioni Software
Download INDICE

 Stampanti

Tecniche d'Interruzione

  Programmazione

TECNICHE D'INTERRUZIONE [23 di 52] 

    

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 Stampanti Pagina Successiva TECNICHE D'INTERRUZIONE   Torna alla Home della Sezione Lezioni - Vai al DownLoad dei files DOC Torna al Menu di "Dentro al Computer"
23 di 52
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 47 48 49 50 51 52

    

Stampanti » Come Funziona.. | Indirizzi Base | Area di Comunicazione Bios | Registri | Cavi
Livello Hardware | Livello BIOS | Livello DOS | Tecniche d'Interruzione | Connettori
Applicazioni Software | Interfacciamento | Download | 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