您能告诉我硬件/驱动程序如何引发中断吗?在SMP中,哪个CPU被中断? 如果IRQ由多个设备共享,则内核如何识别导致中断的设备。
/内甚
答案 0 :(得分:1)
传统上存在从设备到中断控制器的实际中断线,当它处于高电平(或低电平或边沿)时,会产生中断并且CPU开始执行中断处理程序。
在现代系统中,中断往往是总线上的消息,这些消息被发送到中断控制器(或者可能有几个)。
就更多细节而言,您需要更具体,细节会根据您所谈论的硬件类型而有所不同。
答案 1 :(得分:0)
中断处理程序也称为ISR,是OS中设备驱动程序的一部分。在OS中,每个irq编号表示来自中断控制器的中断线。
设备硬连线到中断控制器,如果设备中产生中断,中断控制器将向相应的CPU发出信号。中断目标CPU可在中断控制器中为每个中断线编程。
为了在硬件中共享中断号,如ARM中的GPIO,中断控制器或设备应为实际中断号提供额外的寄存器。此外,ISR应查阅该登记册以获取真实的IRQ号码。