An interrupt controller is a hardware device that manages interrupts generated by various devices in a computer system. It receives interrupt requests, prioritizes them, and sends them to the CPU for processing. The interrupt controller helps to improve the performance of the system by allowing the CPU to handle interrupts from different devices in an organized manner.