Personal computer/Mapping/Interfacce: differenze tra le versioni

* Possibilità i mascherare le richieste di interruzione dall'esterno
* Possibilità di modificare le priorità di gestione delle interruzioni dei dispositivi
* Possibilità di mettere in esecuzione e gestire piu' interruzioni contemporaneamente(Fully Nested Mode).
* L'8259 non ha il segnale di RESET ergo al riavvio della macchina rimane la sua programmazione interna (non una di default come nei normali dispositivi), deve essere necessariamente riprogrammato in fase di avvio del sistema insieme agli altri dispositivi se si vuole un comportamento diverso.
 
* ISR (In Service Register) in modalità normale EOI memorizza quale interruzione è eventualmente in servizio
 
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 InterruptInitialization Control Word ICW1,ICW2,ICW3(master e slave),ICW4 e le Operation control word 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
*ICW1OCW2 conterrà una ''control word'' i cui bit sono:
 
D0-D2 Livello interessato
D0 ICW4 (sempre a 1 nel 8088/8086)
D1D5-D7 0 0 1 singoloEOI 0non cascataspecifico
0 1 1 EOI specifico al livello interessato
D2 N/C
D3 1 sensibile ai livelli1 0 sensibile1 Rotazione su EOI ainon frontispecifico
D4 1 0 0 Rotazione su AEOI con set
0 0 0 Rotazione su AEOI con reset
D5-D7 N/C
1 1 1 Rotazione su EOI specifico [liv]
1 1 0 Set priorità [liv ]
D2 0 1 0 N/C
 
Per A0=1
D2 0 Slave 1 Master
D3 Buffered Unbuffered
D4 0 Normal Mode 1 Special fullyFully nestedNested modeMode
D5-D7 0 sempre
 
*OCW1 conterrà una ''control word'' i cui bit sono:
 
D0-D7 Interrupt Mask
 
 
9

contributi