割り込みネスト
実行中の割り込みハンドラを、より優先度の高い割り込みが横取りできるようにする仕組み。
ネストがなければ、緊急の割り込みも現在のハンドラが終わるまで待たされ、最悪応答時間は最も長いハンドラの長さになる。ネストを許可すると、CPUはハンドラの状態も退避して先へ進む。Cortex-M では NVIC が優先度に基づいてこれをハードウェアで処理する。AVR では割り込みが入口で無効になるため、ネストしたければ sei() で自分で再び有効にする必要があり、自己責任となる。
代償はスタックである。階層ごとに新しいフレームが積み上がり、最悪の深さはすべての階層が同時に積まれた場合だ。この状況は実験室ではまず起きず、現場ではあっさり起きる。ネストを使うなら、スタックペインティングと優先度の慎重な設計がセットになるのはこのためだ。