Chinaunix首页 | 论坛 | 博客
  • 博客访问: 182212
  • 博文数量: 48
  • 博客积分: 4060
  • 博客等级: 上校
  • 技术积分: 1080
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-23 23:24
文章分类

全部博文(48)

文章存档

2011年(1)

2010年(8)

2009年(2)

2008年(37)

我的朋友

分类:

2010-04-13 10:50:32

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(中断要求),可能很多人都有种畏难情绪。当然,对于DOS时代就涉足电脑的DIY高手或是使用电脑已有一段日子的用户来说,IRQ早已经是驾轻就熟的东西。而能够自动配置IRQ的Windows操作系统的兴起,使以往考倒不少人的IRQ冲突问题如今也很少出现。
不过,这并不代表问题永远不会出现。因此,笔者在本文中就与大家共同探讨IRQ的设置方法。当大家充分认识IRQ后,掌握电脑的所有设定便更加容易,用起来也更加轻松。
一、什么是IRQ
IRQ的全称是“Interupt ReQuest”,即“中断要求”。当电脑内的周边硬件需要处理器去执行某些工作时,该硬件就会发出一个硬件信号,通知处理器工作,而这个信号就是IRQ。那为什么叫做“中断”呢?“中断”的意思是即使处理器正在执行其他工作,当它收到周边设备传来的中断信号时,处理器也会停下来,优先处理这个信号代表的工作,完成后再继续处理之前未完成的工作。
二、什么是IRQ冲突
IRQ的数目有限,一部电脑虽然一共有16个IRQ(从IRQ0至IRQ15),但是其中很多IRQ已经预先分配给特定的硬件,具体如下:
• IRQ0:系统计时器
• IRQ1:键盘
• IRQ2:可设置中断控制卡
• IRQ3:COM2(串行接口2)
• IRQ4:COM1(串行接口1)
• IRQ5:未预先配置
• IRQ6:磁盘机
• IRQ7:并行接口
• IRQ8:CMOS/时钟
• IRQ9:未预先配置
• IRQ10:未预先配置
• IRQ11:未预先配置
• IRQ12:PS/2鼠标
• IRQ13:算术处理器(Arithmetic Processor)
• IRQ14:Primary(主)IDE控制器
• IRQ15:Secondary(从)IDE控制器
由上可见,IRQ5、IRQ9、IRQ10和IRQ11都是空置的。但大家不要以为这就代表着有多余的IRQ可以使用。因为要使用IRQ的周边设备实在是太多了,例如声卡、网卡等PCI或ISA设备都需要配置一个IRQ。如果有两个设备配置了同一个IRQ的话,就会出现IRQ冲突的问题,从而使两者都不能正常工作。
三、遇到IRQ冲突怎么办?
大家可能会问,一般主板都有四根或更多PCI插槽。如果全都插上PCI扩展卡,那四个空置的IRQ又怎么够用呢?
其实,某些硬件是可以共用一个IRQ的,而有些却又偏偏不行。例如PCI声卡需要独自享用一个IRQ,有时甚至需要两个,一个作MIDI(迷笛),一个作Wave(波表)。因此当系统自动分配IRQ时,若声卡被分配与其他设备共用一个IRQ的话,发生IRQ冲突的可能性极大,而解决之道就是手动分配IRQ,在BIOS内进行设置。
四、实例示范
假设一块主板上有五根PCI插槽,现在五根插槽全部插满了(包括MODEM卡、网卡、声卡、电视卡等等)。但无论将声卡插在任何一根PCI插槽内,都无法正常工作。解决步骤如下:
1、查看主板说明书,找出哪一根PCI插槽是不与其他插槽共用IRQ的(一般是第三根插槽),然后将声卡插到第三根PCI插槽中。同时,由于第一和第五根PCI插槽需共用IRQ,我们还应检查插在上面的硬件设备及其驱动程序是否支持共用IRQ。
2、启动电脑,进入BIOS,开启“Advanced”一栏最底下的“PCI Configuration”。
3、在“PCI Configuration”设置页面的上半部分有一项“Slot 3 IRQ”,它就是第三根PCI插槽所分配的IRQ位置。系统默认为“Auto”(自动)。
4、将光标移到“Slot 3 IRQ”一行上按回车键,画面会显示“0-15”的数字。这时用户可选择四个空闲中断(IRQ5、IRQ9、IRQ10或IRQ11)的任一个,这里笔者选择“IRQ10”。
5、再为其他的Slot插槽设置其他的IRQ。例如Slot 1/5的IRQ设置成“IRQ3”、Slot 2 IRQ设置为“IRQ9”,Slot 4设置为“IRQ11”等。
6、此外,如果你使用的主板集成有老一代的ISA插槽的话,还要在“PCI IRQ Resource Exclusion”选项中,对个别的ISA总线硬件所需的IRQ进行更改设置。
7、完成设置后选择保存设置并重新启动电脑,就可以向烦人的IRQ冲突说BYEBYE啦。

