irq全称为中断请求,也称中断线。irq线是指用于处理计算机硬件设备发生中断事件时的信号通道。中断是指计算机CPU在执行程序时遇到硬件设备发来的请求,如外设设备请求 I/O 操作、定时器请求、键盘鼠标请求等,此时 CPU 需要停下当前操作,先去处理这个事件,处理完这个事件再回到原来的操作。
irq线是用于表示外设请求中断,而不是传输数据的线路。它的目的是在设备发生强制要求处理请求时,把处理器控制权转移到该设备需要处理的程序上,以进行必要的响应和处理,然后再向原来程序返回控制权。
通常情况下,中断线可以分为硬件中断线和软件中断线。硬件中断请求线是由硬件设备携带的(如PCI的INTA#~INTD#,ISA的IRQ1~IRQ15,USB控制器的USB0~USB7等),而软中断线是由软件(如操作系统)激发的虚拟中断,由系统自由分配,可以认为是一种软件发出的硬件中断。
此外,还有针对CPU多核心的APIC中断线和IOAPIC中断线。APIC不仅仅提供了针对不同CPU核心的中断信号服务,还可以提供更丰富的中断信号。
当硬件设备需要中断处理时,发送中断请求信号给中断控制器 PIC。PIC根据硬件设备发出的信号中的电平变化来确定中断处理的请求类型。根据不同类型的中断请求,PIC还会向CPU发出相应的IRQ信号,并启动相应的中断服务程序以响应中断请求。在中断服务程序执行完毕后,CPU恢复程序的执行。
irq线的作用是让硬件设备能够与CPU进行通信。如果没有irq线,CPU将不能及时响应来自硬件设备的请求,而需要等待程序的执行结束后才能进行响应,这无疑会降低计算机系统的性能。
irq线还能够保障系统的稳定性。当硬件设备需要向CPU发出请求时,irq线能够快速、准确地将请求信息传递给CPU,尽快地进行处理,从而保证计算机系统的稳定运行。