13.3.2.3 Interrupt Response Time

The minimum interrupt response time is represented in the following table.

Table 13-1. Minimum Interrupt Response Time
Flash Size > 8 KBFlash Size ≤ 8 KB
Finish ongoing instructionOne cycleOne cycle
Store PC to stackTwo cyclesTwo cycles
Jump to interrupt handlerThree cycles (jmp)Two cycles (rjmp)

After the Program Counter is pushed on the stack, the program vector for the interrupt is executed. See the following figure.

Figure 13-2. Interrupt Execution of Single-Cycle Instruction

If an interrupt occurs during the execution of a multi-cycle instruction, the instruction is completed before the interrupt is served, as shown in the following figure.

Figure 13-3. Interrupt Execution of Multi-Cycle Instruction

If an interrupt occurs when the device is in a sleep mode, the interrupt execution response time is increased by five clock cycles, as shown in the figure below. Also, the response time is increased by the start-up time from the selected sleep mode.

Figure 13-4. Interrupt Execution From Sleep

A return from an interrupt handling routine takes four to five clock cycles, depending on the size of the Program Counter. During these clock cycles, the Program Counter is popped from the stack, and the Stack Pointer is incremented.

Note:
  1. Devices with 8 KB of Flash or less use RJMP instead of JMP, which takes only two clock cycles.