IRQ
是“Interrupt Request”的缩写。
IRQ 是发送到计算机 CPU 的硬件信号,告诉 CPU 停止当前操作,改为运行优先级更高的 进程。硬件设备如(网卡、存储控制器和键盘)需要提醒 CPU 有新信息要处理时,就会发送 IRQ。例如,用户每按下一次按键,计算机的键盘都会发送一个 IRQ,让 CPU 立即处理这次按键操作。
每个能够发送 IRQ 的组件都会由操作系统分配一个 IRQ 地址。早期的 PC 总共只能支持 16 个 IRQ 地址,这意味着一些组件必须共享地址。当两个设备同时尝试发送 IRQ 时,共享地址经常会导致冲突和崩溃。例如,计算机通常会将 IRQ 地址 7 同时分配给声卡和打印机端口;如果两个设备同时发送 IRQ,就会使系统冻结。现代计算机支持数百个 IRQ 通道,因此 IRQ 冲突现在极其罕见。
所有 IRQ 都会经过专用的中断控制器。该控制器接收传入的中断、确定它们的优先级,然后将其传递给 CPU。在现代计算机中,CPU 使用多个处理器核心,每个核心都有自己的中断控制器(称为高级可编程中断控制器(APIC))。主板的芯片组包含一个配套控制器称为 (I/O APIC),用于接收来自其他硬件设备的传入中断请求,并将这些请求分配给多个核心进行处理。
测试你的知识