Odi*_*din 6 hardware x86 assembly interrupt computer-architecture
是否有单独的通信总线用于绕过可编程中断控制器的不可屏蔽中断?
或者PIC管理所有中断但按惯例传递所有不可屏蔽的中断?
这是否依赖于体系结构,或者是否有特定的理由偏爱一个而不是另一个?
我的答案来自于我很久以前在遥远的星系中设计计算机时获得的一些硬件经验……很久以前,我认为我应该从参考资料中获得一些帮助。当我在这里阅读SO时,我发现了一个下载Intel ia32 64位系统软件开发手册的地方。
第一个问题的答案是,NMI 是处理器上的一个引脚,与 PIC 配置的可屏蔽中断隔离。
第二个问题的答案是,PIC 与 NMI 没有任何关系。但是,如果您有 APIC(或高级可编程中断控制器),则可以按照手册中的概述生成 NMI:
处理器通过传送模式 NMI 在系统总线(Pentium 4、Intel Core Duo、Intel Core 2、Intel Atom 和 Intel Xeon 处理器)或 APIC 串行总线(P6 系列和 Pentium 处理器)上接收消息。
第三个问题的答案可以从第二个问题的答案中看到。也就是说,如果您的硬件中有 APIC(不仅仅是 PIC)。如果您想了解有关 APIC 如何发送 NMI 的更多详细信息,请查看我提供的 SO 链接。我在这里没有详细介绍,因为您问的是“低级”PIC,而不是 APIC。但以防万一我误解了您的意思,我想您会在 SO 链接上找到大量信息,如果这还不够,请继续下载英特尔手册。
我希望这能澄清一些事情。干杯!