第二份
I/O地址是“输入/输出地址”的简称,亦称为“口地址”或“硬件地址”,主要用于外设和CPU之间的通信。一般的计算机寻址只能从000到3FF的64K I/O地址空间。由于I/O地址允许CPU和外设分别通信,而且CPU也需要用I/O地址来确认外设,因此一个外设只能对应一个I/O地址。例如,串行口COM1的I/O地址范围为3F8—3FF,共占用了8个I/O地址,其中一个地址保存接收的数据,一个地址保存将要发送的数据,还有的地址用来判断一些状态信息,也有一些一直是空闲的(因为将地址设为8个地址或16个地址是最简单的,所以很多不需要那么多I/O地址的设备都被设置成了8个或16个地址)。  
1.I/O地址冲突的原因  
PC机中的每一个硬件都有惟一与之对应的I/O地址。CPU正是通过这种一一对应的I/O地址,才能正确地辨认出每个外设。但是,如果有两个或以上的外设被设置成相同的I/O地址,那么CPU发出的信息送到对应的I/O地址时,一方面有些外设并不能处理和响应这个信息,另一方面由于一个I/0地址对应了多个外设,从而导致CPU发出的信息被分成许多路,传输到每个外设的信息强度都不足以使外设做出反应,因此就使得所有使用了错误I/O地址的外设都不能被使用。  
2.常见的I/O地址用法  
既然I/O地址对于PC机来说这么重要,那么我们使用I/O地址前,就应该了解有哪些I/O地址是可用,其它的一些I/O地址正在做些什么,以避免发生错误。  
3.解决I/O地址冲突的方法  
如果错误设置了I/O地址导致I/O地址冲突,则发生冲突设备不可用。对于Windows98的用户来说,可以通过启用安全模式进入系统,然后打开“控制面板”、“系统”,查看标有黄色的“!”的设备;选中该设备,单击窗口下的“属性”,从“资源”列表查看Windows98给出的提示,单击“输入/输出范围”对其进行更改,直到Windows98显示“无冲突设备”时再确定退出即可。对于DOS用户来说,如果I/O地址发生冲突,往往不能启动计算机,此时可用软盘进行引导,重新设置(一般都是最后一次安装的外设与其它外设间发生I/O地址冲突)I/O地址,直至不再冲突。  
需要注意的是,对于许多系统已经定义好的设备来说,它们往往只允许有一个固定的I/O地址。如COM1的精确定义中规定,它使用的I/O地址为3F8—3FF。如果用户对其进行了更改,那么COM1就不能再作为COM1使用。因此,对于系统默认的固有设备,不应改动其I/O地址。

IRQ冲突

     IRQ是“中断请求”的简称。如果CPU需要获取数据,那么它必须将此请求送到I/O地址1然后等待外设返回所需数据,在等待的这段时间里,CPU实际上处于空闲状态。为了高效利用CPU,人们设计了一种在外设与CPU之间运行的电路,称之为中断请求或IRQ。这样CPU在向外设发出请求后,可以继续处理别的数据,外设准备好数据后,通过中断来“通知”CPU,CPU立刻将当前工作“挂起”,在处理完外设的数据后,再返回到被中断前的工作。如果有两个或以上的中断请求同时发生,那么中断号较小的请求会优先得到处理,称为优先级。

     同I/O地址一样,IRQ也必须是一一对应的。如果有两个或两个以上外设同时使用了同一个IRQ设置,它们就会发生冲突,都将会不可用。

     一般来说,在PC机中,中断号的分配是:

     0一系统时钟(不可用);

     1一键盘(不可用);

     2一系统的第二个中断请求控制器(IRQ9-15);

     3一串行口2(可用);

     4一串行口1(可用);

     5一并行口2(可用)(一般用来设置声卡);

     6一软盘(不可用);

     7一并行口l(一般用作打印机);

     8一实时时钟(不可用);

     9一可用;

     10一可用;

     11一常用于显卡;

     12一PS/2 mouse:

     13一数学协处理器;

     14一IDEl控制器通道;

     15一IDE2控制器通道(可用)。

     由上面列出的IRQ用法可以看见,目前为止我们能用到的外设IRQ值基本上都是确定的,而且Windows 9x也能自动配置外设的IRQ值。因此Windows 9x的用户只需让操作系统自动侦测,一般都可以正确进行分配。一旦出现冲突,只需按调整I/O地址的方法对IRQ进行调整即可,Windows 9x会自动列出外设可使用的所有中断号以供选择。

     以下技巧是解决IRQ冲突或是进行IRQ设置的关键:

     1、任何情况下都不要使用中断2,因为它是中断8~1 5的统一入口。

     2、尽量使用中断5、1 0、11、1 5,因为这几个中断是最安全的。

     3、如果用户为外设设置了中断9,那么必须要更改I/O地址。从Windows 9x设备属性中的资源项中,将其“基本配置”设为0002,因为中断2和中断9在优先级上是一致的,只有选择了基本配置0002,才能保证声卡不和其他使用了中断8~1 5的外设发生冲突。
阅读(1848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~