8086 has 2 interrupt inputs 1. nmi 2. intr for application where we have interrupts from multiple...

16
8259A PRIORITY INTERRUPT CONTROLLER

Upload: chastity-wilkerson

Post on 02-Jan-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt

8259A PRIORITY INTERRUPT CONTROLLER

Page 2: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt

8086 has 2 interrupt inputs 1. NMI

2. INTRFor application where we have interrupts from multiple

sources, use an external device called a Priority Interrupt Controller(PIC) to “funnel” the interrupt signals into a single interrupt input on the processor.

Page 3: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt

8259A Overview and system connectionMultiply the interrupt type

it receives from the 8259A by 4 to produce an address in the interrupt vector table.

Push the flags on the stack.Clear IF and TF.Push the return address on

the stack.Get the starting address for

the interrupt procedure from the interrupt-vector table and load that address in CS and IP.

Execute the ISP.

Send out 2 interrupt ack pulse on its pin to the of an 8259A PIC. The pulses tell the 8259A to send the desired type to the 8086 on the data bus.

Page 4: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt

8259A PIC

Page 5: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 6: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 7: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt

Master and slaveMaster The 8259A connected directly into the 8086

INTR pin is called as masterSlave The INT pin from the other 8259A connects into

an IR input on the master. This secondary or cascaded device is called as a slave

Page 8: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt

Programming the 8259A The 8259A is programmed by properly

initializing:- 4 ICWs - Initialization command

words;- 3 OCWs – Operation command

words; The initialization procedure may not

needto initialize all of them.

Page 9: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt

Initializing an 8259A1. Find the system base address2. Find the internal address3. System address=internal address + base

address

Page 10: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 11: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 12: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 13: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 14: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 15: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt
Page 16: 8086 has 2 interrupt inputs 1. NMI 2. INTR For application where we have interrupts from multiple sources, use an external device called a Priority Interrupt