Interrupts Signal that causes the CPU to alter its normal flow on instruction execution ◦ frees CPU from waiting for events ◦ provides control for external input Examples ◦ unexpected input ◦ abnormal situation ◦ illegal instructions ◦ multitasking, multiprocessing Slide 1
Interrupt Terminology In understanding the concept of interrupts, there are a few commonly used terms:- ◦ Interrupt lines (hardware) ◦ Interrupt request ◦ Interrupt handlers Program that services the interrupt Also known as an interrupt routine ◦ Process Control Block (PCB) Located in a part of memory known as the stack area All registers of a program are saved here before control is transferred to the interrupt handler Slid e 2
Servicing an Interrupt When an interrupt occurs, it must be serviced. Servicing the interrupt involves:- ◦ suspending the program in progress. ◦ save pertinent information including last instruction executed and data values in registers in the PCB (process control block). ◦ branch to the interrupt handler. Slid e 3
Servicing an Interrupt Slid e 4
Use of Interrupts Interrupts are such powerful mechanisms that they are used widely, such as:- ◦ Notifying that an external event has occurred real-time or time-sensitive ◦ Signalling completion printer ready or buffer full ◦ Allocating CPU time time sharing ◦ Indicating abnormal event (CPU originates for notification and recovery) illegal operation, hardware error ◦ Software interrupts Slid e 5
Multiple Interrupts Identifying devices ◦ Polling (checking for input in rotation) ◦ Vectored interrupts (include address of interrupting device) Interrupt priorities ◦ Loss of data vs. task completion Maskable (disabled) interrupts Slid e 6
Vectored Interrupts Slid e 7
Polled Interrupts Slid e 8
Multiple Interrupts Example Slid e 9