Welcome to ErranLi's Blog!

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  106 Posts :: 1 Stories :: 97 Comments :: 0 Trackbacks

常用链接

留言簿(12)

搜索

  •  

积分与排名

  • 积分 - 172870
  • 排名 - 150

最新评论

阅读排行榜

2002-01-25· ·朱柏成··天极硬件频道

一、了解IRQ家族

  IRQ全称为Interrupt Request,即是“中断请求”的意思(以下使用IRQ称呼)。IRQ的作用就是在我们所用的电脑中,执行硬件中断请求的动作,用来停止其相关硬件的工 作状态,比如我们在打印一份图片,在打印结束时就需要由系统对打印机提出相应的中断请求,来以此结束这个打印的操作。在每台电脑的系统中,是由一个中断控 制器8259或是8259A的芯片(现在此芯片大都集成到其它的芯片内)来控制系统中每个硬件的中断控制。目前共有16组IRQ,去掉其中用来作桥接的一 组IRQ,实际上只有15组IRQ可供硬件调用。这16组IRQ的主要用途如下表:

IRQ编号

设备名称

用途

IRQ0

Time

电脑系统计时器

IRQ1

KeyBoard

键盘

IRQ2

Redirect IRQ9

与IRQ9相接,MPU-401 MDI使用该IRQ

IRQ3

COM2

串口设备

IRQ4

COM1

串口设备

IRQ5

LPT2

建议声卡使用该IRQ

IRQ6

FDD

软驱传输控制用

IRQ7

LPT1

打印机传输控制用

IRQ8

CMOS Alert

即时时钟

IRQ9

Redirect IRQ2

与IRQ2相接;可设定给其它硬件使用

IRQ10

Reversed

建议保留给网卡使用该IRQ

IRQ11

Reversed

建议保留给AGP显卡使用

IRQ12

PS/2Mouse

接PS/2鼠标,若无也可设定给其他硬件使用

IRQ13

FPU

协处理器用,例如FPU(浮点运算器)

IRQ14

Primary IDE

主硬盘传输控制用

IRQ15

Secondary Ide

从硬盘传输控制用


二、掌握IRQ家族的相处之道

  现在的 windows操作系统已经运用PNP技术,这种“即插即用”的功能可以将中断进行自动分配,大大简化了用户的操作。不过这种PNP技术也有它的弱点,那 就是如果不能认出要安装的新设备,那么自动分配中断时就会产生冲突。我们日常所用的,对于IRQ的设置也不尽相同,所以在安装新硬件的时候,系统往往并不 能自动检测正确的IRQ来分配给所用调用的硬件,这就会造成此硬件设备或是原来的旧硬件出现不能正常工作的现象。现在新的硬件产品层出不穷,各种产品又相 互兼容,功能类似,这就导致了操作系统常常不能正确检测出新设备,中断冲突也就不可避免了。其实这是因为系统自动将该硬件的IRQ分配给了其它与此IRQ 相同的硬件上,从而发生冲突使硬件不能正常工作。一般如果遇到这种情况,只要将新旧两个硬件的IRQ配置手动调开就可以解决了。手动配置IRQ时,最好检 查有无保留中断(IRQ),不要让其他设备使用该中断号,以免引起新的中断冲突,造成系统死机。

  以下使用目前比较受欢迎的KT266A主板Epox 8KHA+为例,介绍IRQ家族的和平相处之道。我从一些外国网站的论坛知道有关Epox 8KHA+在Bios 将Set PnP OS选项设定为 NO的时候,IRQ的自动配置情况:

插槽

INT--A

INT—B

INT—C

INT—D

PCI插槽1

共享

     

PCI插槽2

       

PCI插槽3

   

共享

 

PCI插槽4

     

共享

PCI插槽5

   

共享

 

PCI插槽6

     

共享

AGP插槽

共享

     

主板声卡

   

共享

 

USB控制器

     

共享



  从以上默认的IRQ自动配置可以得出以下配件最佳安装方法一览表:

配件

安装位置

默认的IRQ自动配置

AGP显卡

AGP插槽

与PCI 插槽 1共享IRQ

PCI显卡

PCI 插槽1

与AGP插槽共享IRQ

IDE RAID 卡

