逐步认识中断请求IRQ
<P>一、了解IRQ家族<BR><BR>IRQ全称为Interrupt Request,即是“中断请求”的意思(以下使用IRQ称呼)。IRQ的作用就是在我们所用的电脑中,执行硬件中断请求的动作,用来停止其相关硬件的工作状态,比如我们在打印一份图片,在打印结束时就需要由系统对打印机提出相应的中断请求,来以此结束这个打印的操作。在每台电脑的系统中,是由一个中断控制器8259或是8259A的芯片(现在此芯片大都集成到其它的芯片内)来控制系统中每个硬件的中断控制。目前共有16组IRQ,去掉其中用来作桥接的一组IRQ,实际上只有15组IRQ可供硬件调用。这16组IRQ的主要用途如下表:<BR>
<P><STRONG>IRQ</STRONG><STRONG>编号</STRONG></P>
<P><STRONG>设备名称</STRONG></P>
<P><STRONG>用途</STRONG></P><BR>
<P>IRQ0</P>
<P>Time</P>
<P>电脑系统计时器</P>
<P>IRQ1</P><BR>
<P>KeyBoard</P>
<P>键盘</P>
<P>IRQ2</P>
<P>Redirect IRQ9</P>
<P>与IRQ9相接,MPU-401 MDI使用该IRQ</P>
<P>IRQ3</P>
<P>COM2</P><BR>
<P>串口设备</P>
<P>IRQ4</P>
<P>COM1</P>
<P>串口设备</P>
<P>IRQ5</P>
<P>LPT2</P>
<P>建议声卡使用该IRQ</P>
<P>IRQ6</P>
<P>FDD</P><BR>
<P>软驱传输控制用</P>
<P>IRQ7</P>
<P>LPT1</P>
<P>打印机传输控制用</P>
<P>IRQ8</P>
<P>CMOS Alert</P>
<P>即时时钟</P>
<P>IRQ9</P>
<P>Redirect IRQ2</P>
<P>与IRQ2相接;可设定给其它硬件使用</P>
<P>IRQ10</P>
<P>Reversed</P>
<P>建议保留给网卡使用该IRQ</P><BR>
<P>IRQ11</P>
<P>Reversed</P>
<P>建议保留给AGP显卡使用</P>
<P>IRQ12</P>
<P>PS/2Mouse</P>
<P>接PS/2鼠标,若无也可设定给其他硬件使用</P>
<P>IRQ13</P>
<P>FPU</P><BR>
<P>协处理器用,例如FPU(浮点运算器)</P>
<P>IRQ14</P>
<P>Primary IDE</P>
<P>主硬盘传输控制用</P>
<P>IRQ15</P>
<P>Secondary Ide</P>
<P>从硬盘传输控制用</P><BR>二、掌握IRQ家族的相处之道<BR><BR>现在的windows操作系统已经运用PNP技术,这种“即插即用”的功能可以将中断进行自动分配,大大简化了用户的操作。不过这种PNP技术也有它的弱点,那就是如果不能认出要安装的新设备,那么自动分配中断时就会产生冲突。我们日常所用的,对于IRQ的设置也不尽相同,所以在安装新硬件的时候,系统往往并不能自动检测正确的IRQ来分配给所用调用的硬件,这就会造成此硬件设备或是原来的旧硬件出现不能正常工作的现象。现在新的硬件产品层出不穷,各种产品又相互兼容,功能类似,这就导致了操作系统常常不能正确检测出新设备,中断冲突也就不可避免了。其实这是因为系统自动将该硬件的IRQ分配给了其它与此IRQ相同的硬件上,从而发生冲突使硬件不能正常工作。一般如果遇到这种情况,只要将新旧两个硬件的IRQ配置手动调开就可以解决了。手动配置IRQ时,最好检查有无保留中断(IRQ),不要让其他设备使用该中断号,以免引起新的中断冲突,造成系统死机。<BR><BR>以下使用目前比较受欢迎的KT266A主板Epox 8KHA+为例,介绍IRQ家族的和平相处之道。我从一些外国网站的论坛知道有关Epox 8KHA+在Bios 将Set PnP OS选项设定为 NO的时候,IRQ的自动配置情况:<BR>从以上默认的IRQ自动配置可以得出以下配件最佳安装方法一览表:<BR><BR>
<P>配件</P><BR>
<P>安装位置</P>
<P>默认的IRQ自动配置</P>
<P>AGP显卡</P>
<P>AGP插槽</P>
<P>与PCI 插槽 1共享IRQ</P>
<P>PCI显卡</P>
<P>PCI 插槽1</P>
<P>与AGP插槽共享IRQ</P>
<P>IDE RAID 卡</P>
<P>PCI 插槽2</P>
<P>独立使用IRQ(不共享IRQ)</P>
<P>声卡</P>
<P>PCI 插槽 3或插槽 5</P>
<P>与主板上的AC97声卡共享IRQ</P>
<P>网卡、内置猫</P><BR>
<P>PCI 插槽 4或插槽 6</P>
<P>与主板上的USB控制器共享IRQ</P><BR><BR>只要我们把配件安装正确,BIOS按照出厂时的设置,这时系统会自动设置IRQ,使得各个IRQ合理分配,使系统工作正常。<BR><BR>三、解决IRQ冲突<BR><BR>常见的IRQ冲突现象有系统不能正确检测出新设备、有些硬件工作不正常(如声卡不发声),严重的会出现死机。这往往没有正确安装硬件或手动调整IRQ不当引起的。<BR><BR>要解决中断冲突,首先我们要知道系统中冲突的设备,做法是在控制面板中双击“系统”图标,查看设备管理器中的各设备。一般有“?”和“!”的设备要注意了,有问题的设备就是它们了。解决方法有分两步做:<BR><BR>第一步、先删去有“?”和“!”的设备,然单击刷新,让计算机自己再认一遍这些设备。这样做是因为部分有“?”和“!”的设备可能是驱动程序安装有误,再重装一遍或升级驱动程序可解决问题。<BR><BR>第二步、如果上面一步还是不能解决问题,现在多半是中断冲突了,那我们只能手动调整来解决中断冲突。在系统=>设备管理器=>属性 中我们可以看到系统资源分配的情况,通过查看此项就可从中了解到哪些系统资源被占用,哪些系统资源还没有用,用户做相应的调整即可(通常换另外一条插槽再手动配置IRQ,问题就解决了)。<BR><BR>以下使用Epox 8KHA+ KT266A主板为例,介绍手动配置硬件IRQ时的安装方法和最优的设置方法:<BR><BR>1、开机,进入CMOS设置界面,它是AWARD公司的BIOS,进入“PNP/PCI CONFIGURATION” <BR><BR>2、将“PNP OS Installed”改为Yes,将“Resources controlled By”改为Auto,利用方向箭头和+,-符号键来设置INT Pin X(x=1,2,3,4)。在菜单左边的INT Pin X的新设置值(红色部分),在右边显示设置的设备。例如INT Pin 1设定为11,对应IRQ为11的设备(显卡)在右边帮助栏显示出来(见图二)。完成对INT Pin X的设置后保存(按F10)后重启动。启动后计算机检测正常,Windows的PNP功能会找到并且安装新硬件。.以下是手动配置硬件IRQ时的安装方法和最优IRQ值的设置一览表:<BR>
<P>配件</P><BR>
<P>安装位置</P>
<P>BIOS设置项</P>
<P>设置IRQ值</P>
<P>备注</P>
<P>AGP显卡</P>
<P>AGP插槽</P>
<P>INT-Pin1</P>
<P>11</P> 
<P>PCI显卡</P>
<P>PCI 插槽1</P>
<P>INT-Pin1</P>
<P>11</P>
<P>不能与AGP显卡共同使用</P>
<P>声卡</P>
<P>PCI 插槽 3或插槽 5</P>
<P>INT-Pin2</P>
<P>5</P>
<P>不要忘记把在bios菜单中屏蔽主板自带的声卡</P>
<P>USB</P> 
<P>INT-Pin3</P>
<P>9</P> 
<P>网卡、内置modem</P>
<P>PCI 插槽 4或插槽 6</P>
<P>INT-Pin4</P>
<P>10或9</P>
<P>采用IRQ10比采用IRQ9快</P><BR><BR>四、设置IRQ时注意的问题<BR><BR>笔者的电脑在bios的设定如下:<BR><BR>PnP OS -> NO <BR>Modem use IRQ -> N/A <BR>Unika GeForce Mx200-> IRQ 11 <BR>SB live! Value -> IRQ 5 <BR>Star Internal Modem ->IRQ 10 <BR>onboard sound  ->DISABLED<BR><BR>game  port -> DISABLED<BR><BR>midi   port -> DISABLED<BR><BR>但事实上在windows的系统信息中显示以下配置:<BR><BR>Unika GeForce Mx200 -> 11 <BR>SB Live! Value -> IRQ 10 <BR>Star Internal Modem -> IRQ 3 <BR>USB controller -> IRQ 3 <BR>ACPI -> IRQ 9<BR><BR>为什么会出现这种情况呢?原来如果手动配置INT Pin 4(控制PCI插槽4和6,并且控制主板上的USB)分配中断点9,那么当你安装支持ACPI的Windows操作系统时, PCI插槽4和6和主板上的USB控制器的实际中断点会被分配其他空闲的中断资源。因为安装时Windows默认打开ACPI功能,并且会占用IRQ 9或7 或11其中一个IRQ,通常Windows操作系统的ACPI中断点默认是9。如果关闭ACPI,你的系统会减少一点发热并可以提高3 D的性能。但如果在打开ACPI功能时一切运作正常,我建议不要改动这项设置。因为如果关闭ACPI,就不能使用即插即用功能,这时会出现Windows不能探测任何新安装的硬件,也可能会出现多个设备一起使用同一个IRQ(例如声卡,内置modem,显卡都使用IRQ 11)。<BR><BR>一些VIA KT133A 芯片主板在安装支持ACPI 的Windows 2000 或Win XP时,会使主板自带的modem(或内置modem)的IRQ自动设为 9,和ACPI功能共享中断。如果你不使用主板自带的modem或内置modem, 那么要将Modem Use IRQ" 设为 N/A (默认中断请求是3 )。你将"Integrated Peripheral \ Super IO Device\Onboard Serial Port 2"设为 DISABLED 并且在Power Management Setup\Modem Use IRQ设为DISABLED来屏蔽com1通信口 (com1的默认中断请求是3), 这样Epox 8KHA+主板(其他VIA KT266A芯片主板也一样)会根据bios里的设置而自动合理分配各个中断。这时PCI插槽4和6和主板上的USB控制器的实际中断点自动分配为3 。<BR><BR>另外创新的一些声卡如SBLive是需要2个IRQ,其中一个对当前的声卡的支持(IRQ 10),而另一个IRQ (IRQ 5)用于对那些仍然需要声霸卡(Sound Blaster)兼容模式的老游戏的支持。用户可以在设备管理器中,展开声音视频游戏控制器中看见Legacy Audio Drivers,双击进入看它是否占用任何IRQ,如果用户不玩老游戏(如比较旧的DOS游戏)你可以在Legacy Audio Drivers的属性框中选择禁用该设备。<BR><BR>五、其他技巧<BR><BR>1.删除设备的驱动程序,关机后将外设拔出,置重新安装,让系统重新检测。<BR><BR>2.如果你使用内置调制解调器,可以在bois菜单中关闭com2,这可以节省出IRQ3,供内置调制解调器使用。<BR><BR>3.屏蔽那些暂时不需要使用的硬件,例如USB控制器,节省出IRQ以供其他急需使用的重要设备。
相关资讯