SlideShare a Scribd company logo
1 of 21
Microprocessor
Presentation on
8259 Programmable Interrupt Controller
Presented By :
Mr. Mohan S. Sonale
Assistant Professor, SITCOE, Yadrav ETC Dept.
 This IC is designed to simplify the implementation of the interrupt
interface in the 8088 and 8086 based microcomputer systems.
 This device is known as a ‘Programmable Interrupt Controller’ or PIC.
It is manufactured using the NMOS technology and It is available in 28-pin
DIP.
 The operation of the PIC is programmable under software control
(Programmable) and it can be configured for a wide variety of
applications.
 8259A is treated as peripheral in a microcomputer system.
 8259A PIC adds eight vectored priority encoded interrupts to the
microprocessor.
 This controller can be expanded without additional hardware to accept
up to 64 interrupt request inputs. This expansion required a master
8259A and eight 8259A slaves.
8259A Programmable Interrupt Controller
 8259 PIC can handle up to 8 vectored priorities interrupts for the processor
and it can be cascaded in master-slave configuration to handle 64 levels of
interrupts without any additional circuitry.
 It can be programmed either in level triggered or in edge triggered interrupt
level and also we can masked individual bits of interrupt request register.
 It has Internal priority resolver which can be programmed into fixed priority
mode and rotating priority mode
8259A Programmable Interrupt Controller
Pin Diagram
CS (Chip Select signal): To access this chip, chip select signal CS is made low. A
LOW on this pin enables RD & WR communication between the CPU and the
8259A. This signal is made LOW by decoding the addresses assigned to this
chip. Therefore, this pin is connected to address bus through the decoder logic
circuit. Interrupt acknowledge functions to transfer the control to interrupt
service subroutine are independent of CS .
WR (Write signal): A low on this pin. When CS is low enables the 8259 A to
accept command words from CPU.
RD (Read signal): A low on this pin when CS is low enables this 8259A to release
status (pending interrupts or in-service interrupts or masked interrupts) on to the
data bus for the CPU. The status includes the contents of IMR (interrupt mask
register) or ISR (interrupt service register) or IRR (interrupt request register) or
a priority level.
D7-D0 (Data Bus): Bidirectional data bus. Control, status and interrupt vector
information is transferred via this data bus. This bus is connected to BDB of
8085A. CAS2-CAS0 (Cascade lines): The CAS2-0 lines form a local 8259A bus
to control multiple 8259As in master-slave configuration, i.e., to identify a
particular slave 8259A to be accessed for transfer of vector information. These
pins are automatically set as output pins for master 8259A and input pins for a
slave 8259A once the chips are programmed as master or slave.
 SP / EN (Salve Program/Enable Buffer): This is a dual function pin. When
the chip is programmed in buffered mode, the pin can be used as an output
and when not in the buffered mode it is used as an input. In non-buffered
mode it is used as an input pin to determine whether the 8259A is to be used
as a master (SP / EN = 1) or as a slave (SP / EN = 0).
 INT (Interrupt output): This pin goes high whenever a valid interrupt
request is asserted. It is used to interrupt the CPU, thus it is connected to the
CPU’s interrupt pin (INTR). In case of master-slaveconfiguration, the
interrupt pin of slave 8259A is connected to interrupt request input of master
8259A.
 INTA (Interrupt Acknowledge): This pin is used to enable 8259A interrupt
vector data on the data bus by a sequence of interrupt acknowledge pulses
issued by the CPU.
 IR0-IR7 (Interrupt Request inputs): These are asynchronous interrupt
request input pins. An interrupt request is executed by raising an IR input
(low to high), and holding it high until it is acknowledged. (Edge triggered
mode) or just by a high level on an interrupt request input (Level triggered
mode).
 .
 A0 (A0 address line): This pin acts in conjunction with the RD , WR & CS
