コンピューティングにおいて、割り込みレイテンシとは、割り込み要求 (IRQ) の開始とそれぞれの割り込みサービスルーチン (ISR) の開始との間の遅延を指します。[1]多くのオペレーティングシステムでは、デバイスの割り込みハンドラが実行されるとすぐにデバイスがサービスされます。割り込みレイテンシは、マイクロプロセッサの設計、割り込みコントローラ、割り込みマスキング、およびオペレーティングシステム(OS) の割り込み処理方法によって影響を受ける可能性があります。 [2]
背景
通常、割り込みレイテンシ、スループット、およびプロセッサ使用率の間にはトレードオフがあります。割り込みレイテンシを改善するCPUおよびOS設計の手法の多くは、スループットを低下させ、プロセッサ使用率を高めます。スループットを高める手法は、割り込みレイテンシを増加させ、プロセッサ使用率を高める可能性があります。最後に、プロセッサ使用率を下げようとすると、割り込みレイテンシが増加し、スループットが低下する可能性があります。
最小割り込みレイテンシは、主に割り込みコントローラ回路とその構成によって決まります。また、割り込みレイテンシのジッタにも影響し、システムのリアルタイム スケジューリング可能性に劇的な影響を与える可能性があります。Intel APIC アーキテクチャは、大量の割り込みレイテンシ ジッタを生成することでよく知られています。[引用が必要]
最大割り込みレイテンシは、OS が割り込み処理に使用する方法によって大きく左右されます。たとえば、ほとんどのプロセッサでは、プログラムの割り込みを無効にして、割り込みハンドラの実行を延期し、コードの重要なセクションを保護することができます。このような重要なセクションの実行中は、重要なセクション内で安全に実行できないすべての割り込みハンドラがブロックされます (すべての重要なセクションが終了した後に割り込みハンドラを再起動するために必要な最小限の情報だけを保存します)。そのため、ブロックされた割り込みの割り込みレイテンシは、重要なセクションの終わりまで延長され、ブロックが行われている間に着信した同等またはより高い優先度の割り込みも延長されます。
多くのコンピュータ システム、特にリアルタイムで機械を制御する必要がある組み込みシステムでは、割り込みレイテンシを低く抑える必要があります。これらのシステムでは、リアルタイム オペレーティング システム(RTOS) が使用されることがあります。RTOS は、サブルーチンの実行間に指定された最大時間を超えないことを約束します。これを実現するために、RTOS は割り込みレイテンシが事前に定義された最大値を超えないことも保証する必要があります。
考慮事項
高度な割り込みコントローラは、コンテキスト切り替え時のオーバーヘッドと有効な割り込み遅延を最小限に抑えるために、多数のハードウェア機能を実装します。これには次のような機能が含まれます。
- 割り込み不可能な命令による最小ジッタ[1]
- メモリシステムのゼロ待機状態[1]
- 切り替え可能なレジスタバンク[1]
- テールチェーニング[1]
- レイジースタッキング[1]
- 遅刻[1]
- ポッププリエンプション[1]
- スリープオンエグジット機能[1]
また、ハードウェアが割り込みレイテンシを短くする要件を下げて、特定の割り込みレイテンシを状況に応じて許容できるものにするために使用できる他の方法も多数あります。これには、バッファやフロー制御が含まれます。たとえば、ほとんどのネットワーク カードは、送信および受信リング バッファ、割り込みレート制限、およびハードウェア フロー制御を実装しています。バッファを使用すると、転送可能になるまでデータを保存できます。また、フロー制御を使用すると、バッファがいっぱいになった場合にネットワーク カードがデータを破棄せずに通信を一時停止できます。
最新のハードウェアでは、割り込みレート制限も実装されています。これにより、ハードウェアが生成する各割り込みの間にプログラム可能な最小時間待機することで、割り込みストームやライブロックを防止できます。割り込みレート制限により、割り込みの処理に費やす時間が短縮され、プロセッサがより多くの時間を有用な作業に費やせるようになります。この時間を超過すると、ソフト (回復可能) エラーまたはハード (回復不可能) エラーが発生します。
参照
- 高度なプログラマブル割り込みコントローラ(APIC)
- イーサネットフロー制御
- IEEE 802.3 (フロー制御用の 802.3x PAUSE フレーム)
- プロセッサ間割り込み(IPI)
- 割り込み
- 割り込みハンドラ
- マスク不可能割り込み(NMI)
- プログラマブル割り込みコントローラ(PIC)
- 応答時間(テクノロジー)
- レイテンシー(エンジニアリング)
- コンピュータのハードウェアとオペレーティングシステムの遅延
参考文献
- ^ abcdefghi Yiu, Joseph (2016-04-01). 「割り込みレイテンシに関する初心者向けガイド - Arm Cortex-M プロセッサの割り込みレイテンシ」. Arm コミュニティ. 2019-06-15 にオリジナルからアーカイブ。2019-06-15に取得。
- ^ Lin, Feng; Ashley, David T.; Burke, Michael J.; Heymann, Michael (1999). 「割り込みレイテンシ互換性問題のハイブリッドシステムソリューション」SAE Transactions . 108 : 2112–2125. ISSN 0096-736X. JSTOR 44733861.
