Professional Documents
Culture Documents
8259A
8259A
INTERRUPT CONTROLLER
NEED FOR 8259A
8085 Processor has only 5 hardware interrupts.
Consider an application where a number of I/O
devices connected with CPU desire to transfer
data using interrupt driven data transfer mode.
In this process more number of interrupt pins
are required.
In these multiple interrupt systems the
processor will have to take care of priorities.
8259A PIC
Able to handle a number of interrupts at a
time.
Takes care of a number of simultaneously
appearing interrupt requests along with
their types and priorities.
Compatible with 8-bit as well as 16-bit
processors.
8259A PIC- FEATURES
Manage 8 interrupts according to the
instructions written into the control registers.
Vector an interrupt request anywhere in the
memory map. However all the 8 interrupts
are spaced at an interval of four to eight
locations.
Resolve 8 levels of interrupt priorities in
variety of modes.
Mask each interrupt request individually.
Read the status of pending interrupts, in-
service interrupts and masked interrupts.
8259A PIC- FEATURES
Be set up to accept either the level
triggered or the edge triggered interrupt
request.
Be expanded to 64 priority levels by
cascading additional 8259As.
Compatible with 8-bit as well as 16-bit
processors.
8259A PIC- BLOCK DIAGRAM
It includes 8 blocks.
Control logic
Read/Write logic
Data bus buffer
Three registers (IRR,ISR and IMR)
Priority resolver
Cascade Buffer
8259A PIC- PIN DIGRAM
8259A PIC- BLOCK DIAGRAM
8259A PIC- INTERRUPTS AND
CONTROL LOGIC SECTION
This section consists
of IRR
IRR (Interrupt 8 interrupt inputs
Request Register) set corresponding
ISR (In-Service bits of IRR
Register) Used to store the
Priority Resolver information about
IMR (Interrupt Mask
the interrupt inputs
requesting service.
Register)
Control logic block
8259A PIC- INTERRUPTS AND
CONTROL LOGIC SECTION
PRIORITY RESOLVER
ISR
Determines the priorities of
Used to store interrupts requesting
services (which set
information about the corresponding bits of IRR)
interrupts currently It determines the priorities
being serviced. as dictated by priority mode
set by OCWs.
The bit corresponding to
highest priority input is set
in ISR during
* OCWs Operation input.
Control Word. Examines three registers
and determines whether INT
should be sent to MPU.
8259A PIC- INTERRUPTS AND
CONTROL LOGIC SECTION
IMR
This register can be programmed by an
OCW to store the bits which mask
specific interrupts.
IMR operates on the IRR.
An interrupt which is masked by
software (By programming the IMR) will
not be recognized and serviced even if it
sets corresponding bits in the IRR.
8259A PIC- INTERRUPTS AND
CONTROL LOGIC SECTION
CONTROL LOGIC
Has two pins:
INT (Interrupt) Output
( Interrupt Acknowledge) Input
INT Connected to Interrupt pin of MPU.
When interrupt occurs this pin goes
high.
8259A PIC- BLOCK DIAGRAM
DATA BUS BUFFER
8 bit
Bidirectional
Tri-state Buffer used to Interface the
8259 to the system data bus.
Control words, Status words and
vectoring data are all passed through
the data bus buffer.
8259A PIC- READ/WRITE CONTROL LOGIC
SECTION
Contains ICW and OCW registers which are
programmed by the CPU to set up the 8259 and to
operate it in various modes.
Also accepts read command from CPU to permit the
CPU to read status words.
Chip Select Active Low input
Used to select the Device.
Read Active Low input
Used by CPU to read the status of
ISR,IRR,IMR or the Interrupt level.
Write Active Low input
Used to write OCW and ICW onto the 8259.
*ICW Initialization Control Word
8259A PIC- CASCADE BUFFER/
COMPARATOR
Generates control signals for cascade
operation.
Also generates buffer enable signals.
8259 cascaded with other 8259s
Interrupt handling capacity to 64 levels
Former is called master and latter is
slave.
8259 can be set up as master or slave by
pin in non-buffered mode or by software if it is
to be operated in the buffered mode of
operation.
8259A PIC- CASCADE BUFFER/
COMPARATOR
CAS 0-2
For master 8259 these pins are outputs and for slaves
these are inputs.
When 8259 is a master the CALL op-code is generated by
master in response to the first Interrupt acknowledge.
The vectoring address must be released by slave 8259.
p
For 8085 system they are filled by A15-A11 of the interrupt vector address and
Least significant 3 bits are same as the respective bits of the vector address.
For 8086 system they are filled by most significant 5 bits of interrupt type and
the least significant 3 bits are 0, pointing to IR 0.
If BUF=0,M/S is to be neglected.
8259A- OPERATING MODES
FULLY NESTED MODE:
General purpose mode.
All IRs are arranged from highest to lowest.
IR0 Highest IR7Lowest
BUFFERED MODE
CASCADE MODE
ADDITIONAL FEATURES OF THE
8259A
INTERRUPT TRIGGERING:
8259A can accept an interrupt request with either the
edge triggered or level triggered mode.
Mode is determined by initialization instructions.
INTERRUPT STATUS:
The status of the three interrupt registers (IRR, ISR
and IMR) can be read, and this status information can
be used to make the interrupt process versatile.
POLL METHOD:
8259A can be set up to function in polled
environment.
MPU polls the 8259A rather than each peripheral .