Interrupts and Exceptions
Overview
Both interrupts and exceptions divert execution from the normal
flow of control. An interrupt is caused by some activity outside the
current process and typically transfers control outside the process
(for example, an interrupt from an external hardware device). An
exception is caused by the execution of the current instruction
and is typically handled by the current process (for example, an
arithmetic overflow).
Nonmaskable
Interrupts
Interrupts can be divided into two classes: nonmaskable and
maskable. Nonmaskable interrupts cause a halt by way of the
hardware halt procedure. The hardware halt procedure does the
following:
Saves the PC, PSL, MAPEN<0> and a halt code in IPRs
Raises the processor IPL to 1F
Passes control to the resident firmware
The firmware dispatches the interrupt to the appropriate service
routine based on the halt code and hardware event indicators.
Nonmaskable interrupts cannot be blocked by raising the
processor IPL.
Maskable
Interrupts
Maskable interrupts cause the following:
The PC and PSL are saved.
The processor IPL is raised to the priority level of the
interrupt.
The interrupt is dispatched to the appropriate service routine
through the system control block (SCB).
Continued on next page
1–14