interruptcontroller
An interrupt controller, sometimes written as interruptcontroller in documentation, is a hardware block in a computer system that mediates interrupt requests (IRQs) from peripherals or internal components, choosing which interrupt to service and delivering it to the processor. Its core responsibilities include prioritizing multiple simultaneous requests, masking or unmasking sources, and signaling the processor with an interrupt vector or ID. It may also implement end-of-interrupt semantics to allow the system to resume normal operation.
Most systems separate interrupt controllers into a local controller tied to each CPU core and an I/O
In ARM systems, similar roles are fulfilled by the Generic Interrupt Controller (GIC), while Cortex-M devices
A well-designed interrupt controller enables lower latency interrupt handling, reduces interrupt storms, and improves overall throughput