pins. It is used by the 8259A to send various command words from the CPU
and to read the status. It is normally connected to the CPU A0 address line.
Two addresses are assigned/ reserved in the I/O address space for each
8259A in the system- one with A0 =0 is called even address and other with
A0 = 1 is called odd address
Internal Structure of 8259A
Data bus buffer:
8 bit (D7-D0) Bidirectional data lines
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.
Read/Write & Control Logic:
The function of this block is to accept output commands sent from the
CPU. It contains the initialization command word (ICW) registers and
operation command word (OCW) registers which store the various control
formats for device operation. This function block also allows the status of
8259A to be transferred to the data bus.
Interrupt Request Register (IRR):
IRR stores the current status of the interrupt request inputs
Has one bit for each IR input
The values in the bit positions reflect whether the interrupt inputs are active
or inactive
Interrupt Mask Register (IMR):
The IMR is used to disable (Mask) or enable (Unmask) individual
interrupt request inputs. This is also an 8-bit register. Each bit in this register
corresponds to the interrupt input with the same number. The IMR operates on
the IRR. Masking of higher priority input will not affect the interrupt request
lines of lower priority. To unmask any interrupt the corresponding bit is set ‘0’.
In-service Register (ISR):
The in-service register keeps track of which interrupt inputs are
currently being serviced. For each input that is currently being serviced the
corresponding bit of in-service register (ISR) will be set. In 8259A, during the
service of an interrupt request, if another higher priority interrupt becomes
active, it will be
Priority Resolver:
This logic block determines the priorities of the interrupts set in the
IRR. It takes the information from IRR, IMR and ISR to determine whether the
new interrupt request is having highest priority or not. If the new interrupt
request is having the highest priority, it is selected and processed. The
corresponding bit of ISR will be set during interrupt acknowledge machine cycle
Cascade Buffer/Comparator:
This function block stores and compares the IDs of all 8259A’s in
the system. The associated 3-I/O lines (CAS2-CAS0) are outputs when
8259A is used as a master and are inputs when 8259A is used as a slave. As
a master, the 8259A sends the ID of the interrupting slave device onto the
CAS2-0 lines. The slave 8259As compare this ID with their own
programmed ID. Thus selected 8259A will send its pre-programmed
subroutine address on to the data bus during the next one or two successive
INTA pulses
 Toprogram this ICW for 8086 we place a logic 1 in bit IC4.
 Bits D7, D6 , D5and D2 are don’t care for microprocessor operation and only
apply to the 8259A when used with an 8-bit 8085 microprocessor.
 This ICW selects single or cascade operation by programming the SNGL bit. If
cascade operation is selected, we must also programICW3.
 The LTIM bit determines whether the interrupt request inputs are positive edge
triggered or level-triggered.
ICW1
:
 Selects the vector number used with the interrupt request inputs.
 For example, if we decide to program the 8259A so that it functions at vector
locations 08H-0FH, we place a 08H into this commandword.
 Likewise, if we decide to program the 8259A for vectors 70H-77H, we place a
70H in this ICW.
ICW2
 Is used only when ICW1 indicates that the system is operated in cascade mode.
 This ICW indicates where the slave is connected to themaster.
 For example, if we connected a slave to IR2, then to program ICW3 for this
connection, in both master and slave, we place a 04H inICW3.
 Suppose we have two slaves connected to a master using IR0 and IR1. The
master is programmed with an ICW3 of 03H; one slave is programmed with an
ICW3 of 01H and the other with an ICW3 of02H.
ICW3:
 Is programmed for use with the 8088/8086. This ICW
is not programmed in a system that functions with the
8085 microprocessors.
 The rightmost bit must be logic 1 to select operation
with the 8086 microprocessor, and the remaining bits
are programmed as follows:
ICW4
SNFM
Selects the special fully nested mode of operation for the 8259A if logic 1 is
placed in this bit. This allows the highest priority interrupt request from a slave to be
recognized by the master while it is processing another interrupt from a slave. Normally,
only one interrupt request is processed at a time and others are ignored until the process
is completed.
BUF and M/S:
Buffer and master slave are used together to select buffered operation or non-
buffered operation for the 8559A as a master or a slave.
AEOI:
Selects automatic or normal end of interrupt. The EOI commands of OCW2 are
used only if the AEOI mode is not selected by ICW4. If AEOI is selected, the interrupt
automatically resets the interrupt request bit and does not modify priority. This is the
preferred mod of operation for the 8259A and reduces the length of the interrupt service
procedure.
Operation CommandWords 1
 Is used to set and read the interrupt mask register.
 When a mask bit is set, it will turn off (mask) the
