Types of Interrupt:

Types of Interrupts: There are three major types of interrupts that cause a break in the normal execution of a program. They can be classified as:

  1. 1. External interrupts
  2. 2. Internal interrupts
  3. 3. Software interrupts

Hardware and Software InterruptExternal interrupts come from input-output devices, from a timing device, from a circuit monitoring the power supply, or from any other external source. Examples that cause external interrupts are I/O device requesting transfer of data, I/O device finished transfer of data, elapsed time of an event or power failure. Timeout interrupt may result from a program that is in an endless loop and thus exceeded its time allocation. Power failure interrupt may have as its service routine a program that transfers the complete state of the CPU into a nondestructive memory in the few milliseconds before power ceases.


Internal interrupts arise from illegal or wrong use of an instruction or data. Internal interrupts are also called traps. Example of interrupts caused by internal error conditions are register overflow, attempt to divide by zero, an invalid operation code, stack overflow. These error conditions usually occur as a result of a premature termination of instruction execution. The service program that processes the internal interrupt determines the corrective measure to be taken.

The difference between internal and external interrupts is that the internal interrupt is initiated by some exceptional condition caused by the program itself rather than by an external event. Internal interrupts are synchronous with the program while external interrupts are asynchronous. If the program is rerun, the inturnal interrupts will occur in the same place each time. External interrupts depend on external conditions that are independent of the program being executed at the time.

External and internal interrupts are initiated from signals that occur in the hardware of the CPU. A software interrupt is initiated by executing an instruction. Software interrupt is a special call instruction that behaves like an interrupt rather than a subroutine call. It can be used by the programmer to initiate an interrupt procedure at any desired point in the program. The most common use of software interrupt is associated with a supervisor call instruction. This instruction provides means for switching from a CPU user mode to the supervisor mode. Certein operations in the computer may br assigned to the supervisor mode only.

Post to Twitter

You can leave a response, or trackback from your own site.

Leave a Reply