<1>中断等待
中断等待表示从中断请求开始到中断处理开始执行间的时间。
对于Cortex-M处理器,若中断时零等待的,而且系统设计允许取向量和压栈同时执行,则中断等待为12个周期,其中包括寄存器压栈、取向量以及取中断处理指令(这是最理想的情况)。
<2>多周期指令执行期间产生中断
若在处理器执行多周期指令(如整数除法)时产生中断请求,该指令可能会被丢弃且在中断处理结束后重新执行。这种设计还适用于加载双字(LDRD)和存储双字(STRD)指令。
<3>末尾连锁
若某个异常A产生时处理器正在处理另一个具有相同或者更高优先级的异常B,A异常就会进入挂起状态。在处理器执行完B异常处理后,它可以继续执行A异常。处理器不会重新出栈和压栈,而是跳过该过程并尽快执行A异常。这样,两个异常处理间隔时间就会降低很多。对于无等待状态的存储器系统,末尾连锁的中断等待时间仅为6个时钟周期。
<4>延迟到达
<5>出栈抢占
<6>惰性压栈