Interrupts
Virtually all computers provide a mechanism by which other module (I/O, memory etc.)
may interrupt the normal processing of the processor. The most common classes
of interrupts are:
|
Program: |
|
Generated by some condition that occurs as a result of an
instruction execution, such as arithmatic overflow, division
by zero, attempt to execute an illegal machine instruction,
and reference outside the user's allowed memory space.
|
|
Timer: |
|
Generated by a timer within the processor. This allows the
operating system to perform certain functions on a regular
basis.
|
|
I/O: |
|
Generated by an I/O controller, to signal normal completion
of an operation or to signal a variety of error conditions.
|
|
Hardware failure: |
|
Generated by a failure such as power failure or
memory parity error.
|
The issue of interrupts is discussed in later module, but we need to
introduce the concept of interrupt now to understand more clearly the nature
of instruction cycle.
Interupts are provided primarily as a way to improve processing effeciency.
For example, most external devices are much slower than the processor.
With interrupts, the processor can be engaged in executing other
instructions while an I/O operation is in progress.
|