我知道双核CPU如何处理中断.我想知道如何在具有多个物理处理器的电路板上实现中断处理.
是否有任何中断责任由物理板的配置决定?每个处理器必须能够处理某些类型的中断,如磁盘I/O. 除非有一些电路来管理和分配适当的处理器中断?我的猜测是该方案必须是处理器中立的,因此任何处理器和内核都可以运行中断处理程序.
如果核心正在等待磁盘读取,那么当磁盘准备就绪时,该核心是否会运行中断处理程序?
在x86系统上,每个CPU都有自己的本地APIC(高级可编程中断控制器),它们也相互连接,并连接到处理到本地APIC的路由设备中断的I/O APIC.
操作系统可以对APIC进行编程,以确定哪些中断被路由到哪些CPU(或让APIC做出决定).
我想多核CPU会为每个核心配备一个本地APIC,但老实说我不确定.
有关详细信息,请参阅以下链接
http://osdev.berlios.de/pic.html
http://www.microsoft.com/whdc/archive/io-apic.mspx
http://en.wikipedia.org/wiki/Intel_APIC_Architecture