知识扩展——IRQ

现代计算机系统中,IRQ冲突的情况几乎不会出现。不过对其了解,可以更好的理解计算机的工作原理。

IRQ 为 Interrupt ReQuest的缩写,中文可译为中断请求。因为计算机中每个组成组件都会拥有一个独立的IRQ,除了使用PCI总线的PCI卡之外,每一组件都会单独占用一个 IRQ,且不能重复使用。

由于在计算机运行中,CPU是持续处于忙碌状态,而当硬件接口设备开始或结束收发信息,需要CPU处理信息运算时,便会透过IRQ对CPU送出中断请求讯号,让CPU储存正在进行的工作,然后暂停手边的工作,先行处理周边硬件提出的需求,这便是中断请求的作用。

在 每个系统中会有两颗芯片来提供16个IRQ,其中大多的IRQ都有固定的编排,例如 IRQ 0固定为系统定时器,IRQ 1则是键盘。因为每一个IRQ只能让一种设备使用,所以IRQ数目十分有限,若计算机安装很多的配件,IRQ势必就会不够使用,所以可能会发生两个设备共占同一个IRQ的现象,此时也就会出现IRQ冲突问题,造成该设备无法使用。

最简单的解决方法就是到操作系统的硬件设备管理器中去手动调整IRQ的分配,或是在BIOS中作调整。如果是IRQ不够使用的情形,可以利用其它的方式来解决此一窘境,像是PCI总线可以共享一个IRQ,所以基本上可以采取PCI插卡的方式,就不会被IRQ 所限制。其次是使用USB传输来解决,因为USB控制芯片只会占用一个IRQ,并非所有的USB产品都要独占一个IRQ,所以理论上可以连结最多到127 件周边产品,而且目前拥有USB传输界面的产品也越来越普遍了。所以对于传输速度要求不高的周边设备,未来大概将逐渐朝USB接口发展。

标准IRQ设置:

IRQ0:系统计时器

IRQ1:键盘

IRQ2:可设置中断控制卡

IRQ3:COM2(串行接口2)

IRQ4:COM1(串行接口1)

IRQ5:未预先配置

IRQ6:磁盘机

IRQ7:并行接口

IRQ8:CMOS/时钟

IRQ9:未预先配置

IRQ10:未预先配置

IRQ11:未预先配置

IRQ12:PS/2鼠标

IRQ13:算术处理器(ArithmeticProcessor)

IRQ14:Primary(主)IDE控制器

IRQ15:Secondary(从)IDE控制器

如今的主板都支持APIC,其IRQ可以超过16,甚至多个设备可以共享同一个IRQ。

关于APIC,非ACPI

在拥有多个PCI设备的主机的系统资源中,IRQ(中断请求)分配不足的问题是我们经常会遇到的。也就是我们通常看到的IRQ冲突或N/A之类的问题。而在操作系统中,IRQ是由ACPI(高级配置和电源接口,也称为PIC-可编程中断控制器)或APIC(高级可编程中断控制器)来控制的。

大多数Pentium3或者Pentium4主板BIOS的电源管理类设置中有一个名为APIC Function(高级可编程中断控制器功能)的选项,可将该项设为Enable(开启)或Disable(关闭)。当设为Disable时即使用通常的ACPI模式。下面我们就一起来看看ACPI(PIC)和APIC模式之间的区别。

从IRQ的配置来讲,在主机系统资源中,ACPI(PIC)模式只能提供最多16个IRQ,而APIC则可以提供更多的可用IRQ数量。APIC在多处理器环境下负责将中断讯号传送给单一处理器。它可以使IRQ 配置更为充足(最多可提供24个IRQ),不再受限于传统IRQ只能达到16个的限制。

当然,在单处理器环境下APIC也是适用的。这样一来,如果在ACPI模式下系统无法正确识别新添加的设备。那么可以试试使用APIC模式,在大多数情况下此类问题应能顺利地得到解决。但若要使用APIC模式,包括主板BIOS选项、操作系统等还需要进行设置和重新安装。

首先要说的是,APIC功能在Windows 98 SE或Windows ME操作系统下是不起任何作用的。也就是说,就算你将BIOS选项设置正确也重新安装了Windows 98 SE或Windows ME操作系统,也无法解决其不能正确识别新设备的问题。

要使用APIC功能,必须选用Windows 2000或XP或NT 4.0等操作系统。当然,必须先Enable主板BIOS中的APIC选项并重新安装操作系统后,APIC模式才能真正发挥作用(朋友们的新设备才能被正 确识别)。

当Enable APIC后,必须重新安装操作系统,才能使APIC正常工作。在安装完操作系统后,请勿更改APIC选项。无论是Enable或是Disable,此行为将会导致操作系统无法正确启动或运行。系统若处于通常的ACPI(PIC)模式时,在Windows操作系统的设备管理器的Computer项中,其会显示为Advanced Configuration and Power Interface (ACPI)PC。

若是正确启动了APIC功能,那么在设备管理器的Computer项中,其就会被识别为ACPI Uniprocessor PC。

LPI 101 考试准备: 硬件和体系结构——基本BIOS设置

1.101.1 基本 BIOS 配置(权重为 1) 能够通过正确设置BIOS来配置基本的X86系统硬件。
关键知识:
    会激活或者禁止集成的外设
    使用或不使用像键盘这样的外部设备进行配置
    能正确的设置由BIOS管理的IRQ、DMA和I/O地址以及错误句柄(error handling)

部分关键文件、术语和工具包括:
    /proc/ioports
    /proc/interrupts
    /proc/dma
    /proc/pci

IBM developerWorks 中国教程:

http://www.ibm.com/developerworks/cn/views/linux/tutorials.jsp?cv_doc_id=93993

知识扩展——IRQ