corresponding interrupt input. The mask register is
read when OCW1 is read.
 Because the state of the mask bits is known when the
8259A is first initialized, OCW1 must be programmed
after programming the ICW upon initialization.
Operation Command Words 2
 NonspecificEnd-of-Interrupt:
A command sent by the interrupt service procedure to signal the end of the interrupt.
The 8259A automatically determines which interrupt level was active and resets the
correct bit of the interrupt status register. Resetting the status bit allows the interrupt to
take action again or a lower priority interrupt to take effect.
 Specific End-of–Interrupt:
A command that allows a specific interrupt request to be reset. The exact position is
determined with bits L2-L0 of OCW2.
 Rotate-on-NonspecificEOI:
A command that function exactly like the nonspecific end-of-interrupt command except
that it rotates interrupt priorities after resetting the interrupt status register bit. The
level reset by this command becomes the lowest priority interrupt. For example, if IR4
was just serviced by this command, it becomes the lowest priority interrupt and IR5
becomes the highest priority.
 Rotate-on-AutomaticEOI:
A command that selects automatic EOI with rotating priority. This command must be
sent to the 8259A only once if this mode is desired. If this mode must be turned off, use
the clear command.
 Rotate-on-SpecificEOI:
Functions as the specific EOI, except that it selects rotating priority.
 Set Priority:
Allows the programmer to set the lowest priority interrupt input using the L2-L0 bits.
Operation Command Words 3
Thank-You

More Related Content

What's hot

8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction set
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction set8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction set
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction setSaumitra Rukmangad
 
8259 programmable interrupt controller
8259 programmable interrupt controller8259 programmable interrupt controller
8259 programmable interrupt controllerSrikrishna Thota
 
Memory organization of 8051
Memory organization of 8051Memory organization of 8051
Memory organization of 8051Muthu Manickam
 
Instruction set of 8085
Instruction set  of 8085Instruction set  of 8085
Instruction set of 8085shiji v r
 
8259 Interrupt Controller
8259 Interrupt Controller8259 Interrupt Controller
8259 Interrupt ControllerShivamSood22
 
Intel® 80386 microprocessor registers
Intel® 80386 microprocessor registersIntel® 80386 microprocessor registers
Intel® 80386 microprocessor registersNeel Shah
 
Interfacing stepper motor
Interfacing stepper motorInterfacing stepper motor
Interfacing stepper motorPRADEEP
 
T-states in microprocessor 8085
T-states in microprocessor 8085T-states in microprocessor 8085
T-states in microprocessor 8085yedles
 
8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil KawareProf. Swapnil V. Kaware
 
Salient featurs of 80386
Salient featurs of 80386Salient featurs of 80386
Salient featurs of 80386aviban
 
Stacks & subroutines 1
Stacks & subroutines 1Stacks & subroutines 1
Stacks & subroutines 1deval patel
 

What's hot (20)

8086 memory segmentation
8086 memory segmentation8086 memory segmentation
8086 memory segmentation
 
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction set
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction set8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction set
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction set
 
8051 ch9
8051 ch98051 ch9
8051 ch9
 
8051 memory
8051 memory8051 memory
8051 memory
 
Interrupts of microprocessor 8085
Interrupts of microprocessor  8085Interrupts of microprocessor  8085
Interrupts of microprocessor 8085
 
8259 programmable interrupt controller
8259 programmable interrupt controller8259 programmable interrupt controller
8259 programmable interrupt controller
 
Memory organization of 8051
Memory organization of 8051Memory organization of 8051
Memory organization of 8051
 
