Skip to main content

IRQ, ISR, IVT, PUSH, POP, latency

Short answer

IRQ: interrupt request signal. ISR: interrupt service routine handling the IRQ. IVT: table mapping each interrupt number to its ISR start address. PUSH and POP save and restore context on the stack. Interrupt latency is the time from IRQ assertion to the first ISR instruction.

Describe the terms IRQ, ISR, IVT, PUSH, POP and Interrupt Latency used in Interrupt based designs.

  • IRQ (Interrupt Request): the signal (hardware line) from a peripheral or internal event asking the processor to stop its current work and service the device. Each source has an IRQ line (IRQ0, IRQ1, ...) that may be masked and prioritised.
  • ISR (Interrupt Service Routine): the software routine executed in response to an interrupt. It services the device (reads data, clears the flag) and ends with a return-from-interrupt instruction. It should be short.
  • IVT (Interrupt Vector Table): a table in memory (often at the start, e.g. 00000H-003FFH in the 8086) holding the starting addresses (vectors) of all ISRs. The interrupt number indexes the table to find the ISR address.
  • PUSH: stores a register (or the PC and flags) on the stack and decrements SP. It is used to save the context at ISR entry.
  • POP: reads the top of the stack back into a register (or the PC/flags) and increments SP. It is used to restore the context before returning.
  • Interrupt latency: the time from the occurrence of the interrupt request to the execution of the first instruction of its ISR. It includes finishing the current instruction, recognising the request, saving the context and fetching the vector. Low and predictable latency is vital in real-time systems; it grows with periods when interrupts are disabled and with higher-priority ISRs.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Embedded System chapter 5 questions →