2

正如英特尔手册所示,中断门和陷阱门都可用于访问处理程序例程。有些异常甚至与中断共享向量号。我想知道当 CPU 检测到这样的共享向量时,CPU 怎么知道它代表异常还是中断?

我对以下事情的逻辑感到困惑:

  • IDT中门类型的决定

  • 判断向量代表异常还是中断

哪个决定哪个?

我希望我说清楚了...

更新 1

感谢no的回复。你的意思是我必须告诉 CPU 哪个向量代表中断或陷阱?我知道 CPU 在中断和陷阱方面对 EFLAGS[IF] 的处理方式不同,CPU 怎么知道如何做出这个决定?CPU 是否根据向量对应的 IDT 条目的类型字段做出决策?或者更确切地说,这取决于系统是如何连接的,我们必须根据它设置 IDT 条目的类型?即类型文件完全是对我们的说明还是对 CPU 的强制要求?

和一个相关的问题:调用门、中断门、陷阱门的区别?

4

1 回答 1

1

对于给定的 ISR,您必须针对什么是中断门以及什么是陷阱门对 CPU 进行编程。

这由 IDT 条目中的位 40-43 设置。这里的信息:http ://wiki.osdev.org/Interrupt_Descriptor_Table

于 2010-08-09T17:02:48.253 回答