I/O Ports
I/O Ports I/O Ports
I/O Ports
 
Instruction set of 8085
Instruction set  of 8085Instruction set  of 8085
Instruction set of 8085
 
Interrupts of microprocessor 8085
Interrupts of microprocessor 8085Interrupts of microprocessor 8085
Interrupts of microprocessor 8085
 
8259 Interrupt Controller
8259 Interrupt Controller8259 Interrupt Controller
8259 Interrupt Controller
 
80486 and pentium
80486 and pentium80486 and pentium
80486 and pentium
 
Pentium processor
Pentium processorPentium processor
Pentium processor
 
8259 updated
8259 updated 8259 updated
8259 updated
 
Intel® 80386 microprocessor registers
Intel® 80386 microprocessor registersIntel® 80386 microprocessor registers
Intel® 80386 microprocessor registers
 
Interfacing stepper motor
Interfacing stepper motorInterfacing stepper motor
Interfacing stepper motor
 
T-states in microprocessor 8085
T-states in microprocessor 8085T-states in microprocessor 8085
T-states in microprocessor 8085
 
8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware
 
Salient featurs of 80386
Salient featurs of 80386Salient featurs of 80386
Salient featurs of 80386
 
Stacks & subroutines 1
Stacks & subroutines 1Stacks & subroutines 1
Stacks & subroutines 1
 

Similar to 8259

8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
8259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R28259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R2
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2Aisu
 
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijayVijay Kumar
 
8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .ppt8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .pptDrVikasMahor
 
3.programmable interrupt controller 8259
3.programmable interrupt controller 82593.programmable interrupt controller 8259
3.programmable interrupt controller 8259MdFazleRabbi18
 
8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controllerabhikalmegh
 
Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller  Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller Nikhil Baby
 
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. KawareMicroprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. KawareProf. Swapnil V. Kaware
 
21262738 8259a-programmable-interrupt-controller-2
21262738 8259a-programmable-interrupt-controller-221262738 8259a-programmable-interrupt-controller-2
21262738 8259a-programmable-interrupt-controller-2lords_ko
 
B sc e5.2 mp unit 3 interfacing
B sc e5.2 mp unit 3 interfacingB sc e5.2 mp unit 3 interfacing
B sc e5.2 mp unit 3 interfacingMahiboobAliMulla
 
8259.pptx
8259.pptx8259.pptx
8259.pptxsrenr
 
Microprocessor and Microcontroller lec5
Microprocessor and Microcontroller lec5Microprocessor and Microcontroller lec5
Microprocessor and Microcontroller lec5Ameen San
 
Microprocessor.pptx
Microprocessor.pptxMicroprocessor.pptx
Microprocessor.pptxSachinKupade
 
Microprocessor questions converted
Microprocessor questions convertedMicroprocessor questions converted
Microprocessor questions convertedArghodeepPaul
 
8086 Programing.ppt
8086 Programing.ppt8086 Programing.ppt
8086 Programing.pptDrRRAMAN
 
With suitable diagram explain the working of 8255 a and inerrupts
With suitable diagram explain the working of 8255 a and inerruptsWith suitable diagram explain the working of 8255 a and inerrupts
With suitable diagram explain the working of 8255 a and inerruptsransherraj
 
Detailed Explanation of Pin Description of 8085 microprocessor
Detailed Explanation of Pin Description of  8085 microprocessorDetailed Explanation of Pin Description of  8085 microprocessor
Detailed Explanation of Pin Description of 8085 microprocessorRamesh Dabhole
 

Similar to 8259 (20)

8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
8259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R28259 A  P R O G R A M M A B L E  I N T E R R U P T  C O N T R O L L E R2
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
 
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
 
8259 a
8259 a8259 a
8259 a
 
8259a.pdf
8259a.pdf8259a.pdf
8259a.pdf
 
8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .ppt8259 programmable PPI interfacing with 8085 .ppt
8259 programmable PPI interfacing with 8085 .ppt
 
