Each hardware device controller capable of issuing interrupt requests has an output line
designated as an IRQ (Interrupt ReQuest). All existing IRQ lines are connected to the input
pins of a hardware circuit called the Interrupt Controller, which performs the following
actions:
1. Monitors the IRQ lines, checking for raised signals.
2. If a raised signal occurs on an IRQ line:
a. Converts the raised signal received into a corresponding vector.
b. Stores the vector in an Interrupt Controller I/O port, thus allowing the CPU to
read it via the data bus.
c. Sends a raised signal to the processor INTR pin—that is, issues an interrupt.
d. Waits until the CPU acknowledges the interrupt signal by writing into one of
the Programmable Interrupt Controllers (PIC) I/O ports; when this occurs,
clears the INTR line.
3. Goes back to step 1.