What is the difference between vectored and non vectored interrupts?
I thought all interrupts had to be vectored interrupts... After all don't all interrupts have a vector number and thus a vector with a specific ISR [interrupt service routine]
(ISR address would in the page table, at 4 * the vector # in device that generated interrupt; assuming a 32 bit address architecture)....
Thanks!
See here:
Whenever an interrupt occurs, the CPU needs to execute a Handler, which is basically a subroutine that handles the interrupt. Now how the CPU accesses this handler depends on the type of interrupt.
In case of Vectored interrupt, the vector number specifies the address of the Handler, hence the CPU jumps to the address and executes the handler.
On the other hand, non vectored interrupts are generally raised by I/O (slow) devices. In this case there is always a specific handler that needs to be executed, hence no need to pass a vector for the address of the handler
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With