ベクトル化された割り込みとベクトル化されていない割り込みの違いは何ですか?
すべての割り込みはベクトル化された割り込みである必要があると思いました...結局のところ、すべての割り込みがベクトル番号を持っているわけではなく、したがって特定のISRを持つベクトル[割り込みサービスルーチン]
(ISRアドレスは、ページテーブルの4 *割り込みを生成したデバイスのベクトル#です。32ビットアドレスアーキテクチャを想定しています)。
ありがとう!
ベクトル化された割り込みとベクトル化されていない割り込みの違いは何ですか?
すべての割り込みはベクトル化された割り込みである必要があると思いました...結局のところ、すべての割り込みがベクトル番号を持っているわけではなく、したがって特定のISRを持つベクトル[割り込みサービスルーチン]
(ISRアドレスは、ページテーブルの4 *割り込みを生成したデバイスのベクトル#です。32ビットアドレスアーキテクチャを想定しています)。
ありがとう!
ここを参照してください:
割り込みが発生するたびに、CPU はハンドラを実行する必要があります。これは基本的に、割り込みを処理するサブルーチンです。CPU がこのハンドラにアクセスする方法は、割り込みの種類によって異なります。
ベクタ割り込みの場合、ベクタ番号はハンドラのアドレスを指定するため、CPU はそのアドレスにジャンプしてハンドラを実行します。
一方、ベクトル化されていない割り込みは、通常、I/O (低速) デバイスによって発生します。この場合、実行する必要がある特定のハンドラーが常に存在するため、ハンドラーのアドレスのベクトルを渡す必要はありません。
外部デバイスが CPU に割り込む (割り込み要求) 場合、CPU はその割り込みを処理するために割り込み処理ルーチンを実行する必要があります。プロセッサの内部制御回路が、割り込みサービス ルーチンの開始アドレスである所定のメモリ位置に CALL を生成する場合、そのアドレスはベクトル アドレスと呼ばれ、そのような割り込みはベクトル割り込みと呼ばれます。