3.programmable interrupt controller 8259
3.programmable interrupt controller 82593.programmable interrupt controller 8259
3.programmable interrupt controller 8259
 
8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller
 
Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller  Intel 8259 - Programmable Interrupt Controller
Intel 8259 - Programmable Interrupt Controller
 
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. KawareMicroprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
 
21262738 8259a-programmable-interrupt-controller-2
21262738 8259a-programmable-interrupt-controller-221262738 8259a-programmable-interrupt-controller-2
21262738 8259a-programmable-interrupt-controller-2
 
Icws
IcwsIcws
Icws
 
B sc e5.2 mp unit 3 interfacing
B sc e5.2 mp unit 3 interfacingB sc e5.2 mp unit 3 interfacing
B sc e5.2 mp unit 3 interfacing
 
8259.pptx
8259.pptx8259.pptx
8259.pptx
 
Microprocessor and Microcontroller lec5
Microprocessor and Microcontroller lec5Microprocessor and Microcontroller lec5
Microprocessor and Microcontroller lec5
 
EE6502 Microprocessor and Microcontroller
EE6502   Microprocessor and MicrocontrollerEE6502   Microprocessor and Microcontroller
EE6502 Microprocessor and Microcontroller
 
Microprocessor.pptx
Microprocessor.pptxMicroprocessor.pptx
Microprocessor.pptx
 
Microprocessor questions converted
Microprocessor questions convertedMicroprocessor questions converted
Microprocessor questions converted
 
8086 Programing.ppt
8086 Programing.ppt8086 Programing.ppt
8086 Programing.ppt
 
With suitable diagram explain the working of 8255 a and inerrupts
With suitable diagram explain the working of 8255 a and inerruptsWith suitable diagram explain the working of 8255 a and inerrupts
With suitable diagram explain the working of 8255 a and inerrupts
 
Detailed Explanation of Pin Description of 8085 microprocessor
Detailed Explanation of Pin Description of  8085 microprocessorDetailed Explanation of Pin Description of  8085 microprocessor
Detailed Explanation of Pin Description of 8085 microprocessor
 

More from Mohansonale1

More from Mohansonale1 (6)

8086 add mod
8086 add mod8086 add mod
8086 add mod
 
Arch 8086
Arch 8086Arch 8086
Arch 8086
 
Pin8086
Pin8086Pin8086
Pin8086
 
8086 ppt
8086 ppt8086 ppt
8086 ppt
 
Memory comp
Memory compMemory comp
Memory comp
 
Process.org
Process.orgProcess.org
Process.org
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

