Personal computer/Mapping/Interfacce: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 151.16.109.168, riportata alla revisione precedente di Cloish |
|||
Riga 75:
'''10010101'''.
=== PIC 8259 (Programmable Interrupt Controller)
L'integrato 8259 riesce a gestire singolarmente fino a 8
+----------------+
Riga 97:
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)
Line 102 ⟶ 103:
Caratteristiche generali:
* L'8259 occupa due byte nello spazio di indirizzamento, utilizzati per la programmazione
* Possibilità i mascherare le
* Possibilità di modificare le
* L'8259 non ha il segnale di RESET ergo al riavvio della macchina rimane la sua programmazione interna (non una di default
Funzionamento Interno:
All'interno l'8259 ha 3 registri da 8 bit
* IMR (Interrupt Mask Register) è utilizzato per mascherare le
* IRR (Interrupt Request Register) quando le
* ISR (
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
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
|