标题: 认识并熟练掌握“IRQ(中断请求)”
[打印本页]
作者: yiyesong
时间: 2002-11-18 00:00
标题: 认识并熟练掌握“IRQ(中断请求)”
对于大多数DIY高手来说,电脑的IRQ设置是“轻而易举”的事情。但对于一些初涉此道的“菜鸟”朋友,如何熟悉、掌握它们,还要经过一个了解→熟悉→掌握的过程。我们这篇文章就是希望能够帮助您认识IRQ并且熟练地掌握它们。
什么是IRQ
IRQ全称为Interrupt Request,即“中断请求”的意思(以下使用IRQ称呼)。IRQ的作用就是在我们所用的电脑中,执行硬件中断请求的动作,用来停止其相关硬件的工作状态。
我们可以举一个日常事例来说明,假如你正在给朋友写E-mail,突然电话铃响了,那么你就需要放下手中的笔去接电话,通话完毕后再继续写信。这个例子就体现了中断及其处理的过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情——接电话,当接完电话后,再回过头来继续原来的工作。在这个例子中,电话铃声就可称为“中断请求”,而你暂停写信去接电话的动作就是“中断响应”,接电话的过程则是“中断处理”。
在使用电脑的过程中,每当我们按一下键盘上的按键,就会产生一个键盘中断信号,CPU就要停下正在处理的工作来处理这个信号,记录下刚才是哪个键被按下了,如果按下的这个键对应于某一个操作,就要优先进行这个操作,然后再处理按键前的工作。如果这时键盘同其他硬件设备的中断有冲突(即键盘和另外一个硬件设备共用一个中断,这种情况好比家中有两部电话放在一起,但其振铃声调却完全一样,这样,必然造成接电话时不知该接哪一部的混乱状态),那么计算机就无法判断刚刚到达的信号是来自键盘的还是来自其他硬件设备的,因此就可能会引发出一些问题。可见“IRQ”在计算机应用中的重要性,因此将中断合理分配,让它们之间没有冲突,是保证电脑稳定运行的关键问题之一。
认识IRQ
计算机中的中断根据信号产生的来源可分为:硬件中断和软件中断。硬件中断多由外围设备和计算机系统控制器发出,软件中断一般由软件命令产生。在硬件中断中又有“可屏蔽中断”和“不可屏蔽中断”之分。顾名思义,可屏蔽中断可以由计算机根据系统的需要来决定是否进行接收处理或是延后处理(即屏蔽);而不可屏蔽中断便是直接激活相应的中断处理程序,它不能也不会被延误,我们常说的IRQ中断就是可屏蔽的硬件中断。
IRQ分配表
中断0
系统计时器
中断1
键盘
中断2
可编程中断控制器
中断3
com2
中断4
com1
中断6
软盘控制器
中断7
并口1
中断8
系统cmos/时钟
中断12
ps/2鼠标
中断13
数学协处理器
中断14
第一ide控制器
中断15
第二ide控制器
在以前的电脑系统中,各硬件的IRQ是由一个中断控制器8259或是8259A的芯片(现在此芯片大都集成到其他的芯片内)来进行控制的。目前共有16组IRQ,去掉其中用来做桥接的一组IRQ,实际上只有15组IRQ可供硬件调用。而这些IRQ都有自己建议的配置(见IRQ分配表)。
从上表中我们可以看到,只有5、9、10、11共4个中断没有被占用,可以给用户用做新添硬件设备使用,其中显卡要独占一个中断,声卡一般来说也会占用两个中断,它们分别用于MIDI接口和WAVE的播放。
现在的Windows操作系统已经运用PNP技术,这种“即插即用”的功能可以将IRQ进行自动分配,大大简化了用户的操作。不过这种PNP技术也有它的弱点,就是如果操作系统不能正确识别出要安装的新设备,那么自动分配IRQ时就可能会和其他硬件设备产生冲突。遇到这种情况,只要将新旧两个硬件的IRQ配置手动调开就可以解决了。