Personal computer/Mapping/Interfacce: differenze tra le versioni

m (Annullate le modifiche di 151.16.109.168, riportata alla revisione precedente di Cloish)
'''10010101'''.
 
=== PIC 8259 (Programmable Interrupt Controller) 8259 ===
L'integrato 8259 riesce a gestire singolarmente fino a 8 richesterichieste di interruzioni da dispositivi esterni (IR0..IR7),e fino a 64 con un utilizzo di altri 8 8259 in cascata.
 
+----------------+
INT Interrupt verso il processore
INTA* Interrupt Acknowledge
SP/EN* In buffered mode lo programma a master o slave in unbuffered
A0 Bit di indirizzamento
CAS[0..2] Usati dal 8259 Master per selezionare l'8259 Slave (Per utilizzo in cascata)
Caratteristiche generali:
* L'8259 occupa due byte nello spazio di indirizzamento, utilizzati per la programmazione
* Possibilità i mascherare le rischiesterichieste di interruzione dall'esterno
* Possibilità di modificare le priorita'priorità di gestione delle interruzioni dei dispositivi
* L'8259 non ha il segnale di RESET ergo al riavvio della macchina rimane la sua programmazione interna (non una di default comcome nei normali dispositivi), deve essere necessariamente riprogrammato in fase di avvio del sistema insieme agli altri dispositivi se si vuole un comportamento diverso.
 
Funzionamento Interno:
 
All'interno l'8259 ha 3 registri da 8 bit (non indirizzabili dal processore) ma riservati per la gestione interna.
 
* IMR (Interrupt Mask Register) è utilizzato per mascherare le richesterichieste di interruzione
* IRR (Interrupt Request Register) quando le rischiesterichieste arrivano all' 8259 vengono campionate in questo registro
* ISR (InterruptIn serviceService Register) in modalità normale EOI memorizza quale interruzione è eventualmente in servizio(resettando il bit del'IRR corrispondente)
 
Contiene anche una rete combinatoria
 
* Priority Resolution che si occupa di gestire la corretta gestione tra i registri e risolvere i conflitti.
 
Programmazione del PIC:
 
I due Byte di indirizzo, sono utilizzati per la programmazione dell'8259 con diverse parole di controllo le Interrupt Control Word ICW1,ICW2,ICW3(master e slave),ICW4 e OCW1,OCW2 selezionate dal bit di indirizzo e dal valore di alcuni bit identificativi(fissi) all'interno delle parole.
La programmazione avviene in maniera sequenziale, la prima control word ha il bit4=1 e A0=0 , l'8259 capisce così che lo stiamo riprogrammando, le prossime saranno la ICW2, ICW3(se siamo in configurazione Master/Slave) e la ICW4.
Le OCW1 e OCW2 sono utilizzate per il normale funzionamento, la prima stabilisce quali interrupt sono mascherati ovvero non vengono considerati e la seconda può modificare l'ISR e modificare la gestione delle priorità delle IR.
 
Per A0=0
9

contributi