Are interrupts auto-vectored, or does software search for the interrupting source?
Interrupts are auto-vectored. However, if you have several different peripherals mapped to the same vector, the interrupt service routine software will have to interrogate all the mapped peripherals to determine which one caused the interrupt. For applications where timing is critical, you could map high-priority, unique vectors to the peripherals of greater importance. This way, every time an interrupt occurs on one of these peripherals, it corresponds unambiguously to that peripheral.