End of interrupt
An end of interrupt (EOI) is a computing signal sent to a programmable interrupt controller (PIC) to indicate the completion of interrupt processing for a given interrupt. Interrupts are used to facilitate hardware signals sent to the processor that temporarily stop a running program and allow a special program, an interrupt handler, to run instead. An EOI is used to cause a PIC to clear the corresponding bit in the in-service register (ISR), and thus allow more interrupt requests (IRQs) of equal or lower priority to be generated by the PIC.[1][2]
EOIs may indicate the interrupt vector implicitly or explicitly. An explicit EOI vector is indicated with the EOI, whereas an implicit EOI vector will typically use a vector as indicated by the PICs priority schema, for example the highest vector in the ISR. Also, EOIs may be sent at the end of interrupt processing by an interrupt handler, or the operation of a PIC may be set to auto-EOI at the start of the interrupt handler.[3]
See also
- Intel 8259 – notable PIC from Intel
- Advanced Programmable Interrupt Controller (APIC)
- OpenPIC and IBM MPIC
- Inter-processor interrupt (IPI)
- Interrupt latency
- Non-maskable interrupt (NMI)
- IRQL (Windows)
References
- ^ Mika J. Järvenpää. "Linux Interrupts: The Basic Concepts" (PDF). University of Helsinki. Retrieved October 2, 2021.
- ^ "The 8259 Programmable Interrupt Controller (PIC)". osdev.org. Retrieved October 2, 2021.
- ^ "8259A Programmable interrupt controller" (PDF). Intel. December 1988. Retrieved October 2, 2021.