PCI 插槽2

独立使用IRQ(不共享IRQ)

声卡

PCI 插槽 3或插槽 5

与主板上的AC97声卡共享IRQ

网卡、内置猫

PCI 插槽 4或插槽 6

与主板上的USB控制器共享IRQ



  只要我们把配件安装正确,BIOS按照出厂时的设置,这时系统会自动设置IRQ,使得各个IRQ合理分配,使系统工作正常。

三、解决IRQ冲突

  常见的IRQ冲突现象有系统不能正确检测出新设备、有些硬件工作不正常(如声卡不发声),严重的会出现死机。这往往没有正确安装硬件或手动调整IRQ不当引起的。

  要解决中断冲突,首先我们要知道系统中冲突的设备,做法是在控制面板中双击“系统”图标,查看设备管理器中的各设备。一般有“?”和“!”的设备要注意了,有问题的设备就是它们了。解决方法有分两步做:

  第一步、先删去有“?”和“!”的设备,然单击刷新,让计算机自己再认一遍这些设备。这样做是因为部分有“?”和“!”的设备可能是驱动程序安装有误,再重装一遍或升级驱动程序可解决问题。

  第二步、如果上面一步还是不能解决问题,现在多半是中断冲突了,那我们只能手动调整来解决中断冲突。在系统=>设备管理器=>属性 中我们可以看到系 统资源分配的情况,通过查看此项就可从中了解到哪些系统资源被占用,哪些系统资源还没有用,用户做相应的调整即可(通常换另外一条插槽再手动配置IRQ, 问题就解决了)。

  以下使用Epox 8KHA+ KT266A主板为例,介绍手动配置硬件IRQ时的安装方法和最优的设置方法:

1、开机,进入CMOS设置界面,它是AWARD公司的BIOS,进入“PNP/PCI CONFIGURATION” (见图一)


图一

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值的设置一览表:

配件

安装位置

BIOS设置项

设置IRQ值

备注

AGP显卡

AGP插槽

INT-Pin1

11

 

PCI显卡

PCI 插槽1

INT-Pin1

11

不能与AGP显卡共同使用

声卡

PCI 插槽 3或插槽 5

INT-Pin2

5

不要忘记把在bios菜单中屏蔽主板自带的声卡

USB

 

INT-Pin3

9

 

网卡、内置modem

PCI 插槽 4或插槽 6

INT-Pin4

10或9

采用IRQ10比采用IRQ9快


图二


四、设置IRQ时注意的问题

  笔者的电脑在bios的设定如下:

PnP OS -> NO
Modem use IRQ -> N/A
Unika GeForce Mx200-> IRQ 11
SB live! Value -> IRQ 5
Star Internal Modem ->IRQ 10
onboard sound  ->DISABLED

game  port -> DISABLED

midi   port -> DISABLED

   但事实上在windows的系统信息中显示以下配置:

Unika GeForce Mx200 -> 11
SB Live! Value -> IRQ 10
Star Internal Modem -> IRQ 3
USB controller -> IRQ 3
ACPI -> IRQ 9

   为什么会出现这种情况呢?原来如果手动配置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)。

  一些 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 。

   另外创新的一些声卡如SBLive是需要2个IRQ,其中一个对当前的声卡的支持(IRQ 10),而另一个IRQ (IRQ 5)用于对那些仍然需要声霸卡(Sound Blaster)兼容模式的老游戏的支持。用户可以在设备管理器中,展开声音视频游戏控制器中看见Legacy Audio Drivers,双击进入看它是否占用任何IRQ,如果用户不玩老游戏(如比较旧的DOS游戏)你可以在Legacy Audio Drivers的属性框中选择禁用该设备。

五、其他技巧

1.删除设备的驱动程序,关机后将外设拔出,置重新安装,让系统重新检测。

2.如果你使用内置调制解调器,可以在bois菜单中关闭com2,这可以节省出IRQ3,供内置调制解调器使用。

3.屏蔽那些暂时不需要使用的硬件,例如USB控制器,节省出IRQ以供其他急需使用的重要设备。




posted on 2007-10-13 23:46 erran 阅读(948) 评论(0)  编辑 收藏 引用 所属分类: Others

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理