Intelマニュアルに示されているように、割り込みゲートとトラップゲートの両方を使用してハンドラルーチンにアクセスできます。また、一部の例外は、割り込みとベクトル番号を共有することさえあります。そのような共有ベクトルがCPUによっていつ検出されるのか、CPUはそれが例外を表すのか、割り込みを表すのかをどうやって知ることができるのでしょうか。
私は次のことの間で論理について少し混乱しています:
IDTのゲートタイプの決定
ベクトルが例外を表すのか割り込みを表すのかを判断する
どちらがどちらを決定しますか?
私は自分自身を明確にしたと思います...
アップデート1
nosの返信ありがとうございます。どのベクトルが割り込みまたはトラップを表すかをCPUに指示する必要があるということですか?CPUが割り込みとトラップに関してEFLAGS[IF]を異なる方法で処理することを知っていますが、CPUはこの決定を行う方法をどのように知っていますか?CPUは、ベクトルに対応するIDTエントリのタイプフィールドに基づいて決定を下しますか?それとも、システムがどのように接続されているかに依存し、それに応じてIDTエントリのタイプを設定する必要がありますか?つまり、タイプファイルは完全に私たちのイラストですか、それともCPUに不可欠ですか?
および関連する質問:コールゲート、割り込みゲート、トラップゲートの違いは?