1

ハードウェア/ドライバーがどのように割り込みを発生させるか教えてください。SMPでは、どのCPUが中断されますか?IRQが複数のデバイスで共有されている場合、カーネルが割り込みの原因となったデバイスを識別する方法。

/ガネーシャ

4

2 に答える 2

1

従来、デバイスから割り込みコントローラーまでの実際の割り込みワイヤーがあり、それがハイ(またはロー、またはエッジ)になると、割り込みが生成され、CPUが割り込みハンドラーの実行を開始します。

最近のシステムでは、割り込みはバス上のメッセージであり、割り込みコントローラーに送信される傾向があります(または複数ある場合があります)。

詳細については、より具体的にする必要があります。詳細は、話しているハードウェアの種類によって異なります。

于 2010-12-11T13:26:34.727 に答える
0

ISRとも呼ばれる割り込みハンドラーは、OSのデバイスドライバーの一部です。OSでは、各irq番号は、割り込みコントローラからの割り込みラインを表します。

デバイスは割り込みコントローラーに配線されており、デバイスで割り込みが生成された場合、割り込みコントローラーは対応するCPUに信号を送ります。割り込みターゲットCPUは、各割り込みラインの割り込みコントローラでプログラム可能です。

ARMのGPIOのように、ハードウェアで割り込み番号を共有するには、割り込みコントローラーまたはデバイスが実際の割り込み番号用の追加レジスタを提供する必要があります。さらに、ISRは、実際のIRQ番号についてそのレジスタを参照する必要があります。

于 2012-06-27T08:21:48.547 に答える