8259

  • 1. Microprocessor Presentation on 8259 Programmable Interrupt Controller Presented By : Mr. Mohan S. Sonale Assistant Professor, SITCOE, Yadrav ETC Dept.
  • 2.  This IC is designed to simplify the implementation of the interrupt interface in the 8088 and 8086 based microcomputer systems.  This device is known as a ‘Programmable Interrupt Controller’ or PIC. It is manufactured using the NMOS technology and It is available in 28-pin DIP.  The operation of the PIC is programmable under software control (Programmable) and it can be configured for a wide variety of applications.  8259A is treated as peripheral in a microcomputer system.  8259A PIC adds eight vectored priority encoded interrupts to the microprocessor.  This controller can be expanded without additional hardware to accept up to 64 interrupt request inputs. This expansion required a master 8259A and eight 8259A slaves. 8259A Programmable Interrupt Controller
  • 3.  8259 PIC can handle up to 8 vectored priorities interrupts for the processor and it can be cascaded in master-slave configuration to handle 64 levels of interrupts without any additional circuitry.  It can be programmed either in level triggered or in edge triggered interrupt level and also we can masked individual bits of interrupt request register.  It has Internal priority resolver which can be programmed into fixed priority mode and rotating priority mode 8259A Programmable Interrupt Controller
  • 5. CS (Chip Select signal): To access this chip, chip select signal CS is made low. A LOW on this pin enables RD & WR communication between the CPU and the 8259A. This signal is made LOW by decoding the addresses assigned to this chip. Therefore, this pin is connected to address bus through the decoder logic circuit. Interrupt acknowledge functions to transfer the control to interrupt service subroutine are independent of CS . WR (Write signal): A low on this pin. When CS is low enables the 8259 A to accept command words from CPU. RD (Read signal): A low on this pin when CS is low enables this 8259A to release status (pending interrupts or in-service interrupts or masked interrupts) on to the data bus for the CPU. The status includes the contents of IMR (interrupt mask register) or ISR (interrupt service register) or IRR (interrupt request register) or a priority level. D7-D0 (Data Bus): Bidirectional data bus. Control, status and interrupt vector information is transferred via this data bus. This bus is connected to BDB of 8085A. CAS2-CAS0 (Cascade lines): The CAS2-0 lines form a local 8259A bus to control multiple 8259As in master-slave configuration, i.e., to identify a particular slave 8259A to be accessed for transfer of vector information. These pins are automatically set as output pins for master 8259A and input pins for a slave 8259A once the chips are programmed as master or slave.
  • 6.  SP / EN (Salve Program/Enable Buffer): This is a dual function pin. When the chip is programmed in buffered mode, the pin can be used as an output and when not in the buffered mode it is used as an input. In non-buffered mode it is used as an input pin to determine whether the 8259A is to be used as a master (SP / EN = 1) or as a slave (SP / EN = 0).  INT (Interrupt output): This pin goes high whenever a valid interrupt request is asserted. It is used to interrupt the CPU, thus it is connected to the CPU’s interrupt pin (INTR). In case of master-slaveconfiguration, the interrupt pin of slave 8259A is connected to interrupt request input of master 8259A.  INTA (Interrupt Acknowledge): This pin is used to enable 8259A interrupt vector data on the data bus by a sequence of interrupt acknowledge pulses issued by the CPU.  IR0-IR7 (Interrupt Request inputs): These are asynchronous interrupt request input pins. An interrupt request is executed by raising an IR input (low to high), and holding it high until it is acknowledged. (Edge triggered mode) or just by a high level on an interrupt request input (Level triggered mode).  .
  • 7.  A0 (A0 address line): This pin acts in conjunction with the RD , WR & CS pins. It is used by the 8259A to send various command words from the CPU and to read the status. It is normally connected to the CPU A0 address line. Two addresses are assigned/ reserved in the I/O address space for each 8259A in the system- one with A0 =0 is called even address and other with A0 = 1 is called odd address
  • 9. Data bus buffer: 8 bit (D7-D0) Bidirectional data lines 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. Read/Write & Control Logic: The function of this block is to accept output commands sent from the CPU. It contains the initialization command word (ICW) registers and operation command word (OCW) registers which store the various control formats for device operation. This function block also allows the status of 8259A to be transferred to the data bus. Interrupt Request Register (IRR): IRR stores the current status of the interrupt request inputs Has one bit for each IR input The values in the bit positions reflect whether the interrupt inputs are active or inactive
  • 10. Interrupt Mask Register (IMR): The IMR is used to disable (Mask) or enable (Unmask) individual interrupt request inputs. This is also an 8-bit register. Each bit in this register corresponds to the interrupt input with the same number. The IMR operates on the IRR. Masking of higher priority input will not affect the interrupt request lines of lower priority. To unmask any interrupt the corresponding bit is set ‘0’. In-service Register (ISR): The in-service register keeps track of which interrupt inputs are currently being serviced. For each input that is currently being serviced the corresponding bit of in-service register (ISR) will be set. In 8259A, during the service of an interrupt request, if another higher priority interrupt becomes active, it will be Priority Resolver: This logic block determines the priorities of the interrupts set in the IRR. It takes the information from IRR, IMR and ISR to determine whether the new interrupt request is having highest priority or not. If the new interrupt request is having the highest priority, it is selected and processed. The corresponding bit of ISR will be set during interrupt acknowledge machine cycle
  • 11. Cascade Buffer/Comparator: This function block stores and compares the IDs of all 8259A’s in the system. The associated 3-I/O lines (CAS2-CAS0) are outputs when 8259A is used as a master and are inputs when 8259A is used as a slave. As a master, the 8259A sends the ID of the interrupting slave device onto the CAS2-0 lines. The slave 8259As compare this ID with their own programmed ID. Thus selected 8259A will send its pre-programmed subroutine address on to the data bus during the next one or two successive INTA pulses
  • 12.  Toprogram this ICW for 8086 we place a logic 1 in bit IC4.  Bits D7, D6 , D5and D2 are don’t care for microprocessor operation and only apply to the 8259A when used with an 8-bit 8085 microprocessor.  This ICW selects single or cascade operation by programming the SNGL bit. If cascade operation is selected, we must also programICW3.  The LTIM bit determines whether the interrupt request inputs are positive edge triggered or level-triggered. ICW1 :
  • 13.  Selects the vector number used with the interrupt request inputs.  For example, if we decide to program the 8259A so that it functions at vector locations 08H-0FH, we place a 08H into this commandword.  Likewise, if we decide to program the 8259A for vectors 70H-77H, we place a 70H in this ICW. ICW2
  • 14.  Is used only when ICW1 indicates that the system is operated in cascade mode.  This ICW indicates where the slave is connected to themaster.  For example, if we connected a slave to IR2, then to program ICW3 for this connection, in both master and slave, we place a 04H inICW3.  Suppose we have two slaves connected to a master using IR0 and IR1. The master is programmed with an ICW3 of 03H; one slave is programmed with an ICW3 of 01H and the other with an ICW3 of02H. ICW3:
  • 15.  Is programmed for use with the 8088/8086. This ICW is not programmed in a system that functions with the 8085 microprocessors.  The rightmost bit must be logic 1 to select operation with the 8086 microprocessor, and the remaining bits are programmed as follows: ICW4
  • 16. SNFM Selects the special fully nested mode of operation for the 8259A if logic 1 is placed in this bit. This allows the highest priority interrupt request from a slave to be recognized by the master while it is processing another interrupt from a slave. Normally, only one interrupt request is processed at a time and others are ignored until the process is completed. BUF and M/S: Buffer and master slave are used together to select buffered operation or non- buffered operation for the 8559A as a master or a slave. AEOI: Selects automatic or normal end of interrupt. The EOI commands of OCW2 are used only if the AEOI mode is not selected by ICW4. If AEOI is selected, the interrupt automatically resets the interrupt request bit and does not modify priority. This is the preferred mod of operation for the 8259A and reduces the length of the interrupt service procedure.
  • 17. Operation CommandWords 1  Is used to set and read the interrupt mask register.  When a mask bit is set, it will turn off (mask) the corresponding interrupt input. The mask register is read when OCW1 is read.  Because the state of the mask bits is known when the 8259A is first initialized, OCW1 must be programmed after programming the ICW upon initialization.
  • 19.  NonspecificEnd-of-Interrupt: A command sent by the interrupt service procedure to signal the end of the interrupt. The 8259A automatically determines which interrupt level was active and resets the correct bit of the interrupt status register. Resetting the status bit allows the interrupt to take action again or a lower priority interrupt to take effect.  Specific End-of–Interrupt: A command that allows a specific interrupt request to be reset. The exact position is determined with bits L2-L0 of OCW2.  Rotate-on-NonspecificEOI: A command that function exactly like the nonspecific end-of-interrupt command except that it rotates interrupt priorities after resetting the interrupt status register bit. The level reset by this command becomes the lowest priority interrupt. For example, if IR4 was just serviced by this command, it becomes the lowest priority interrupt and IR5 becomes the highest priority.  Rotate-on-AutomaticEOI: A command that selects automatic EOI with rotating priority. This command must be sent to the 8259A only once if this mode is desired. If this mode must be turned off, use the clear command.  Rotate-on-SpecificEOI: Functions as the specific EOI, except that it selects rotating priority.  Set Priority: Allows the programmer to set the lowest priority interrupt input using the L2-L0 bits.