Vectored interrupt definition
Vectored interrupt refers to a type of interrupt, or a signal CPU receives about an important event, where the address of the interrupt service routine (ISR) is determined by a vector. In other words, while a non-vectored interrupt informs the CPU about an important event, a vectored interrupt also provides the exact memory location where the ISR code is stored.
See also: Threat vector, Distance vector
Disadvantages of vectored interrupts
The choice between vectored and non-vectored interrupts often reflects the design philosophy and priorities of the system, such as performance, cost, and scalability. Vectored interrupts are faster but they also require more resources:
- Complexity. Non-vectored interrupts are simpler to implement. They rely on a single entry point for the ISR, making the hardware design less complex.
- Cost-effectiveness. Simpler hardware for non-vectored interrupts can reduce the overall cost of the system. This can be particularly advantageous in low-cost or resource-constrained environments.
- Fixed-allocation. In some systems, the fixed allocation of vectors can be less flexible compared to software-managed methods. Adding new interrupt sources may require hardware changes or reconfiguration of the vector table.
- A limited number of vectors. There is a finite number of vectors available, which can be a limitation in systems with a large number of interrupt sources. Managing a large number of vectors efficiently can become challenging.