What is an Interrupt?
Interrupt is a signal to the processor indicating an event that needs immediate attention. It can be generated by hardware or software.
When an interrupt occurs, the CPU branches from the current memory location to the Interrupt Service Routine (ISR).
How does an interrupt signal be routed to the processor?
The key component is an Interrupt Controller. An interrupt controller has:
- input interrupt lines which take requests from the corresponding external devices
- output lines which are connected to the processor.
- the outputs are usually less than inputs (for example, ARM only has two interrupt pins)
- it is Interrupt controller’s responsibility to tell the processor which device issued the request (IRQ number is used).