インテルのみ表示可能 — GUID: sxd1642851862372
Ixiasoft
インテルのみ表示可能 — GUID: sxd1642851862372
Ixiasoft
9.5.1.8. ネストされたハードウェア割り込みの使用
デフォルトでは、HAL は ISR をディスパッチする際に割り込みを無効にします。つまり、一度に実行できる ISR は 1 つだけであり、ISR は先着順で実行されます。これにより、割り込み処理に関連するシステムのオーバーヘッドが削減され、ISR 開発が簡素化されます。ISR は再入可能である必要はありません。ISR は、アプリケーション・コードと共有されていないグローバルまたは静的データ構造またはハードウェア・レジスターを使用および変更することができます。
ただし、先着順実行とは、HAL ハードウェア割り込みの優先度が、2 つの IRQ が同時にアクティブになっている場合にのみ、効果があることを意味します。優先度の高い割り込みの前に優先度の低い割り込みが発生すると、優先度の高い ISR の実行が妨げられる可能性があります。これは一種の優先順位の逆転であり、頻繁に割り込みを生成するシステムでは ISR のパフォーマンスに大きな影響を与える可能性があります。
ソフトウェア・システムは、ネストされた ISR を使用することで、完全なハードウェア割り込みの優先順位付けを実現できます。ネストされた ISR では、優先度の高い割り込みが優先度の低い ISR に割り込むことができます。
この手法を使用すると、優先順位の高い ISR の割り込みレイテンシーを改善することができます。
ISR が非常に短い場合、ネストされたハードウェア割り込みを有効にするオーバーヘッドに見合わない可能性があります。短い ISR のネストされた割り込みを有効にすると、実際には、優先度の高い割り込みの応答時間が長くなる可能性があります。