Difference between priority and vector table

interrupts

Is their any difference between interrupt vector table and priority table. Does the vector node simply tells its priority? Here is the vector table:
enter image description here

Best Answer

The interrupt vector table is simply an area of memory (often beginning at address 0) to hold all the possible interrupt vectors for a processor. By vector, this means when an interrupt occurs, the processor will stop what it is doing, and then vector to the memory location reserved for that interrupt. In a 32 or 64-bit processor, there may be hundreds of vectors.

Each vector is separated by a fixed number of bytes which allows, as a minimum, a jump to be stored there which will jump to the beginning of the ISR (interrupt service routine) that handles that interrupt.

The location of this table, and the order of the vectors within it, are a hardware feature of the processor and cannot be modified except on some processors, the number of bytes allocated for each vector can be modified.

Interrupt priorities are set by the program for each interrupt source that is enabled. As an example, they may range from 1 (lowest) to 7 (highest) -- many other schemes exist. If an interrupt comes in that has a higher priority than the one currently executing, the current one will be interrupted by the higher one unless interrupts are disabled.

Some processors even allow sub-priorities to be specified within a major priority group. So this would control what happens when an interrupt comes in with the same major priority level as the one currently executing.