割り込み処理プロセスの 5 つの段階: 1. 割り込み要求段階、2. 割り込み調停段階、ハードウェア調停とソフトウェア調停の 2 つの方法があります、3. 割り込み応答段階、CPU がメッセージを送信します。割り込みソース 割り込み応答信号; 4. 割り込みサービスフェーズ; 5. 割り込みリターンフェーズ、元のプログラムのブレークポイントに戻り、ハードウェアサイトを復元し、元のプログラムの実行を継続します。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
割り込み処理の基本プロセスは、割り込み要求、割り込み調停、割り込み応答、割り込みサービス、割り込みリターンの 5 段階で構成されます。
内部割り込み) には、割り込み要求は必要ありません。 CPU 内の割り込み制御ロジックが直接受信して処理します。
2)外部割り込み要求は割り込みソースによって行われます。外部割り込み要因は、CPU の割り込み入力端子を使用して割り込み要求信号を入力します。一般に、CPU にはマスカブル割り込み要求入力端子とノンマスカブル割り込み要求入力端子の 2 つの割り込み要求入力端子があります。
オープン割り込みと呼ばれる割り込み。 「0」の場合、CPU は割り込みに応答することができず、割り込みはマスクされます。これを off 割り込み と呼びます。
%%通常、CPU がリセットされると、割り込みイネーブル フリップフロップも "0" にリセットされます。これは、割り込みがオフになることを意味します。 CPU 割り込みが応答すると、CPU は自動的に割り込みをオフにし、新たな割り込みの受け付けを禁止します。 %%割り込みイネーブルフリップフロップのステータスは、割り込みオンまたはオフ命令を使用して設定できます。
上図の入力ポートアドレスが 87FFH であるとします。
IN AL, DX; 割り込み要求レジスタの内容を読み出す
SHR AL, 1
JC IR0; If IRQ0 に対するリクエストがある場合は、IR0 に転送します。
SHR AL,1
JC IR1 ;IRQ1 にリクエストがある場合は、IR1
SHR AL,1
JC IR2 に転送します。 IRQ2 のリクエスト、IR2 に転送
… …
ソフトウェア 意思決定プロセスには長い時間がかかります。割り込み要因が多い場合、割り込みのリアルタイム性は低下しますが、ソフトウェアの優先順位の配置は柔軟です。
デイジー チェーン アービトレーション 最適化回路および割り込みコントローラ調停 。
設計アイデア : 各割り込みソースには割り込みロジック回路があり、すべての割り込みロジックは 1 つの回路を形成します。デイジーチェーンのようなチェーン。チェーンの先頭にある割り込みソースの優先度が最も高く、デバイスが後方になるほど優先度は低くなります。
実装処理: CPUは割り込み要求を受け取り、割り込みが許可されていれば、CPUは割り込み応答信号を送信します。割り込み応答信号はデイジーチェーンのフロントエンドに最初に到達しますが、割り込み要因 1 が割り込み要求を行うと、割り込み応答信号を遮断して次の割り込み要因に送信できないようにブロックします。以下の割り込み要因は、割り込み要求の発生の有無に関わらず、割り込み応答信号を受信できないため、割り込み要求に応答できません。
割り込み調停の後、割り込み処理は割り込み応答フェーズに入ります。割り込みに応答するとき、CPU は割り込み応答信号を割り込みソースに送信すると同時に、
① ハードウェア サイトを保護します;
② 割り込みをオフします;
③ ブレークポイントの保護;
④ 割り込みサービス ルーチンのエントリ アドレスを取得します。
割り込みサービス プログラムの一般的な構造は次のとおりです:
1)シーンを保護します。 割り込みサービス ルーチンの先頭にいくつかのプッシュ命令を配置して、各レジスタの内容をスタックにプッシュして保存します。
2)割り込みを有効にします。 割り込みサービス ルーチンの実行中、より高いレベルの割り込み要求が現在の割り込みサービス ルーチンに割り込み、割り込みのネスティングを実装することが許可されます。
3)サービスを中断します。 割り込みソースの特定の要件を満たします。
4)シーンを復元します。 割り込みサービスルーチンが終了する前に、メインプログラムの割り込みシーンを復元する必要があります。通常、スタックに保存されたローカル情報は元のレジスタにポップされます。
5)割り込み復帰。 元のプログラムのブレークポイントに戻り、元のプログラムの実行を続けます。
元のプログラムのブレークポイントに戻り、ハードウェア サイトを復元し、元のプログラムの実行を継続します。
割り込み復帰動作は、割り込み応答動作の逆の処理です。
プログラミング関連の知識について詳しくは、プログラミング ビデオをご覧ください。 !
以上が割り込み処理の 5 つの段階とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。